--- a/FileSelectionBrowser.st Fri Sep 25 00:11:46 1998 +0200
+++ b/FileSelectionBrowser.st Fri Sep 25 00:33:09 1998 +0200
@@ -281,11 +281,20 @@
!
fileName: aFileName
+ |prevDir|
self valueOfFileName value: (aFileName ? '') asFilename baseName.
+ prevDir := directory.
directory := directory ? ((aFileName ? '') asFilename asAbsoluteFilename directoryName).
- "Modified: / 17.8.1998 / 10:15:54 / cg"
+ "/ on systems with volumes, we might have to update
+ "/ the root here.
+ (prevDir isNil
+ or:[directory asFilename volume ~= prevDir asFilename volume]) ifTrue:[
+ self setRootForFile:directory asFilename.
+ ].
+
+ "Modified: / 24.9.1998 / 23:41:08 / cg"
!
listOfFileFilters: anArray
@@ -462,6 +471,7 @@
!
postBuildWith:aBuilder
+ |nm file|
directoryView listOfFileFilters: listOfFileFilters ? #('*').
directoryView fileSelectAction: [:aFileName |self valueOfFileName value: aFileName asFilename baseName].
@@ -475,17 +485,28 @@
((self valueOfFileName value ? 'unknown') readStream upTo: $.), '.',
(fileFilter copy reverse readStream upTo: $.) reverse)
].
- self directoryTreeView selectPathname: directory ? self class lastSelection ? Filename currentDirectory asAbsoluteFilename name.
+ nm := directory.
+ nm isNil ifTrue:[
+ nm := self class lastSelection.
+ nm isNil ifTrue:[
+ nm := Filename currentDirectory asAbsoluteFilename name.
+ ].
+ ].
+
+ self directoryTreeView selectPathname:nm.
self directoryInputField
entryCompletionBlock:[:f| self entryCompletion].
+ file := self valueOfFileName value.
directoryView selectionOfFile value:
- (directoryView listOfFiles detect: [:row| row baseName = self valueOfFileName value] ifNone: nil).
+ (directoryView listOfFiles
+ detect: [:row | row baseName = file]
+ ifNone: nil).
^super postBuildWith:aBuilder
- "Modified: / 24.9.1998 / 21:34:05 / cg"
+ "Modified: / 24.9.1998 / 23:41:29 / cg"
! !
!FileSelectionBrowser class methodsFor:'documentation'!