--- a/FindFileApplication.st Tue Jun 28 19:50:25 2005 +0200
+++ b/FindFileApplication.st Wed Jun 29 18:21:17 2005 +0200
@@ -22,7 +22,9 @@
hasListEntries targetApplication useLocate useGrep
rememberInCache searchOnlyInCache searchForSameContents
matchedFilesList shownListHolder contentsInfoCache
- contentsInfoCacheAccessLock autoSelectInBrowserHolder'
+ contentsInfoCacheAccessLock autoSelectInBrowserHolder
+ fileSizeOperatorHolder fileSizeHolder enableFileSizeFilter
+ fileSizeUnitHolder'
classVariableNames:'ContentsInfoCache ContentsInfoCacheAccessLock LastRememberInCache'
poolDictionaries:''
category:'Interface-Tools-File'
@@ -126,7 +128,7 @@
)
(ViewSpec
name: 'Box1'
- layout: (LayoutFrame 0 0.0 32 0 0 1.0 156 0)
+ layout: (LayoutFrame 0 0.0 32 0 0 1.0 180 0)
component:
(SpecCollection
collection: (
@@ -295,13 +297,52 @@
translateLabel: true
model: clearCache
)
+ (LabelSpec
+ label: 'File Size:'
+ name: 'Label1'
+ layout: (LayoutFrame 2 0 127 0 154 0 144 0)
+ translateLabel: true
+ adjust: right
+ )
+ (PopUpListSpec
+ label: 'PopUp List'
+ name: 'OperatorPopUpList'
+ layout: (LayoutFrame 157 0 124 0 212 0 144 0)
+ tabable: true
+ model: fileSizeOperatorHolder
+ enableChannel: enableFileSizeFilterAndNotSearchForSameContents
+ menu:
+ ('>'
+ '=' '!!='
+ '~' '<'
+ )
+ )
+ (InputFieldSpec
+ name: 'EntryField1'
+ layout: (LayoutFrame 219 0 124 0 -430 1 144 0)
+ enableChannel: enableFileSizeFilterAndNotSearchForSameContents
+ tabable: true
+ model: fileSizeHolder
+ type: fileSize
+ immediateAccept: true
+ acceptOnPointerLeave: false
+ )
+ (CheckToggleSpec
+ name: 'EnableSizeCheckToggle'
+ layout: (LayoutOrigin -334 1 127 0)
+ model: enableFileSizeFilter
+ enableChannel: notSearchForSameContents
+ isTriggerOnDown: true
+ showLamp: false
+ lampColor: (Color 100.0 100.0 0.0)
+ )
)
)
)
(SequenceViewSpec
name: 'List1'
- layout: (LayoutFrame 0 0.0 156 0 0 1.0 0 1)
+ layout: (LayoutFrame 0 0.0 180 0 0 1.0 0 1)
model: selectionHolder
menu: menu
hasHorizontalScrollBar: true
@@ -315,7 +356,7 @@
name: 'ProgressIndicator1'
layout: (LayoutFrame 125 0 11 0 231 0 21 0)
visibilityChannel: enableStop
- backgroundColor: (Color 0.0 66.9993 66.9993)
+ backgroundColor: (Color 0.0 66.999313344015 66.999313344015)
showPercentage: false
isActivityIndicator: true
)
@@ -323,6 +364,7 @@
)
)
+
! !
!FindFileApplication class methodsFor:'menu specs'!
@@ -811,7 +853,7 @@
!FindFileApplication methodsFor:'aspects'!
autoSelectInBrowser
- ^ autoSelectInBrowserHolder value.
+ ^ self autoSelectInBrowserHolder value.
!
autoSelectInBrowserHolder
@@ -847,6 +889,17 @@
^ contentsPatternHolder.
!
+enableFileSizeFilter
+ enableFileSizeFilter isNil ifTrue:[
+ enableFileSizeFilter := false asValue.
+ ].
+ ^ enableFileSizeFilter.
+!
+
+enableFileSizeFilterAndNotSearchForSameContents
+ ^ BlockValue forLogical:self notSearchForSameContents and:self enableFileSizeFilter
+!
+
enableSearch
enableSearch isNil ifTrue:[
@@ -863,6 +916,27 @@
^ enableStop.
!
+fileSizeHolder
+ fileSizeHolder isNil ifTrue:[
+ fileSizeHolder := 0 asValue.
+ ].
+ ^ fileSizeHolder.
+!
+
+fileSizeOperatorHolder
+ fileSizeOperatorHolder isNil ifTrue:[
+ fileSizeOperatorHolder := '>' asValue.
+ ].
+ ^ fileSizeOperatorHolder.
+!
+
+fileSizeUnitHolder
+ fileSizeUnitHolder isNil ifTrue:[
+ fileSizeUnitHolder := 'b' asValue.
+ ].
+ ^ fileSizeUnitHolder.
+!
+
hasListEntries
hasListEntries isNil ifTrue:[
@@ -911,7 +985,6 @@
!
notContentsPatternHolder
-
notContentsPatternHolder isNil ifTrue:[
notContentsPatternHolder := nil asValue.
].
@@ -1420,6 +1493,20 @@
].
].
].
+ self enableFileSizeFilter value ifTrue:[
+ |fileSizeToCompare sizeMatch op oldDoesFileMatch|
+
+ fileSizeToCompare := self fileSizeHolder value.
+ op := self fileSizeOperatorHolder value.
+ op = '~' ifTrue:[
+ sizeMatch := [:f | |sz| sz := f fileSize. sz between:fileSizeToCompare*0.9 and:fileSizeToCompare*1.1].
+ ] ifFalse:[
+ op := op asSymbol.
+ sizeMatch := [:f | f fileSize perform:op with:fileSizeToCompare].
+ ].
+ oldDoesFileMatch := doesFileMatch.
+ doesFileMatch := [:f | (sizeMatch value:f) and:[ oldDoesFileMatch value:f ]]
+ ].
].
@@ -1628,5 +1715,5 @@
!FindFileApplication class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.70 2005-04-14 09:12:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FindFileApplication.st,v 1.71 2005-06-29 16:21:17 cg Exp $'
! !