diff -r bbe9cdf5dac4 -r 9f6c2575f2b1 DirectoryView.st --- 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 ] ]