Do not select '/tmp/tmp' if '/tmp' is given as default directory
and no filename has been predefined
--- a/FileDialog.st Tue Aug 05 16:48:49 2003 +0200
+++ b/FileDialog.st Thu Aug 07 16:35:50 2003 +0200
@@ -443,7 +443,7 @@
"
- | defaultDir defaultNm instance defaultFile locFilename|
+ |defaultDir defaultNm instance defaultFile locFilename|
locFilename := aFileName.
defaultNm := locFilename.
@@ -458,26 +458,24 @@
].
]
].
- locFilename isEmptyOrNil ifTrue:[
- locFilename := defaultDir.
- ].
defaultDir := defaultDir asFilename asAbsoluteFilename.
- [defaultDir exists not] whileTrue:[
+ [defaultDir exists] whileFalse:[
defaultDir := defaultDir directory.
].
- forDirectory not ifTrue:[
+
+ forDirectory ifTrue:[
+ defaultFile := (locFilename ? defaultDir) asFilename asAbsoluteFilename.
+ ] ifFalse:[
(locFilename notNil and:[locFilename asFilename withoutSuffix baseName ~= '*']) ifTrue:[
- defaultFile := defaultDir construct:(locFilename asFilename baseName).
+ defaultFile := defaultDir construct:locFilename asFilename baseName.
].
- ] ifFalse:[
- defaultFile := locFilename asFilename asAbsoluteFilename.
].
defaultFile isNil ifTrue:[
defaultFile := defaultDir.
].
instance := self new.
- defaultDir notNil ifTrue:[instance directory:(defaultDir asFilename)].
+ defaultDir notNil ifTrue:[instance directory:defaultDir].
instance multipleSelect:multipleSelect ? false.
instance startFilename:defaultFile.
instance pattern:((pattern isNil or:[pattern isEmpty]) ifTrue:['*'] ifFalse:[pattern]).
@@ -1327,5 +1325,5 @@
!FileDialog class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.38 2003-07-31 08:21:20 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileDialog.st,v 1.39 2003-08-07 14:35:50 stefan Exp $'
! !