care for default-dir in #requestDirectoryName:..
authorClaus Gittinger <cg@exept.de>
Tue, 16 Feb 1999 16:24:59 +0100
changeset 1740 0160c5afae9c
parent 1739 3cb6e85d42c0
child 1741 082f3849e5af
care for default-dir in #requestDirectoryName:..
DialogBox.st
--- a/DialogBox.st	Mon Feb 15 13:39:53 1999 +0100
+++ b/DialogBox.st	Tue Feb 16 16:24:59 1999 +0100
@@ -1454,14 +1454,14 @@
     "same as requestFileName, but only show directories"
 
     ^ self
-	requestDirectoryName:title 
-	default:nil
-	ifFail:''
+        requestDirectoryName:title 
+        default:aFileName
+        ifFail:''
 
     "
      Dialog
-	requestDirectoryName:'which directory ?' 
-	default:'/etc'
+        requestDirectoryName:'which directory ?' 
+        default:'/etc'
     "
 
     "Created: 19.4.1996 / 14:29:10 / cg"
@@ -1471,27 +1471,34 @@
 requestDirectoryName:title default:aFileName ifFail:failBlock
     "same as requestFileName, but only show directories"
 
-    |dir fileBox enteredName|
+    |dir dirF fN fileBox enteredName|
 
     fileBox := FileSelectionBox
-		    title:title
-		    okText:'ok'
-		    abortText:'cancel'
-		    action:[:fileName | enteredName := fileName].
-
-    dir := FileSelectionBox lastFileSelectionDirectory.
+                    title:title
+                    okText:'ok'
+                    abortText:'cancel'
+                    action:[:fileName | enteredName := fileName].
+
+    fN := aFileName.
+    dirF := aFileName asFilename.
+    dirF name = dirF baseName ifFalse:[
+        dir := dirF directoryName.
+        fN := dirF baseName.
+    ] ifTrue:[
+        dir := FileSelectionBox lastFileSelectionDirectory.
+    ].
     dir notNil ifTrue:[
-	fileBox directory:dir.
+        fileBox directory:dir.
     ].
 
-    fileBox initialText:aFileName.
+    fileBox initialText:fN.
     fileBox selectingDirectory:true.
     fileBox showAtPointer.
     fileBox destroy.
 
     (enteredName isNil 
     or:[enteredName isEmpty]) ifTrue:[
-	^ failBlock value
+        ^ failBlock value
     ].
 
     FileSelectionBox lastFileSelectionDirectory:(enteredName asFilename directoryName).
@@ -1500,9 +1507,9 @@
 
     "
      Dialog
-	requestDirectoryName:'which directory ?' 
-	default:'/etc'
-	ifFail:'none'
+        requestDirectoryName:'which directory ?' 
+        default:'/etc'
+        ifFail:'none'
     "
 
     "Created: 19.4.1996 / 14:31:04 / cg"
@@ -5843,6 +5850,6 @@
 !DialogBox class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.124 1999-02-11 23:45:44 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/DialogBox.st,v 1.125 1999-02-16 15:24:59 cg Exp $'
 ! !
 DialogBox initialize!