--- a/DirectoryView.st Thu Sep 03 15:12:36 1998 +0200
+++ b/DirectoryView.st Fri Sep 04 13:31:11 1998 +0200
@@ -372,26 +372,33 @@
readDirectory
- |foundFiles list dir|
+ |allFiles foundFiles filterList dir|
- foundFiles := OrderedCollection new.
- list := self listOfFileFilters value.
+ allFiles := Set new.
+ foundFiles := Set new.
+ filterList := self listOfFileFilters value.
Cursor wait showWhile:
[
(dir := DirectoryContents directoryNamed: directory) notNil ifTrue:[
- dir filesAndBasenamesDo:
- [:file :name|
- list do:
- [:filter|
- ((filter match: name) and: [(foundFiles includes: file) not])
- ifTrue:
- [
- foundFiles add: file
- ].
- ].
+"/ dir filesAndBasenamesDo:[:file :name|
+"/ filterList do:[:filter|
+"/ ((filter match:name) and:[(foundFiles includes: name) not])
+"/ ifTrue:[
+"/ foundFiles add: name
+"/ ].
+"/ ].
+"/ ].
+ dir filesAndBasenamesDo:[:file :name|
+ allFiles add: name
].
- self listOfFiles contents: (foundFiles collect: [:file| FileRow new fileName: file])
+ filterList do:[:filter|
+ foundFiles addAll:(allFiles select:[:name | filter match:name]).
+ ].
+
+ foundFiles := foundFiles asOrderedCollection sort.
+ dir := directory asFilename.
+ self listOfFiles contents: (foundFiles collect:[:name| FileRow new fileName:(dir construct:name)])
]
]