DirectoryDifferenceViewApplication.st
author Claus Gittinger <cg@exept.de>
Fri, 09 Aug 2019 17:22:23 +0200
changeset 18978 ff91b0569f14
parent 18594 c0508c7f1fcb
child 18980 9a7a39ce4d6f
permissions -rw-r--r--
#FEATURE by exept class: DirectoryDifferenceViewApplication filters class definition added: #excludedDirectoryNamePatternHolder #generateResultStringForTimeElapsed: #ignoreCaseInDirectoryNameHolder #ignoreCaseInExcludedDirectoryNameHolder #ignoreCaseInExcludedNameHolder #ignoreCaseInNameHolder changed: #doSearch class: DirectoryDifferenceViewApplication class added: #documentation #examples changed: #helpSpec #windowSpec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
     1
"{ Encoding: utf8 }"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
     2
13818
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     3
"
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     4
 COPYRIGHT (c) 2006 by eXept Software AG
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     5
              All Rights Reserved
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     6
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     7
 This software is furnished under a license and may be used
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     8
 only in accordance with the terms of that license and with the
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    10
 be provided or otherwise made available to, or used by, any
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    11
 other person.  No title to or ownership of the software is
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    12
 hereby transferred.
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    13
"
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ Package: 'stx:libtool' }"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
15245
824d31e08f0f class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 14500
diff changeset
    16
"{ NameSpace: Smalltalk }"
824d31e08f0f class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 14500
diff changeset
    17
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
AbstractFileFinderApplicationComponent subclass:#DirectoryDifferenceViewApplication
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	instanceVariableNames:'directory1Holder directory2Holder directory1 directory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		filesOnlyInDirectory1 filesOnlyInDirectory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
		filesWhichAreDifferent directoriesOnlyInDirectory1
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    22
		directoriesOnlyInDirectory2 namePatternHolder
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    23
		excludedNamePatternHolder excludedDirectoryNamePatternHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    24
		ignoreCaseInNameHolder ignoreCaseInExcludedNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    25
		ignoreCaseInExcludedDirectoryNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    26
		ignoreCaseInDirectoryNameHolder filesSkippedCount
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    27
		directoriesSkippedCount'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	classVariableNames:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	poolDictionaries:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	category:'Interface-Tools-File'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
