care for volume changes in directory field.
authorClaus Gittinger <cg@exept.de>
Thu, 24 Sep 1998 12:51:02 +0200
changeset 998 ad33f2625598
parent 997 2a8a32256d4a
child 999 3dc1bc073981
care for volume changes in directory field. Fixed matching for caseless fileSystems (win32)
FileSelectionBrowser.st
--- a/FileSelectionBrowser.st	Fri Sep 18 16:03:10 1998 +0200
+++ b/FileSelectionBrowser.st	Thu Sep 24 12:51:02 1998 +0200
@@ -273,8 +273,11 @@
 !
 
 directoryView
+    "return the directory view on the right side (a subcanvas)"
 
     ^directoryView ? (directoryView := DirectoryView new)
+
+    "Modified: / 23.9.1998 / 16:46:50 / cg"
 !
 
 fileName: aFileName
@@ -310,10 +313,13 @@
 
     |holder|
     (holder := builder bindingAt:#rootOfDirectory) isNil ifTrue:[
-        builder aspectAt:#rootOfDirectory put: (holder :=  Filename rootDirectory name asValue).
+        builder 
+            aspectAt:#rootOfDirectory 
+            put: (holder :=  Filename rootDirectory name asValue).
     ].
     ^ holder
 
+    "Modified: / 23.9.1998 / 16:34:59 / cg"
 !
 
 selectionOfDirectory
@@ -326,6 +332,15 @@
 
 !
 
+setRootForFile:aFilename
+    self rootOfDirectory
+        value:(Filename 
+                    rootDirectoryOnVolume:
+                        aFilename asFilename volume) pathName
+
+    "Created: / 23.9.1998 / 16:36:28 / cg"
+!
+
 valueOfFileName
 
     |holder|
@@ -400,6 +415,7 @@
     self directoryInputField entryCompletionBlock: 
     [:f|
        |completedDirectory|
+
        (completedDirectory := Filename 
             filenameCompletionFor: self directoryInputField contents
             directory:(directory asFilename)
@@ -412,6 +428,11 @@
             ]) asFilename exists
         ifTrue:
         [
+            "/ volume changed ... (win32 or VMS)
+            completedDirectory asFilename volume ~= directory asFilename volume ifTrue:[
+                self setRootForFile:completedDirectory asFilename.
+            ].
+
             self directoryInputField contents: completedDirectory.
             self directoryTreeView selectPathname: completedDirectory.
             self readDirectory
@@ -424,7 +445,7 @@
 
     ^super postBuildWith:aBuilder
 
-    "Modified: / 12.9.1998 / 17:10:44 / cg"
+    "Modified: / 23.9.1998 / 16:40:38 / cg"
 ! !
 
 !FileSelectionBrowser class methodsFor:'documentation'!