DirectoryContentsBrowser.st
changeset 3925 51cdf800d28e
parent 3920 8d844cb3d448
child 3953 4fd0ed70cf36
--- a/DirectoryContentsBrowser.st	Tue Oct 01 10:00:47 2002 +0200
+++ b/DirectoryContentsBrowser.st	Tue Oct 01 10:04:01 2002 +0200
@@ -876,8 +876,15 @@
 
 filterChanged
 
-    self filterBlock: [: el | (self showHiddenFiles value ifFalse:[
-                            (el asString startsWith:'.') not])
+    self filterBlock: [: el | 
+                            (self showHiddenFiles value 
+                                ifFalse:[ 
+                                    (el asString startsWith:'.') not
+                                ]
+                                ifTrue:[
+                                    true
+                                ]
+                            )
                             and:[self filterModel value match:el]].
 
     self evaluateFilter.
@@ -1056,25 +1063,20 @@
 !DirectoryContentsBrowser methodsFor:'directory contents'!
 
 evaluateFilter
-
-    | showDir|
+    |filterBlock showDir|
 
     showDir := self viewDirectoriesInDirectoryContentsBrowser value.
 
     currentItemList := OrderedCollection new.
     allItemsList size ~~ 0 ifTrue:[ 
-        self filterBlock isNil ifTrue:[
-            allItemsList do:[:aItem | 
-                (showDir not and:[aItem isDirectory]) ifFalse:[
+        filterBlock := self filterBlock.
+        allItemsList do:[:aItem | 
+            (showDir or:[aItem isDirectory not]) ifTrue:[
+                (filterBlock isNil 
+                or:[filterBlock value:aItem baseName]) ifTrue:[
                     currentItemList add:aItem 
                 ]
             ]
-        ] ifFalse:[
-            allItemsList do:[:aItem | 
-                (showDir not and:[aItem isDirectory]) ifFalse:[
-                    (self filterBlock value:aItem baseName) ifTrue:[currentItemList add:aItem].
-                ]
-            ]
         ].
     ].
     self evaluateSortBlock.
@@ -2586,5 +2588,5 @@
 !DirectoryContentsBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.7 2002-09-30 16:52:11 penk Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.8 2002-10-01 08:04:01 cg Exp $'
 ! !