--- a/AbstractFileBrowser.st Fri Nov 21 21:00:53 2003 +0100
+++ b/AbstractFileBrowser.st Mon Nov 24 20:56:10 2003 +0100
@@ -151,7 +151,7 @@
!
defaultBookMarksFileDirectory
- ^ '~'
+ ^ Filename homeDirectory
!
defaultBookMarksFilename
@@ -160,7 +160,7 @@
directoryBookmarks
DirectoryBookmarks isNil ifTrue:[
- self loadBookmarksFrom:(self defaultBookMarksFileDirectory asFilename construct:self defaultBookMarksFilename).
+ self loadBookmarksFrom:(self defaultBookMarksFileDirectory construct:self defaultBookMarksFilename).
DirectoryBookmarks isEmptyOrNil ifTrue:[
DirectoryBookmarks := OrderedCollection new.
@@ -182,7 +182,7 @@
!
hasBookmarks
- ^ self directoryBookmarks size > 0
+ ^ self directoryBookmarks notEmptyOrNil
!
loadBookmarksFrom:aFileNameOrString
@@ -2479,14 +2479,15 @@
]
!
-gotoFile:aFilename
-
- " select only if the file is not already in selection"
- | currentSel |
+gotoFile:aFilename
+ "select only if the file is not already in selection"
+
+ |currentSel|
currentSel := self currentFileNameHolder value.
- ((currentSel findFirst:[:aFile| aFile = aFilename]) == 0) ifTrue:[
- self currentFileNameHolder value:(OrderedCollection with:(aFilename asAbsoluteFilename)).
+ (currentSel includes:aFilename) ifTrue:[
+ self currentFileNameHolder
+ value:(OrderedCollection with:(aFilename asAbsoluteFilename)).
].
!
@@ -2589,7 +2590,7 @@
self currentFilesAreInSameDirectory ifFalse:[^ self].
directories := self currentDirectories value.
self addBookmarks:directories.
- self class saveBookmarksIn:(self class defaultBookMarksFileDirectory asFilename construct:self class defaultBookMarksFilename)
+ self class saveBookmarksIn:(self class defaultBookMarksFileDirectory construct:self class defaultBookMarksFilename)
!
addBookmarks:aColOfDirectories
@@ -2725,31 +2726,29 @@
!
currentFileNameHolder
-
- " returns a OrderedCollection of all files that are selected
- if no file but a directory is selected it contains the directories
- in contrast to currentDirectories which have only the directories
- "
+ "return a ValueHolder with an OrderedCollection containing all selected files.
+ If no file but a directory is selected it contains the directories
+ in contrast to currentDirectories which have only the directories"
+
^ self aspectFor:#currentFileNameHolder ifAbsent:[
- | currentSel |
+ |currentSel|
currentSel := self class currentSelection.
- currentSel notEmpty ifTrue:[
- currentSel asValue
- ] ifFalse:[
- (OrderedCollection with:(Filename currentDirectory asAbsoluteFilename)) asValue
- ]
+ currentSel isEmpty ifTrue:[
+ currentSel := OrderedCollection with:(Filename currentDirectory asAbsoluteFilename)
+ ].
+ currentSel asValue
] notPresentDo:[:holder|
- | filenames newFilenames|
+ |filenames newFilenames|
filenames := holder value.
newFilenames := Set new.
- filenames do:[:filename | | fn |
- fn := filename.
- fn notNil ifTrue:[
- [fn exists not] whileTrue:[
- fn := fn directory.
+ filenames do:[:eachFilename| |existingFilename|
+ existingFilename := eachFilename.
+ existingFilename notNil ifTrue:[
+ [existingFilename exists] whileFalse:[
+ existingFilename := existingFilename directory.
].
- newFilenames add:fn.
+ newFilenames add:existingFilename.
]
].
newFilenames asOrderedCollection.
@@ -2787,9 +2786,12 @@
!
hasTwoFilesSelectedHolder
- ^ self
- aspectFor:#hasTwoFilesSelectedHolder
- ifAbsent:[ BlockValue with:[self hasTwoFilesSelected] argument:self currentFileNameHolder].
+ ^ self aspectFor:#hasTwoFilesSelectedHolder
+ ifAbsent:[
+ BlockValue
+ with:[self hasTwoFilesSelected]
+ argument:self currentFileNameHolder
+ ].
!
notify:aString
@@ -2819,8 +2821,8 @@
!
aspectFor:aKey ifAbsent:aBlock notPresentDo:notPresentBlock
- "returns the model for an aspect
- "
+ "return the model for an aspect"
+
|holder saveAspectItem aspect|
holder := aspects at:aKey ifAbsent:[
@@ -3751,16 +3753,6 @@
!AbstractFileBrowser methodsFor:'menu accessing'!
bookmarksMenuSpec
- "This resource specification was automatically generated
- by the MenuEditor of ST/X."
-
- "Do not manually edit this!! If it is corrupted,
- the MenuEditor may not be able to read the specification."
-
- "
- MenuEditor new openOnClass:FileBrowser andSelector:#bookmarksMenuSpec
- (Menu new fromLiteralArrayEncoding:(AbstractFileBrowser bookmarksMenuSpec)) startUp
- "
<resource: #programMenu>
|menu bookmarks|
@@ -3768,10 +3760,10 @@
menu := self class baseBookmarksMenuSpec decodeAsLiteralArray.
menu findGuiResourcesIn:self.
menu receiver:self.
- bookmarks := self class directoryBookmarks.
+
"/ add the bookmark items ...
-
- bookmarks size > 0 ifTrue:[
+ bookmarks := self class directoryBookmarks.
+ bookmarks notEmptyOrNil ifTrue:[
menu addItem:(MenuItem labeled:'-').
bookmarks do:[:dirName |
menu addItem:((MenuItem label:dirName asString value:[
@@ -4033,7 +4025,7 @@
log isNil ifTrue:[^ self].
sel := self currentFileNameHolder value.
sel isEmpty ifTrue:[ ^ self ].
- executionBlock := [ : stream |
+ executionBlock := [:stream |
log notNil ifTrue:[
sel size > 0 ifTrue:[
sel do:[:fn |
@@ -4765,7 +4757,7 @@
files notEmpty ifTrue:[
filename := files first.
] ifFalse:[
- filename := (Filename homeDirectory).
+ filename := Filename homeDirectory.
].
FindFileApplication openOnFileName:filename for:self.
!
@@ -5654,11 +5646,11 @@
"get stat info on selected file - return a string which can be
shown in a box"
- | selFiles filename fileOutput type modeBits modeString s isLink info
- sizeString fileSize tAccess tModification buffer|
+ |selFiles filename fileOutput type modeBits modeString s isLink info
+ sizeString fileSize tAccess tModification buffer|
selFiles := self currentFileNameHolder value.
- ((selFiles size == 1) not) ifTrue:[ ^ nil].
+ selFiles size ~~ 1 ifTrue:[ ^ nil].
filename := selFiles first.
buffer := '' asText writeStream.
@@ -5939,28 +5931,24 @@
currentSelectedFiles
- | files |
- files := self currentFileNameHolder value.
- ^ (files select:[: file | file isDirectory not]).
+ ^ self currentFileNameHolder value select:[:file | file isDirectory not].
!
firstSelectedFile
-
- | files |
- files := self currentFileNameHolder value.
- ^ (files detect:[: file | file asFilename isDirectory not] ifNone:[nil]).
+ ^ self currentFileNameHolder value
+ detect:[:file | file asFilename isDirectory not]
+ ifNone:[].
!
hasOnlyFilesSelected
- | files |
- files := self currentFileNameHolder value.
- ^ (files conform:[: file | file isDirectory not]).
+
+ ^ self currentFileNameHolder value conform:[:file | file isDirectory not].
!
hasTwoFilesSelected
- | files |
- files := self currentFileNameHolder value.
- ^ (files size == 2 and:[self hasOnlyFilesSelected])
+
+ ^ self currentFileNameHolder value size == 2
+ and:[self hasOnlyFilesSelected]
! !
!AbstractFileBrowser methodsFor:'sorting'!
@@ -6479,5 +6467,5 @@
!AbstractFileBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.186 2003-11-19 16:45:37 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.187 2003-11-24 19:56:10 stefan Exp $'
! !