FindFileApplication.st
changeset 5864 0338587f079e
parent 5860 294f0dcfbe4b
child 5865 24bc1718c04f
--- a/FindFileApplication.st	Tue May 18 16:34:43 2004 +0200
+++ b/FindFileApplication.st	Tue May 18 17:36:29 2004 +0200
@@ -21,7 +21,7 @@
 		accessLock searchTask expanded searchRecursively selectionHolder
 		hasListEntries targetApplication useLocate useGrep
 		rememberInCache searchOnlyInCache searchForSameContents
-		matchedFilesList shownList'
+		matchedFilesList shownListHolder'
 	classVariableNames:'ContentsInfoCache ContentsInfoCacheAccessLock LastRememberInCache'
 	poolDictionaries:''
 	category:'Interface-Tools-File'
@@ -308,7 +308,7 @@
               isMultiSelect: true
               doubleClickSelector: fileDoubleClick:
               useIndex: true
-              sequenceList: shownList
+              sequenceList: shownListHolder
             )
            (ProgressIndicatorSpec
               name: 'ProgressIndicator1'
@@ -552,7 +552,7 @@
 !
 
 clearShownList
-    self shownList valueHolder removeAll.
+    self shownList removeAll.
 !
 
 copySelectedFileNamesToClipboard
@@ -574,7 +574,7 @@
 deleteAllFiles
     |files|
 
-    files := self shownList valueHolder copy.
+    files := self shownList copy.
     self deleteFiles:files confirm:true.
     self clearShownList.
 !
@@ -585,7 +585,7 @@
     |delete result|
 
     self windowGroup withWaitCursorDo:[
-        delete := FileOperation getDeleteClass deleteFiles:colOfFiles confirm:confirm.
+        delete := FileOperation getDeleteClass deleteFiles:colOfFiles asSet confirm:confirm.
         result := delete result.
         result notNil ifTrue:[
             result ifFalse:[
@@ -604,7 +604,7 @@
     |sel files result|
 
     sel := self selectionHolder value.
-    files := sel collect:[:idx | self shownList valueHolder at:idx].
+    files := sel collect:[:idx | self shownList at:idx].
     self deleteFiles:files confirm:true.
     result == true ifTrue:[
         self removeSelectedFilesFromResultList.
@@ -613,7 +613,7 @@
 
 doSearch
 
-    | namePattern namePatterns contentsPattern notContentsPattern dir fileToCompareAgainst|
+    | namePattern namePatterns contentsPattern notContentsPattern dir fileToCompareAgainst thisSearchTask|
 
 "/    self changeExtentToSeeSearchResult.
 
@@ -680,7 +680,7 @@
         ].
     ].
 
-    searchTask := 
+    searchTask := thisSearchTask :=
         [
             |message t|
 
@@ -717,9 +717,11 @@
                     self changeInformationTo:'Find File ' , '- done.' toTab:true.
                 ].
             ] valueNowOrOnUnwindDo:[
-                searchTask := nil.
-                self enableStop value:false.
-                self notify:message.
+                thisSearchTask == searchTask ifTrue:[
+                    searchTask := nil.
+                    self enableStop value:false.
+                    self notify:message.
+                ].
             ]
         ] newProcess.
 
@@ -741,7 +743,7 @@
     |sel list|
 
     sel := self selectionHolder value.
-    list := self shownList valueHolder.
+    list := self shownList.
     (sel notNil and:[sel notEmpty]) ifTrue:[
         sel reverseDo:[: key |
             list removeAtIndex:key
@@ -765,9 +767,9 @@
 
 showMatchedFiles:aBoolean
     aBoolean ifTrue:[
-        self shownList valueHolder:(self matchedFilesList)
+        self shownListHolder valueHolder:(self matchedFilesList)
     ] ifFalse:[
-        self shownList valueHolder:(self resultList)
+        self shownListHolder valueHolder:(self resultList)
     ].
 !
 
@@ -1000,11 +1002,15 @@
 !
 
 shownList
-    shownList isNil ifTrue:[
-        shownList := IndirectValue for:(self resultList).
-        shownList addDependent:self.
+    ^ self shownListHolder valueHolder.
+!
+
+shownListHolder
+    shownListHolder isNil ifTrue:[
+        shownListHolder := IndirectValue for:(self resultList).
+        shownListHolder addDependent:self.
     ].
-    ^ shownList.
+    ^ shownListHolder.
 !
 
 useGrep
@@ -1024,7 +1030,7 @@
 !FindFileApplication methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
-    changedObject == self shownList ifTrue:[
+    changedObject == self shownListHolder ifTrue:[
         self hasListEntries value:(changedObject valueHolder notEmpty).
         ^ self
     ].
@@ -1602,5 +1608,5 @@
 !FindFileApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.54 2004-05-18 12:24:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.55 2004-05-18 15:36:29 cg Exp $'
 ! !