#FEATURE by exept
authorClaus Gittinger <cg@exept.de>
Wed, 21 Aug 2019 17:23:34 +0200
changeset 19008 302ee0e701e1
parent 19007 aaa5f6f28139
child 19009 04d1833bcd6e
#FEATURE by exept class: DirectoryTreeBrowser changed: #selectFiles: #selectedFilenameDirectories #selectionChanged
DirectoryTreeBrowser.st
--- a/DirectoryTreeBrowser.st	Wed Aug 21 16:56:21 2019 +0200
+++ b/DirectoryTreeBrowser.st	Wed Aug 21 17:23:34 2019 +0200
@@ -864,7 +864,7 @@
     self viewFilesInDirectoryTree value ifFalse:[
         (self currentFilesAreInSameDirectory 
          and:[sel size == 1 and:[self currentSelectedObjects notEmpty]]) ifTrue:[
-            currentFileDir := self getDirWithoutFileName:(self currentSelectedObjects first).
+            currentFileDir := self class getDirectoryOf:(self currentSelectedObjects first).
             sel first = currentFileDir ifTrue:[
                 ^ self.
             ].
@@ -1178,7 +1178,10 @@
 
     |root items directory item newRoot rootDir|
 
-    aColOfFileOrDirectory isEmpty ifTrue:[ self selectItems:#()].
+    aColOfFileOrDirectory isEmpty ifTrue:[ 
+        self selectItems:#().
+        ^ self.
+    ].
 
     root := self fileList root. 
     root notNil ifTrue:[ rootDir := root fileName asAbsoluteFilename ].
@@ -1189,8 +1192,8 @@
             item := self fileList findLastForFile:eachFile inRoot:root directory:rootDir.
             item isNil ifTrue:[
                 "/ set a new root directory
-                newRoot := self commonPrefixOfSelectedFiles.
-                newRoot := self getDirWithoutFileName:newRoot.
+                newRoot := self commonPrefixOfFiles:(aColOfFileOrDirectory collect:[:each | each directory]).
+                newRoot := self class getDirectoryOf:newRoot.
                 newRoot := newRoot pathName.
                 newRoot ~= self rootHolder value ifTrue:[
                     self rootHolder value:newRoot.
@@ -1267,7 +1270,7 @@
 
 selectedFilenameDirectories
     ^ self selectedItems 
-        collect:[:item | self getDirWithoutFileName:(item fileName)] 
+        collect:[:item | self class getDirectoryOf:(item fileName)] 
         as:Set
 !