13818
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    33
!DirectoryDifferenceViewApplication class methodsFor:'documentation'!
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    34
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    35
copyright
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    36
"
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    37
 COPYRIGHT (c) 2006 by eXept Software AG
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    38
              All Rights Reserved
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    39
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    40
 This software is furnished under a license and may be used
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    41
 only in accordance with the terms of that license and with the
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    42
 inclusion of the above copyright notice.   This software may not
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    43
 be provided or otherwise made available to, or used by, any
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    44
 other person.  No title to or ownership of the software is
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    45
 hereby transferred.
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    46
"
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    47
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    48
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    49
documentation
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    50
"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    51
    documentation to be added.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    52
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    53
    class:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    54
        <a short class summary here, describing what instances represent>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    55
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    56
    responsibilities:    
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    57
        <describing what my main role is>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    58
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    59
    collaborators:    
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    60
        <describing with whom and how I talk to>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    61
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    62
    API:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    63
        <public api and main messages>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    64
        
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    65
    example:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    66
        <a one-line examples on how to use - can also be in a separate example method>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    67
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    68
    implementation:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    69
        <implementation points>
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    70
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    71
    [author:]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    72
        exept MBP
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    73
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    74
    [instance variables:]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    75
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    76
    [class variables:]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    77
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    78
    [see also:]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    79
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    80
"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    81
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    82
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    83
examples
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    84
"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    85
 Notice that everything between [exBegin] and [exEnd] is extracted by the html-doc generator
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    86
 to create nicely formatted and clickable executable examples in the generated html-doc.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    87
 (see the browser's class-documentation menu items for more)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    88
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    89
 opening the application:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    90
                                                        [exBegin]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    91
    DirectoryDifferenceViewApplication open
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    92
                                                        [exEnd]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    93
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    94
 opening the application on some model:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    95
                                                        [exBegin]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    96
    DirectoryDifferenceViewApplication openOn:aModel
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    97
                                                        [exEnd]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
    98
"
13818
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
    99
! !
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   101
!DirectoryDifferenceViewApplication class methodsFor:'help specs'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   102
17912
5799809770ab #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17708
diff changeset
   103
helpSpec
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   104
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   105
     by the UIHelpTool of ST/X."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   106
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   107
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   108
     the UIHelpTool may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   109
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   110
    "
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   111
     UIHelpTool openOnClass:DirectoryDifferenceViewApplication
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   112
    "
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   113
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   114
    <resource: #help>
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   115
17912
5799809770ab #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 17708
diff changeset
   116
    ^ super helpSpec addPairsFrom:#(
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   117
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   118
#excludedDirectoryNamePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   119
'Directory name(s) to skip.\Can be matchPatterns, separated by ";"'
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   120
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   121
#excludedNamePattern
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   122
'File name(s) to skip.\Can be matchPatterns, separated by ";"'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   123
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   124
#ignoreCaseInExcludedDirectoryName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   125
'Ignore case in directory name exclude pattern(s)'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   126
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   127
#ignoreCaseInExcludedName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   128
'Ignore case in file name exclude pattern(s)'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   129
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   130
#ignoreCaseInName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   131
'Ignore case in file name pattern(s)'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   132
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   133
#namePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   134
'Filename(s) to search for.\Can be matchPatterns, separated by ";".\(eg. "*.c ; *.h" searches for C and header files. So does "*.[ch]")'
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   135
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   136
#searchDirectory1
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   137
'The first folder, to be compared against folder2'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   138
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   139
#searchDirectory2
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   140
'The second folder, to be compared against folder1'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   141
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   142
)
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   143
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   144
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
!DirectoryDifferenceViewApplication class methodsFor:'interface specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
     by the UIPainter of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
     the UIPainter may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
     UIPainter new openOnClass:DirectoryDifferenceViewApplication andSelector:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
     DirectoryDifferenceViewApplication new openInterface:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
     DirectoryDifferenceViewApplication open
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
    <resource: #canvas>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    ^ 
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   163
    #(FullSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   164
       name: windowSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   165
       uuid: '523f01a8-baab-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   166
       window: 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   167
      (WindowSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   168
         label: 'Directory Diff'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   169
         name: 'Directory Diff'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   170
         uuid: '09a5b9c0-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   171
         min: (Point 377 131)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   172
         bounds: (Rectangle 0 0 758 512)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   173
      )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   174
       component: 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   175
      (SpecCollection
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   176
         collection: (
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   177
          (MenuPanelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   178
             name: 'ToolBar1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   179
             layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   180
             uuid: '09a5bd8a-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   181
             level: 0
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   182
             menu: searchMenu
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   183
             textDefault: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   184
          )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   185
          (ProgressIndicatorSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   186
             name: 'ProgressIndicator1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   187
             layout: (LayoutFrame 125 0 11 0 231 0 21 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   188
             uuid: '09a5c06e-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   189
             visibilityChannel: enableStop
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   190
             backgroundColor: (Color 0.0 67.0 67.0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   191
             showPercentage: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   192
             isActivityIndicator: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   193
          )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   194
          (ViewSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   195
             name: 'Box1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   196
             layout: (LayoutFrame 0 0.0 32 0 0 1.0 154 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   197
             uuid: '09a5c2d0-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   198
             component: 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   199
            (SpecCollection
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   200
               collection: (
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   201
                (LabelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   202
                   label: 'Directory1:'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   203
                   name: 'DirectoryLabel'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   204
                   layout: (LayoutFrame 2 0 7 0 154 0 24 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   205
                   activeHelpKey: searchDirectory1
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   206
                   uuid: '09a5c42e-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   207
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   208
                   adjust: right
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   209
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   210
                (FilenameInputFieldSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   211
                   name: 'DirectoryEntryField'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   212
                   layout: (LayoutFrame 156 0 4 0 0 1 24 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   213
                   activeHelpKey: searchDirectory1
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   214
                   uuid: '09a5c67c-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   215
                   model: directory1Holder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   216
                   immediateAccept: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   217
                   acceptOnPointerLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   218
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   219
                (LabelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   220
                   label: 'Directory2:'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   221
                   name: 'Label2'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   222
                   layout: (LayoutFrame 2 0 31 0 154 0 48 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   223
                   activeHelpKey: searchDirectory2
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   224
                   uuid: '09a5ca00-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   225
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   226
                   adjust: right
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   227
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   228
                (FilenameInputFieldSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   229
                   name: 'FilenameEntryField1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   230
                   layout: (LayoutFrame 156 0 28 0 0 1 48 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   231
                   activeHelpKey: searchDirectory2
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   232
                   uuid: '09a5cb40-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   233
                   model: directory2Holder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   234
                   immediateAccept: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   235
                   acceptOnPointerLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   236
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   237
                (LabelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   238
                   label: 'Compare Files Named:'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   239
                   name: 'FileNameLabel'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   240
                   layout: (LayoutFrame 2 0 55 0 154 0 72 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   241
                   activeHelpKey: namePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   242
                   uuid: '09a5ccda-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   243
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   244
                   adjust: right
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   245
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   246
                (InputFieldSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   247
                   name: 'FileNameEntryField'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   248
                   layout: (LayoutFrame 156 0 52 0 -180 1 72 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   249
                   activeHelpKey: namePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   250
                   uuid: '09a5cdf2-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   251
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   252
                   model: namePatternHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   253
                   immediateAccept: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   254
                   acceptOnLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   255
                   acceptOnPointerLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   256
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   257
                (CheckBoxSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   258
                   label: 'Ignore Case'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   259
                   name: 'IgnoreCaseInNameCheckBox'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   260
                   layout: (LayoutFrame -169 1 53 0 -4 1 76 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   261
                   activeHelpKey: ignoreCaseInName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   262
                   uuid: '09a5cfb4-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   263
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   264
                   model: ignoreCaseInNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   265
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   266
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   267
                (LabelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   268
                   label: 'But Not Named:'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   269
                   name: 'Label1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   270
                   layout: (LayoutFrame 2 0 79 0 190 0 96 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   271
                   activeHelpKey: excludedNamePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   272
                   uuid: '09a5d16c-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   273
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   274
                   adjust: right
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   275
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   276
                (InputFieldSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   277
                   name: 'EntryField1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   278
                   layout: (LayoutFrame 190 0 76 0 -180 1 96 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   279
                   activeHelpKey: excludedNamePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   280
                   uuid: '09a5d284-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   281
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   282
                   model: excludedNamePatternHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   283
                   immediateAccept: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   284
                   acceptOnLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   285
                   acceptOnPointerLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   286
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   287
                (CheckBoxSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   288
                   label: 'Ignore Case'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   289
                   name: 'CheckBox1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   290
                   layout: (LayoutFrame -169 1 77 0 -4 1 100 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   291
                   activeHelpKey: ignoreCaseInExcludedName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   292
                   uuid: '09a5d414-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   293
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   294
                   model: ignoreCaseInExcludedNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   295
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   296
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   297
                (LabelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   298
                   label: 'Ignore Folders Named:'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   299
                   name: 'Label3'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   300
                   layout: (LayoutFrame 2 0 103 0 190 0 120 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   301
                   activeHelpKey: excludedDirectoryNamePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   302
                   uuid: '09a5d518-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   303
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   304
                   adjust: right
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   305
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   306
                (InputFieldSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   307
                   name: 'EntryField2'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   308
                   layout: (LayoutFrame 190 0 100 0 -180 1 120 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   309
                   activeHelpKey: excludedDirectoryNamePattern
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   310
                   uuid: '09a5d63a-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   311
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   312
                   model: excludedDirectoryNamePatternHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   313
                   immediateAccept: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   314
                   acceptOnLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   315
                   acceptOnPointerLeave: false
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   316
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   317
                (CheckBoxSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   318
                   label: 'Ignore Case'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   319
                   name: 'CheckBox2'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   320
                   layout: (LayoutFrame -169 1 101 0 -4 1 124 0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   321
                   activeHelpKey: ignoreCaseInExcludedDirectoryName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   322
                   uuid: '09a5d7d4-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   323
                   tabable: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   324
                   model: ignoreCaseInExcludedDirectoryNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   325
                   translateLabel: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   326
                )
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
            )
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   329
          )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   330
          (VariableVerticalPanelSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   331
             name: 'VariableVerticalPanel1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   332
             layout: (LayoutFrame 0 0.0 164 0 0 1.0 0 1)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   333
             uuid: '09a5d914-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   334
             component: 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   335
            (SpecCollection
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   336
               collection: (
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   337
                (DataSetSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   338
                   name: 'Table1'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   339
                   uuid: '09a5daa4-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   340
                   model: selectionHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   341
                   hasHorizontalScrollBar: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   342
                   hasVerticalScrollBar: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   343
                   dataList: matchedFilesList
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   344
                   doubleClickSelector: fileDoubleClick:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   345
                   columnHolder: searchResultTable
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   346
                   valueChangeSelector: fileSelected:
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   347
                   multipleSelectOk: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   348
                )
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   349
                (ArbitraryComponentSpec
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   350
                   name: 'DiffTextView'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   351
                   uuid: '09a5deaa-baa9-11e9-a284-10ddb1cc5928'
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   352
                   hasHorizontalScrollBar: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   353
                   hasVerticalScrollBar: true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   354
                   component: DiffTextView
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   355
                )
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
            )
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   358
             handles: (Any 0.5 1.0)
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   359
          )
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
      )
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   362
    )
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   365
!DirectoryDifferenceViewApplication class methodsFor:'menu specs'!
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   366
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   367
searchMenu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   368
    "This resource specification was automatically generated
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   369
     by the MenuEditor of ST/X."
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   370
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   371
    "Do not manually edit this!! If it is corrupted,
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   372
     the MenuEditor may not be able to read the specification."
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   373
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   374
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   375
    "
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   376
     MenuEditor new openOnClass:FindFileApplication andSelector:#searchMenu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   377
     (Menu new fromLiteralArrayEncoding:(FindFileApplication searchMenu)) startUp
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   378
    "
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   379
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   380
    <resource: #menu>
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   381
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   382
    ^ 
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   383
     #(Menu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   384
        (
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   385
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   386
            label: 'Search'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   387
            itemValue: doSearch
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   388
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   389
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   390
            labelImage: (ResourceRetriever ToolbarIconLibrary searchFileIcon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   391
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   392
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   393
            enabled: enableStop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   394
            label: 'Stop'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   395
            itemValue: stop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   396
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   397
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   398
            isVisible: enableStop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   399
            labelImage: (ResourceRetriever XPToolbarIconLibrary stop22x22Icon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   400
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   401
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   402
            label: 'Close'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   403
            itemValue: doClose
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   404
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   405
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   406
            startGroup: right
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   407
            isVisible: false
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   408
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   409
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   410
         )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   411
        nil
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   412
        nil
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   413
      )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   414
! !
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   415
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
!DirectoryDifferenceViewApplication class methodsFor:'tableColumns specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
     by the DataSetBuilder of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
     the DataSetBuilder may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
     DataSetBuilder new openOnClass:DirectoryDifferenceViewApplication andSelector:#searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
    <resource: #tableColumns>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    ^#(
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
         label: 'Filename'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
         id: 'FileName'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
         label: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
         id: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
      )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
!DirectoryDifferenceViewApplication methodsFor:'accessing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
directory1:directory1Arg directory2:directory2Arg 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
    self directory1Holder value:directory1Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
    self directory2Holder value:directory2Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
"/    self namePatternHolder value:newPattern.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
    self enableStop value:false.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
    self enableSearch value:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
    ^ true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
    "Modified: / 12-01-2012 / 01:36:54 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    directory1Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
        directory1Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    ^ directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
    "Created: / 12-01-2012 / 01:37:31 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
    directory2Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
        directory2Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
    ^ directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
    "Created: / 12-01-2012 / 01:37:41 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   488
!DirectoryDifferenceViewApplication methodsFor:'actions'!
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   489
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   490
fileSelected:entries
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   491
    |entry file fn1 fn2 text1 text2 differ|
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   492
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   493
    entries isEmptyOrNil ifTrue:[^ self].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   494
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   495
    entry := self shownList at:entries first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   496
    file := entry first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   497
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   498
    fn1 := self directory1Holder value asFilename construct:file.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   499
    fn2 := self directory2Holder value asFilename construct:file.
15245
824d31e08f0f class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 14500
diff changeset
   500
    (fn1 exists and:[fn1 isRegularFile]) ifTrue:[
14500
dac4006a72c5 class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 13818
diff changeset
   501
        text1 := fn1 contentsAsString.
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   502
    ].
15245
824d31e08f0f class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 14500
diff changeset
   503
    (fn2 exists and:[fn2 isRegularFile]) ifTrue:[
14500
dac4006a72c5 class: DirectoryDifferenceViewApplication
Claus Gittinger <cg@exept.de>
parents: 13818
diff changeset
   504
        text2 := fn2 contentsAsString.
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   505
    ].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   506
    differ := builder componentAt:'DiffTextView'.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   507
    differ text1:(text1 ? '') text2:(text2 ? '').
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   508
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   509
    "Created: / 12-01-2012 / 03:21:52 / cg"
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   510
! !
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   511
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   512
!DirectoryDifferenceViewApplication methodsFor:'aspects'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   513
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   514
excludedDirectoryNamePatternHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   515
    excludedDirectoryNamePatternHolder isNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   516
        excludedDirectoryNamePatternHolder := '' asValue.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   517
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   518
    ^ excludedDirectoryNamePatternHolder.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   519
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   520
    "Created: / 13-01-2012 / 14:42:47 / cg"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   521
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   522
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   523
excludedNamePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   524
    excludedNamePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   525
        excludedNamePatternHolder := '' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   526
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   527
    ^ excludedNamePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   528
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   529
    "Created: / 13-01-2012 / 14:42:47 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   530
!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   531
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   532
ignoreCaseInDirectoryNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   533
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   534
    ignoreCaseInDirectoryNameHolder isNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   535
        ignoreCaseInDirectoryNameHolder := true asValue.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   536
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   537
    ^ ignoreCaseInDirectoryNameHolder.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   538
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   539
    "Created: / 13-01-2012 / 14:37:28 / cg"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   540
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   541
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   542
ignoreCaseInExcludedDirectoryNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   543
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   544
    ignoreCaseInExcludedDirectoryNameHolder isNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   545
        ignoreCaseInExcludedDirectoryNameHolder := true asValue.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   546
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   547
    ^ ignoreCaseInExcludedDirectoryNameHolder.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   548
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   549
    "Created: / 13-01-2012 / 14:37:28 / cg"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   550
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   551
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   552
ignoreCaseInExcludedNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   553
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   554
    ignoreCaseInExcludedNameHolder isNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   555
        ignoreCaseInExcludedNameHolder := true asValue.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   556
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   557
    ^ ignoreCaseInExcludedNameHolder.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   558
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   559
    "Created: / 13-01-2012 / 14:37:28 / cg"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   560
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   561
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   562
ignoreCaseInNameHolder
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   563
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   564
    ignoreCaseInNameHolder isNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   565
        ignoreCaseInNameHolder := true asValue.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   566
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   567
    ^ ignoreCaseInNameHolder.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   568
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   569
    "Created: / 13-01-2012 / 14:37:28 / cg"
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   570
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   571
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   572
namePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   573
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   574
    namePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   575
        namePatternHolder := '*' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   576
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   577
    ^ namePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   578
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   579
    "Created: / 13-01-2012 / 14:37:28 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   580
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   581
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
!DirectoryDifferenceViewApplication methodsFor:'comparing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
doSearch
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   585
    |dir1 dir2 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   586
     namePattern excludedNamePattern excludedDirectoryNamePattern 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   587
     ignoreCaseInName ignoreCaseInExcludeName ignoreCaseInExcludeDirectoryName
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   588
     fileExcludeFilterOrNil directoryExcludeFilterOrNil checkDir|
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
    filesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
    filesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
    directoriesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
    directoriesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
    filesWhichAreDifferent := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   596
    filesSkippedCount := directoriesSkippedCount := 0.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   597
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
    dir1 := self directory1Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
    dir1 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
    dir2 := self directory2Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
    dir2 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
    dir1 := dir1 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
    dir2 := dir2 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   607
    dir1 pathName = dir2 pathName ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   608
        self notify:('Same folder.' allBold).
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   609
        ^ self.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   610
    ].
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   611
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   612
    namePattern := self namePatternHolder value.
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   613
    namePattern notEmptyOrNil ifTrue:[
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   614
        namePattern := namePattern withoutSeparators.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   615
        (namePattern isEmptyOrNil or:[namePattern = '*']) ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   616
            namePattern := nil
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   617
        ]
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   618
    ].
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   619
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   620
    ignoreCaseInName := self ignoreCaseInNameHolder value.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   621
    ignoreCaseInExcludeName := self ignoreCaseInExcludedNameHolder value.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   622
    ignoreCaseInExcludeDirectoryName := self ignoreCaseInExcludedDirectoryNameHolder value.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   623
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   624
    excludedNamePattern := self excludedNamePatternHolder value.
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   625
    excludedNamePattern notEmptyOrNil ifTrue:[
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   626
        excludedNamePattern := excludedNamePattern withoutSeparators.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   627
        excludedNamePattern notEmptyOrNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   628
            fileExcludeFilterOrNil := 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   629
                ignoreCaseInExcludeName 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   630
                    ifTrue:[  [:baseName | (excludedNamePattern compoundMatch:baseName caseSensitive:false) not ] ]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   631
                    ifFalse:[  [:baseName | (excludedNamePattern compoundMatch:baseName caseSensitive:true) not ] ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   632
        ].
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   633
    ].
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   634
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   635
    excludedDirectoryNamePattern := self excludedDirectoryNamePatternHolder value.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   636
    excludedDirectoryNamePattern notEmptyOrNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   637
        excludedDirectoryNamePattern := excludedDirectoryNamePattern withoutSeparators.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   638
        excludedDirectoryNamePattern notEmptyOrNil ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   639
            checkDir := 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   640
                ignoreCaseInExcludeDirectoryName 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   641
                    ifTrue:[ [:dir | (excludedDirectoryNamePattern compoundMatch:(dir baseName) caseSensitive:false) not ] ]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   642
                    ifFalse:[ [:dir | (excludedDirectoryNamePattern compoundMatch:(dir baseName) caseSensitive:true) not ] ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   643
            directoryExcludeFilterOrNil := 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   644
                [:fn |
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   645
                    (checkDir value:fn) ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   646
                        directoriesSkippedCount := directoriesSkippedCount + 1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   647
                        false.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   648
                    ] ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   649
                        true
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   650
                    ]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   651
                ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   652
        ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   653
    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   654
11564
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   655
    self matchedFilesList removeAll.
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   656
    self windowGroup repairDamage.
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   657
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
    self 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
        startSearchTask:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
            self changeInformationTo:'Directory Diff - searching ' toTab:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
            self shownListHolder valueHolder:(self matchedFilesList).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   664
            dir1 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   665
                recursiveDirectoryContentsDo:[:relFn1 |
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   666
                    |fn1 fn2 fn1BaseName|
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   668
                    fn1 := dir1 construct:relFn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   669
                    fn1BaseName := fn1 baseName.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   670
                    (namePattern isNil or:[namePattern compoundMatch:fn1BaseName caseSensitive:ignoreCaseInName not]) ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   671
                        (fileExcludeFilterOrNil isNil or:[fileExcludeFilterOrNil value:fn1BaseName]) ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   672
                            fn2 := dir2 construct:relFn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   673
                            fn1 isDirectory ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   674
                                self notify:('Comparing %1...' bindWith:relFn1 asString allBold).
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   675
                                fn2 exists ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   676
                                    directoriesOnlyInDirectory1 add:fn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   677
                                    self matchedFilesList add:{ relFn1 . 'Directory only in directory1' }.
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   678
                                ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   679
                            ] ifFalse:[
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   680
                                fn2 exists ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   681
                                    filesSearchedCount := filesSearchedCount + 1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   682
                                    (fn1 sameContentsAs:fn2) ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   683
                                        filesWhichAreDifferent add:fn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   684
                                        self matchedFilesList add:{ relFn1 . 'Different' }.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   685
                                    ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   686
                                ] ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   687
                                    filesOnlyInDirectory1 add:fn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   688
                                    self matchedFilesList add:{ relFn1 . 'File only in directory1' }.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   689
                                ].
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   690
                            ].
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   691
                        ] ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   692
                            filesSkippedCount := filesSkippedCount + 1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   693
                        ]
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   694
                    ]
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   695
                ]
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   696
                filterForVisitingDirectories:directoryExcludeFilterOrNil.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   697
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   698
            dir2 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   699
                recursiveDirectoryContentsDo:[:relFn2 |
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   700
                    |fn1 fn2 fn2BaseName|
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   702
                    fn2 := dir2 construct:relFn2.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   703
                    fn2BaseName := fn2 baseName.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   704
                    (namePattern isNil or:[namePattern compoundMatch:fn2BaseName caseSensitive:ignoreCaseInName not]) ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   705
                        (fileExcludeFilterOrNil isNil or:[fileExcludeFilterOrNil value:fn2BaseName]) ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   706
                            fn1 := dir1 construct:relFn2.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   707
                            fn1 exists ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   708
                                fn1 isDirectory ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   709
                                    directoriesOnlyInDirectory1 add:fn1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   710
                                    self matchedFilesList add:{ relFn2 . 'Directory only in directory2' }.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   711
                                ] ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   712
                                    filesOnlyInDirectory2 add:fn2.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   713
                                    self matchedFilesList add:{ relFn2 . 'File only in directory2' }.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   714
                                ]
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   715
                            ].
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   716
                        ].
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   717
                    ] ifFalse:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   718
                        filesSkippedCount := filesSkippedCount + 1.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   719
                    ]
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   720
                ]
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   721
                filterForVisitingDirectories:directoryExcludeFilterOrNil.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   722
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   723
            Transcript showCR:'--- search summary ------'.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   724
            directoriesSkippedCount ~~ 0 ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   725
                Transcript showCR:'%1 directories skipped' with:directoriesSkippedCount.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   726
            ].
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   727
            filesSkippedCount ~~ 0 ifTrue:[
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   728
                Transcript showCR:'%1 files skipped' with:filesSkippedCount.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
            filesOnlyInDirectory1 notEmpty ifTrue:[
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   731
                Transcript showCR:'%1 files only in directory1' with:filesOnlyInDirectory1 size.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
            filesOnlyInDirectory2 notEmpty ifTrue:[
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   734
                Transcript showCR:'%1 files only in directory2' with:filesOnlyInDirectory2 size.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
            directoriesOnlyInDirectory1 notEmpty ifTrue:[
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   737
                Transcript showCR:'%1 directories only in directory1' with:directoriesOnlyInDirectory1 size.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
            directoriesOnlyInDirectory2 notEmpty ifTrue:[
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   740
                Transcript showCR:'%1 directories only in directory2' with:directoriesOnlyInDirectory2 size.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
            filesWhichAreDifferent notEmpty ifTrue:[
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   743
                Transcript showCR:'%1 files are different' with:filesWhichAreDifferent size.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
            ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
        ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
        name:'Directory Diff'.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
    "Created: / 12-01-2012 / 01:07:20 / cg"
18594
c0508c7f1fcb #REFACTORING by cg
Claus Gittinger <cg@exept.de>
parents: 17912
diff changeset
   749
    "Modified: / 15-02-2019 / 09:42:51 / Claus Gittinger"
18978
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   750
!
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   751
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   752
generateResultStringForTimeElapsed:timeDuration
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   753
    "at the end of a search, generate a nice informative summary string.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   754
     Redefined to generate a different message."
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   755
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   756
    |timeMillis timeString nIn1 nIn2 nDifferent|
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   757
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   758
    timeMillis := timeDuration asMilliseconds.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   759
    timeString := timeDuration printStringForApproximation.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   760
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   761
    nIn1 := filesOnlyInDirectory1 size.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   762
    nIn2 := filesOnlyInDirectory1 size.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   763
    nDifferent := filesWhichAreDifferent size.
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   764
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   765
    ^ resources 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   766
        string:('different:%1, only in one:%2 / %3 (%4 files visited; %6 files/s).') 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   767
        with:nDifferent 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   768
        with:nIn1 
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   769
        with:nIn2
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   770
        with:filesSearchedCount
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   771
        with:(UnitConverter fileSizeSIStringFor:(bytesSearchedCount * 1000 / (timeMillis max:1)))
ff91b0569f14 #FEATURE by exept
Claus Gittinger <cg@exept.de>
parents: 18594
diff changeset
   772
        with:((filesSearchedCount * 1000 / (timeMillis max:1)) asFixedPoint:1).
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
!DirectoryDifferenceViewApplication methodsFor:'startup & release'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
postOpenWith:aBuilder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
    super postOpenWith:aBuilder.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
    self doSearch
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
    "Created: / 12-01-2012 / 01:41:18 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
!DirectoryDifferenceViewApplication class methodsFor:'documentation'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
version
17708
a6aa502cde52 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 15245
diff changeset
   787
    ^ '$Header$'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
version_CVS
17708
a6aa502cde52 #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 15245
diff changeset
   791
    ^ '$Header$'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
! !
13818
cfc8c51359dd merged in jv's chenges
Claus Gittinger <cg@exept.de>
parents: 11564
diff changeset
   793