fixed entry callback and net-drive handling
authorClaus Gittinger <cg@exept.de>
Wed, 03 Dec 2008 22:13:22 +0100
changeset 2439 9f6c2575f2b1
parent 2438 bbe9cdf5dac4
child 2440 853ea1a1162a
fixed entry callback and net-drive handling (soooo stupid code)
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
         ]
     ]