FindFileApplication.st
changeset 5864 0338587f079e
parent 5860 294f0dcfbe4b
child 5865 24bc1718c04f
equal deleted inserted replaced
5863:e31e066a41d9 5864:0338587f079e
    19 		ignoreCaseInNotContents sameContentsAsHolder findFileView
    19 		ignoreCaseInNotContents sameContentsAsHolder findFileView
    20 		searchResultTable resultList enableStop enableSearch stopSignal
    20 		searchResultTable resultList enableStop enableSearch stopSignal
    21 		accessLock searchTask expanded searchRecursively selectionHolder
    21 		accessLock searchTask expanded searchRecursively selectionHolder
    22 		hasListEntries targetApplication useLocate useGrep
    22 		hasListEntries targetApplication useLocate useGrep
    23 		rememberInCache searchOnlyInCache searchForSameContents
    23 		rememberInCache searchOnlyInCache searchForSameContents
    24 		matchedFilesList shownList'
    24 		matchedFilesList shownListHolder'
    25 	classVariableNames:'ContentsInfoCache ContentsInfoCacheAccessLock LastRememberInCache'
    25 	classVariableNames:'ContentsInfoCache ContentsInfoCacheAccessLock LastRememberInCache'
    26 	poolDictionaries:''
    26 	poolDictionaries:''
    27 	category:'Interface-Tools-File'
    27 	category:'Interface-Tools-File'
    28 !
    28 !
    29 
    29 
   306               hasHorizontalScrollBar: true
   306               hasHorizontalScrollBar: true
   307               hasVerticalScrollBar: true
   307               hasVerticalScrollBar: true
   308               isMultiSelect: true
   308               isMultiSelect: true
   309               doubleClickSelector: fileDoubleClick:
   309               doubleClickSelector: fileDoubleClick:
   310               useIndex: true
   310               useIndex: true
   311               sequenceList: shownList
   311               sequenceList: shownListHolder
   312             )
   312             )
   313            (ProgressIndicatorSpec
   313            (ProgressIndicatorSpec
   314               name: 'ProgressIndicator1'
   314               name: 'ProgressIndicator1'
   315               layout: (LayoutFrame 125 0 11 0 231 0 21 0)
   315               layout: (LayoutFrame 125 0 11 0 231 0 21 0)
   316               visibilityChannel: enableStop
   316               visibilityChannel: enableStop
   550     self resultList removeAll.
   550     self resultList removeAll.
   551     self matchedFilesList removeAll.
   551     self matchedFilesList removeAll.
   552 !
   552 !
   553 
   553 
   554 clearShownList
   554 clearShownList
   555     self shownList valueHolder removeAll.
   555     self shownList removeAll.
   556 !
   556 !
   557 
   557 
   558 copySelectedFileNamesToClipboard
   558 copySelectedFileNamesToClipboard
   559     |sel list stream|
   559     |sel list stream|
   560 
   560 
   572 !
   572 !
   573 
   573 
   574 deleteAllFiles
   574 deleteAllFiles
   575     |files|
   575     |files|
   576 
   576 
   577     files := self shownList valueHolder copy.
   577     files := self shownList copy.
   578     self deleteFiles:files confirm:true.
   578     self deleteFiles:files confirm:true.
   579     self clearShownList.
   579     self clearShownList.
   580 !
   580 !
   581 
   581 
   582 deleteFiles:colOfFiles confirm:confirm
   582 deleteFiles:colOfFiles confirm:confirm
   583     "delete current selected files/directories
   583     "delete current selected files/directories
   584     "
   584     "
   585     |delete result|
   585     |delete result|
   586 
   586 
   587     self windowGroup withWaitCursorDo:[
   587     self windowGroup withWaitCursorDo:[
   588         delete := FileOperation getDeleteClass deleteFiles:colOfFiles confirm:confirm.
   588         delete := FileOperation getDeleteClass deleteFiles:colOfFiles asSet confirm:confirm.
   589         result := delete result.
   589         result := delete result.
   590         result notNil ifTrue:[
   590         result notNil ifTrue:[
   591             result ifFalse:[
   591             result ifFalse:[
   592                 self notify:delete errorString.
   592                 self notify:delete errorString.
   593             ] ifTrue:[
   593             ] ifTrue:[
   602 
   602 
   603 deleteSelectedFiles
   603 deleteSelectedFiles
   604     |sel files result|
   604     |sel files result|
   605 
   605 
   606     sel := self selectionHolder value.
   606     sel := self selectionHolder value.
   607     files := sel collect:[:idx | self shownList valueHolder at:idx].
   607     files := sel collect:[:idx | self shownList at:idx].
   608     self deleteFiles:files confirm:true.
   608     self deleteFiles:files confirm:true.
   609     result == true ifTrue:[
   609     result == true ifTrue:[
   610         self removeSelectedFilesFromResultList.
   610         self removeSelectedFilesFromResultList.
   611     ].
   611     ].
   612 !
   612 !
   613 
   613 
   614 doSearch
   614 doSearch
   615 
   615 
   616     | namePattern namePatterns contentsPattern notContentsPattern dir fileToCompareAgainst|
   616     | namePattern namePatterns contentsPattern notContentsPattern dir fileToCompareAgainst thisSearchTask|
   617 
   617 
   618 "/    self changeExtentToSeeSearchResult.
   618 "/    self changeExtentToSeeSearchResult.
   619 
   619 
   620     dir := self searchDirectoryHolder value.
   620     dir := self searchDirectoryHolder value.
   621     dir isNil ifTrue:[
   621     dir isNil ifTrue:[
   678                 ]
   678                 ]
   679             ].
   679             ].
   680         ].
   680         ].
   681     ].
   681     ].
   682 
   682 
   683     searchTask := 
   683     searchTask := thisSearchTask :=
   684         [
   684         [
   685             |message t|
   685             |message t|
   686 
   686 
   687             [    
   687             [    
   688                 (self stopSignal) catch:[
   688                 (self stopSignal) catch:[
   715                     self enableStop value:false.
   715                     self enableStop value:false.
   716                     self enableSearch value:true.
   716                     self enableSearch value:true.
   717                     self changeInformationTo:'Find File ' , '- done.' toTab:true.
   717                     self changeInformationTo:'Find File ' , '- done.' toTab:true.
   718                 ].
   718                 ].
   719             ] valueNowOrOnUnwindDo:[
   719             ] valueNowOrOnUnwindDo:[
   720                 searchTask := nil.
   720                 thisSearchTask == searchTask ifTrue:[
   721                 self enableStop value:false.
   721                     searchTask := nil.
   722                 self notify:message.
   722                     self enableStop value:false.
       
   723                     self notify:message.
       
   724                 ].
   723             ]
   725             ]
   724         ] newProcess.
   726         ] newProcess.
   725 
   727 
   726     searchTask priorityRange:(Processor systemBackgroundPriority to:Processor userSchedulingPriority).
   728     searchTask priorityRange:(Processor systemBackgroundPriority to:Processor userSchedulingPriority).
   727     searchTask name:('FindFile[', self searchDirectoryHolder value asFilename baseName, ']').
   729     searchTask name:('FindFile[', self searchDirectoryHolder value asFilename baseName, ']').
   739 
   741 
   740 removeSelectedFilesFromResultList
   742 removeSelectedFilesFromResultList
   741     |sel list|
   743     |sel list|
   742 
   744 
   743     sel := self selectionHolder value.
   745     sel := self selectionHolder value.
   744     list := self shownList valueHolder.
   746     list := self shownList.
   745     (sel notNil and:[sel notEmpty]) ifTrue:[
   747     (sel notNil and:[sel notEmpty]) ifTrue:[
   746         sel reverseDo:[: key |
   748         sel reverseDo:[: key |
   747             list removeAtIndex:key
   749             list removeAtIndex:key
   748         ]
   750         ]
   749     ].
   751     ].
   763     ].
   765     ].
   764 !
   766 !
   765 
   767 
   766 showMatchedFiles:aBoolean
   768 showMatchedFiles:aBoolean
   767     aBoolean ifTrue:[
   769     aBoolean ifTrue:[
   768         self shownList valueHolder:(self matchedFilesList)
   770         self shownListHolder valueHolder:(self matchedFilesList)
   769     ] ifFalse:[
   771     ] ifFalse:[
   770         self shownList valueHolder:(self resultList)
   772         self shownListHolder valueHolder:(self resultList)
   771     ].
   773     ].
   772 !
   774 !
   773 
   775 
   774 stop
   776 stop
   775 
   777 
   998 showingMatchedFiles
  1000 showingMatchedFiles
   999     ^ shownList valueHolder == self matchedFilesList
  1001     ^ shownList valueHolder == self matchedFilesList
  1000 !
  1002 !
  1001 
  1003 
  1002 shownList
  1004 shownList
  1003     shownList isNil ifTrue:[
  1005     ^ self shownListHolder valueHolder.
  1004         shownList := IndirectValue for:(self resultList).
  1006 !
  1005         shownList addDependent:self.
  1007 
  1006     ].
  1008 shownListHolder
  1007     ^ shownList.
  1009     shownListHolder isNil ifTrue:[
       
  1010         shownListHolder := IndirectValue for:(self resultList).
       
  1011         shownListHolder addDependent:self.
       
  1012     ].
       
  1013     ^ shownListHolder.
  1008 !
  1014 !
  1009 
  1015 
  1010 useGrep
  1016 useGrep
  1011     useGrep isNil ifTrue:[
  1017     useGrep isNil ifTrue:[
  1012         useGrep := false asValue.
  1018         useGrep := false asValue.
  1022 ! !
  1028 ! !
  1023 
  1029 
  1024 !FindFileApplication methodsFor:'change & update'!
  1030 !FindFileApplication methodsFor:'change & update'!
  1025 
  1031 
  1026 update:something with:aParameter from:changedObject
  1032 update:something with:aParameter from:changedObject
  1027     changedObject == self shownList ifTrue:[
  1033     changedObject == self shownListHolder ifTrue:[
  1028         self hasListEntries value:(changedObject valueHolder notEmpty).
  1034         self hasListEntries value:(changedObject valueHolder notEmpty).
  1029         ^ self
  1035         ^ self
  1030     ].
  1036     ].
  1031     changedObject == self selectionHolder ifTrue:[
  1037     changedObject == self selectionHolder ifTrue:[
  1032         self autoSelectInBrowser ifTrue:[
  1038         self autoSelectInBrowser ifTrue:[
  1600 ! !
  1606 ! !
  1601 
  1607 
  1602 !FindFileApplication class methodsFor:'documentation'!
  1608 !FindFileApplication class methodsFor:'documentation'!
  1603 
  1609 
  1604 version
  1610 version
  1605     ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.54 2004-05-18 12:24:20 cg Exp $'
  1611     ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.55 2004-05-18 15:36:29 cg Exp $'
  1606 ! !
  1612 ! !