--- a/DirectoryView.st Wed Dec 03 17:47:23 2008 +0100
+++ b/DirectoryView.st Wed Dec 03 22:13:22 2008 +0100
@@ -419,11 +419,11 @@
!DirectoryView methodsFor:'private'!
readDirectory
-
- |allFiles foundFiles filterList dir|
+ |allDirectories allFiles foundFiles filterList dir newContents|
- allFiles := Set new.
- foundFiles := Set new.
+ allFiles := OrderedCollection new.
+ allDirectories := OrderedCollection new.
+ foundFiles := OrderedCollection new.
"/ filterList := self listOfFileFilters value.
filterList := self selectedFileFilter asCollectionOfSubstringsSeparatedBy:$;.
filterList := filterList collect:[:pattern | pattern withoutSeparators].
@@ -441,6 +441,9 @@
dir filesAndBasenamesDo:[:file :name|
allFiles add: name
].
+ dir directoriesAndBasenamesDo:[:file :name|
+ allDirectories add: name
+ ].
Filename isCaseSensitive ifFalse:[
filterList do:[:filter|
@@ -461,9 +464,16 @@
]
].
- foundFiles := foundFiles asOrderedCollection sort.
+ foundFiles sort.
+ allDirectories sort.
+
dir := directory asFilename.
- self listOfFiles contents: (foundFiles collect:[:name| FileRow new fileName:(dir construct:name)])
+
+ newContents := OrderedCollection new.
+ newContents addAll:(allDirectories collect:[:name| FileRow new fileName:(dir construct:name)]).
+ newContents addAll:(foundFiles collect:[:name| FileRow new fileName:(dir construct:name)]).
+
+ self listOfFiles contents:newContents
]
]