DirectoryDifferenceViewApplication.st
changeset 18985 07c8f4612bf4
parent 18980 9a7a39ce4d6f
child 19418 baa308d1ad87
--- a/DirectoryDifferenceViewApplication.st	Sun Aug 11 01:19:39 2019 +0200
+++ b/DirectoryDifferenceViewApplication.st	Sun Aug 11 01:20:10 2019 +0200
@@ -414,10 +414,11 @@
                    hasHorizontalScrollBar: true
                    hasVerticalScrollBar: true
                    dataList: matchedFilesList
-                   doubleClickSelector: fileDoubleClick:
+                   doubleClickSelector: fileListDoubleClick:
                    columnHolder: searchResultTable
                    valueChangeSelector: fileSelected:
                    multipleSelectOk: true
+                   useIndex: true
                 )
                 (ArbitraryComponentSpec
                    name: 'DiffTextView'
@@ -537,24 +538,27 @@
          label: 'Filename'
          id: 'FileName'
          labelButtonType: Button
+         height: heightOfFirstRow
          model: at:
          menuFromApplication: false
          writeSelector: at:put:
+         canSelect: false
          showRowSeparator: false
          showColSeparator: false
-       )
+      )
       (DataSetColumnSpec
          label: 'Diff'
          id: 'Diff'
          labelButtonType: Button
+         height: heightOfFirstRow
          model: at:
          menuFromApplication: false
          writeSelector: at:put:
+         canSelect: false
          showRowSeparator: false
          showColSeparator: false
-       )
       )
-    
+    )
 ! !
 
 !DirectoryDifferenceViewApplication methodsFor:'accessing'!
@@ -591,6 +595,24 @@
 
 !DirectoryDifferenceViewApplication methodsFor:'actions'!
 
+fileListDoubleClick:indexOrIndexCollection
+    |idx file fn1 fn2|
+
+    idx := (indexOrIndexCollection isInteger)
+            ifTrue:[indexOrIndexCollection]
+            ifFalse:[indexOrIndexCollection first].
+    file := (self shownList at:idx) first.
+
+    fn1 := self directory1Holder value asFilename construct:file.
+    fn2 := self directory2Holder value asFilename construct:file.
+    (fn1 exists and:[fn1 isRegularFile]) ifTrue:[
+        self fileDoubleClick:fn1
+    ].
+    (fn2 exists and:[fn2 isRegularFile]) ifTrue:[
+        self fileDoubleClick:fn2
+    ].
+!
+
 fileSelected:entries
     |entry file fn1 fn2 text1 text2 differ|
 
@@ -630,7 +652,7 @@
     showingWhat == #all ifTrue:[
         self matchedFilesList contents:unfilteredFilesList.
         "/ self shownListHolder valueHolder:unfilteredFilesList.
-        "/ self shownListHolder valueHolder:unfilteredFilesList.
+        self shownListHolder valueHolder:unfilteredFilesList.
         ^ self.
     ].
 
@@ -638,7 +660,7 @@
 
     filteredFilesList contents:(unfilteredFilesList select:[:entry | (entry at:3) == showingWhat]).
     self matchedFilesList contents:filteredFilesList.
-    "/ self shownListHolder valueHolder:filteredFilesList.
+    self shownListHolder valueHolder:filteredFilesList.
 ! !
 
 !DirectoryDifferenceViewApplication methodsFor:'aspects'!