DirectoryDifferenceViewApplication.st
author Claus Gittinger <cg@exept.de>
Fri, 13 Jan 2012 14:44:15 +0100
changeset 11121 a94aeaabbfdf
parent 11116 86de3247a42f
child 11123 6cbaa2e319a3
permissions -rw-r--r--
x
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
AbstractFileFinderApplicationComponent subclass:#DirectoryDifferenceViewApplication
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'directory1Holder directory2Holder directory1 directory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
		filesOnlyInDirectory1 filesOnlyInDirectory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
		filesWhichAreDifferent directoriesOnlyInDirectory1
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
     7
		directoriesOnlyInDirectory2 namePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
     8
		excludedNamePatternHolder'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	category:'Interface-Tools-File'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    15
!DirectoryDifferenceViewApplication class methodsFor:'help specs'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    16
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    17
flyByHelpSpec
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    18
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    19
     by the UIHelpTool of ST/X."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    20
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    21
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    22
     the UIHelpTool may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    23
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    24
    "
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    25
     UIHelpTool openOnClass:FindFileApplication    
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    26
    "
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    27
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    28
    <resource: #help>
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    29
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    30
    ^ super flyByHelpSpec addPairsFrom:#(
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    31
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    32
#namePattern
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    33
'Filename(s) to search for. Can be matchPatterns, separated by ";"'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    34
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    35
#excludedNamePattern
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    36
'Filename(s) to skip. Can be matchPatterns, separated by ";"'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    37
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    38
#searchDirectory1
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    39
'The first folder, to be compared against folder2'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    40
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    41
#searchDirectory2
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    42
'The second folder, to be compared against folder1'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    43
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    44
)
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    45
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    46
    "Modified: / 13-01-2012 / 14:41:36 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    47
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    48
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!DirectoryDifferenceViewApplication class methodsFor:'interface specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     by the UIPainter of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
     the UIPainter may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
     UIPainter new openOnClass:DirectoryDifferenceViewApplication andSelector:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     DirectoryDifferenceViewApplication new openInterface:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     DirectoryDifferenceViewApplication open
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    <resource: #canvas>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    ^ 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
     #(FullSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        name: windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        window: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
       (WindowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
          label: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
          name: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
          min: (Point 377 131)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
          bounds: (Rectangle 0 0 758 512)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
       (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
          collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
           (MenuPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
              name: 'ToolBar1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
              level: 0
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
              menu: searchMenu
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
              textDefault: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
           (ProgressIndicatorSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
              name: 'ProgressIndicator1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
              layout: (LayoutFrame 125 0 11 0 231 0 21 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
              visibilityChannel: enableStop
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
              backgroundColor: (Color 0.0 66.9993133440146 66.9993133440146)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
              showPercentage: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
              isActivityIndicator: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
           (ViewSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
              name: 'Box1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
              layout: (LayoutFrame 0 0.0 32 0 0 1.0 130 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                    label: 'Directory1:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
                    name: 'DirectoryLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
                    layout: (LayoutFrame 2 0 7 0 154 0 24 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   104
                    activeHelpKey: searchDirectory1
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                    name: 'DirectoryEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
                    layout: (LayoutFrame 156 0 4 0 0 1 24 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   111
                    activeHelpKey: searchDirectory1
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
                    model: directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                    label: 'Directory2:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                    name: 'Label2'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
                    layout: (LayoutFrame 2 0 31 0 154 0 48 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   120
                    activeHelpKey: searchDirectory2
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                    name: 'FilenameEntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                    layout: (LayoutFrame 156 0 28 0 0 1 48 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   127
                    activeHelpKey: searchDirectory2
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                    model: directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                    label: 'Compare Files Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                    name: 'FileNameLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                    layout: (LayoutFrame 2 0 55 0 154 0 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
                    name: 'FileNameEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
                    layout: (LayoutFrame 156 0 52 0 -315 1 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
                    model: namePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
                    name: 'IgnoreCaseInNameCheckBox'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
                    layout: (LayoutFrame -169 1 53 0 -4 1 76 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
                    model: ignoreCaseInName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
                    label: 'But Not Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                    name: 'Label1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
                    layout: (LayoutFrame 2 0 79 0 154 0 96 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   163
                    activeHelpKey: excludedNamePattern
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                    name: 'EntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
                    layout: (LayoutFrame 156 0 76 0 -315 1 96 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   170
                    activeHelpKey: excludedNamePattern
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
                    model: excludedNamePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                    name: 'CheckBox1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                    layout: (LayoutFrame -169 1 77 0 -4 1 100 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
                    model: ignoreCaseInExcludedName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
           (VariableVerticalPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
              name: 'VariableVerticalPanel1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
              layout: (LayoutFrame 0 0.0 140 0 0 1.0 0 1)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
                 (DataSetSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
                    name: 'Table1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
                    model: selectionHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
                    hasHorizontalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
                    hasVerticalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
                    dataList: matchedFilesList
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
                    doubleClickSelector: fileDoubleClick:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
                    columnHolder: searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
                    valueChangeSelector: fileSelected:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
                    multipleSelectOk: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
                  )
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   207
                 (ArbitraryComponentSpec
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   208
                    name: 'DiffTextView'
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   209
                    hasHorizontalScrollBar: true
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   210
                    hasVerticalScrollBar: true
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
                    component: DiffTextView
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
              handles: (Any 0.5 1.0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
           )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
         
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
      )
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   222
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   223
    "Modified: / 13-01-2012 / 14:41:56 / cg"
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
!DirectoryDifferenceViewApplication class methodsFor:'tableColumns specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
     by the DataSetBuilder of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
     the DataSetBuilder may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
     DataSetBuilder new openOnClass:DirectoryDifferenceViewApplication andSelector:#searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    <resource: #tableColumns>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
    ^#(
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
         label: 'Filename'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
         id: 'FileName'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
         label: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
         id: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
      )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
    
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
!DirectoryDifferenceViewApplication methodsFor:'accessing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
directory1:directory1Arg directory2:directory2Arg 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    self directory1Holder value:directory1Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    self directory2Holder value:directory2Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
"/    self namePatternHolder value:newPattern.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
    self enableStop value:false.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    self enableSearch value:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
    ^ true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
    "Modified: / 12-01-2012 / 01:36:54 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
    directory1Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
        directory1Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
    ^ directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "Created: / 12-01-2012 / 01:37:31 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    directory2Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
        directory2Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
    ^ directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
    "Created: / 12-01-2012 / 01:37:41 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   298
!DirectoryDifferenceViewApplication methodsFor:'actions'!
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   299
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   300
fileSelected:entries
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   301
    |entry file fn1 fn2 text1 text2 differ|
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   302
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   303
    entries isEmptyOrNil ifTrue:[^ self].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   304
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   305
    entry := self shownList at:entries first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   306
    file := entry first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   307
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   308
    fn1 := self directory1Holder value asFilename construct:file.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   309
    fn2 := self directory2Holder value asFilename construct:file.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   310
    fn1 exists ifTrue:[
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   311
        text1 := fn1 contentsOfEntireFile.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   312
    ].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   313
    fn2 exists ifTrue:[
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   314
        text2 := fn2 contentsOfEntireFile.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   315
    ].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   316
    differ := builder componentAt:'DiffTextView'.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   317
    differ text1:(text1 ? '') text2:(text2 ? '').
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   318
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   319
    "Created: / 12-01-2012 / 03:21:52 / cg"
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   320
! !
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   321
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   322
!DirectoryDifferenceViewApplication methodsFor:'aspects'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   323
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   324
excludedNamePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   325
    excludedNamePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   326
        excludedNamePatternHolder := '' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   327
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   328
    ^ excludedNamePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   329
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   330
    "Created: / 13-01-2012 / 14:42:47 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   331
!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   332
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   333
namePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   334
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   335
    namePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   336
        namePatternHolder := '*' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   337
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   338
    ^ namePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   339
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   340
    "Created: / 13-01-2012 / 14:37:28 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   341
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   342
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
!DirectoryDifferenceViewApplication methodsFor:'comparing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
doSearch
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   346
    |dir1 dir2 namePattern excludedNamePattern|
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    filesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    filesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    directoriesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    directoriesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
    filesWhichAreDifferent := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    dir1 := self directory1Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
    dir1 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    dir2 := self directory2Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    dir2 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    dir1 := dir1 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    dir2 := dir2 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   363
    namePattern := self namePatternHolder value.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   364
    excludedNamePattern := self excludedNamePatternHolder value.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   365
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    self 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
        startSearchTask:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
            self changeInformationTo:'Directory Diff - searching ' toTab:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
            self shownListHolder valueHolder:(self matchedFilesList).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
            dir1 recursiveDirectoryContentsDo:[:relFn1 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   375
                (namePattern isNil or:[namePattern match:relFn1]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   376
                    (excludedNamePattern isNil or:[(excludedNamePattern match:relFn1) not]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   377
                        fn1 := dir1 construct:relFn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   378
                        fn2 := dir2 construct:relFn1.
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   380
                        fn1 isDirectory ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   381
                            self notify:('Comparing %1...' bindWith:relFn1 asString allBold).
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   382
                            fn2 exists ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   383
                                directoriesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   384
                                self matchedFilesList add:{ relFn1 . 'Directory only in directory1' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   385
                            ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   386
                        ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   387
                            fn2 exists ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   388
                                (fn1 sameContentsAs:fn2) ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   389
                                    filesWhichAreDifferent add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   390
                                    self matchedFilesList add:{ relFn1 . 'Different' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   391
                                ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   392
                            ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   393
                                filesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   394
                                self matchedFilesList add:{ relFn1 . 'File only in directory1' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   395
                            ].
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
                        ].
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   397
                    ]
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   398
                ]
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
            dir2 recursiveDirectoryContentsDo:[:relFn2 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   403
                (namePattern isNil or:[namePattern match:relFn2]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   404
                    (excludedNamePattern isNil or:[(excludedNamePattern match:relFn2) not]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   405
                        fn2 := dir2 construct:relFn2.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   406
                        fn1 := dir1 construct:relFn2.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   407
                        fn1 exists ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   408
                            fn1 isDirectory ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   409
                                directoriesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   410
                                self matchedFilesList add:{ relFn2 . 'Directory only in directory2' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   411
                            ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   412
                                filesOnlyInDirectory2 add:fn2.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   413
                                self matchedFilesList add:{ relFn2 . 'File only in directory2' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   414
                            ]
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   415
                        ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   416
                    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   417
                ]
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
            filesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
                Transcript showCR:('%1 files only in directory1' bindWith:filesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
            filesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
                Transcript showCR:('%1 files only in directory2' bindWith:filesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
            directoriesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
                Transcript showCR:('%1 directories only in directory1' bindWith:directoriesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
            directoriesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
                Transcript showCR:('%1 directories only in directory2' bindWith:directoriesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
            filesWhichAreDifferent notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
                Transcript showCR:('%1 files are different' bindWith:filesWhichAreDifferent size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
            ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
        ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
        name:'Directory Diff'.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    "Created: / 12-01-2012 / 01:07:20 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
!DirectoryDifferenceViewApplication methodsFor:'startup & release'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
postOpenWith:aBuilder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    super postOpenWith:aBuilder.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
    self doSearch
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    "Created: / 12-01-2012 / 01:41:18 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
!DirectoryDifferenceViewApplication class methodsFor:'documentation'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
version
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   452
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.3 2012-01-13 13:44:15 cg Exp $'
11105
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
version_CVS
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   456
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.3 2012-01-13 13:44:15 cg Exp $'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
! !