--- a/FileBrowser.st Wed Sep 11 14:55:33 2002 +0200
+++ b/FileBrowser.st Wed Sep 11 15:18:18 2002 +0200
@@ -429,6 +429,112 @@
VisitedFileHistory addFirst:path.
! !
+!FileBrowser class methodsFor:'icon - presentation'!
+
+fileTypeFor:aFilename
+ |key|
+
+ aFilename isDirectory ifTrue:[
+ key := #directory.
+ ] ifFalse:[
+ key := #file.
+ aFilename isExecutableProgram ifTrue:[
+ key := #executableFile
+ ].
+ ].
+"/ aFilename isDirectory ifTrue:[
+"/ aFilename isSymbolicLink ifTrue:[
+"/ key := #directoryLink
+"/ ] ifFalse:[
+"/ key := #directory.
+"/ (aFilename isReadable not or:[aFilename isExecutable not]) ifTrue:[
+"/ key := #directoryLocked
+"/ ].
+"/ ]
+"/ ] ifFalse:[
+"/ aFilename isSymbolicLink ifTrue:[
+"/ aFilename isReadable not ifTrue:[
+"/ key := #fileLocked
+"/ ] ifFalse:[
+"/ key := #fileLink
+"/ ]
+"/ ] ifFalse:[
+"/ key := #file.
+"/ aFilename isExecutableProgram ifTrue:[
+"/ key := #executableFile
+"/ ].
+"/ (aFilename isReadable not) ifTrue:[
+"/ key := #fileLocked
+"/ ].
+"/ ].
+"/ ].
+
+ ^ key
+!
+
+getAddOnIconsFor:aFilename
+ "given a fileName, return an appropriate icon"
+
+ | addIcns isDirectory isReadable|
+
+ addIcns := OrderedCollection new.
+ aFilename isSymbolicLink ifTrue:[
+ addIcns add:(self iconForKeyMatching:#addOnLinked).
+ ].
+ isDirectory := aFilename isDirectory.
+ isReadable := aFilename isReadable.
+ ((isReadable not and:[isDirectory not]) or:[(isDirectory) and:[(isReadable not) or:[aFilename isExecutable not]]]) ifTrue:[
+ addIcns add:(self iconForKeyMatching:#addOnLocked).
+ ].
+ ^ addIcns
+!
+
+iconForFile:aFilename
+ "given a fileName, return an appropriate icon"
+
+ |icn addIcns|
+
+ icn := self iconForKeyMatching:(self iconKeyForFile:aFilename).
+ addIcns := self getAddOnIconsFor:aFilename.
+ addIcns notEmpty ifTrue:[
+ addIcns addFirst:icn.
+ ^ MultiImage images:addIcns.
+ ].
+ ^ icn
+!
+
+iconForKeyMatching:mimeTypeOrKey
+ |assoc icn|
+
+ icn := Icons at:mimeTypeOrKey ifAbsent:nil.
+ icn notNil ifTrue:[^ icn].
+ assoc := MatchedIcons detect:[:assoc | assoc key match:mimeTypeOrKey] ifNone:nil.
+ assoc notNil ifTrue:[^ assoc value].
+ ^ nil.
+!
+
+iconKeyForFile:aFilenameArg
+ "given a fileName, return an appropriate icon"
+
+ |aFilename fileType mimeType suffix|
+
+ aFilename := aFilenameArg.
+
+ fileType := self fileTypeFor:aFilename.
+
+ aFilename isDirectory ifFalse:[
+ "/ aFilename isReadable ifTrue:[
+ suffix := aFilename suffix.
+ (suffix = 'bak' or:[suffix = 'sav']) ifTrue:[
+ aFilename := aFilename withoutSuffix.
+ ].
+ mimeType := MIMETypes mimeTypeForFilename:aFilename.
+ "/ ].
+ ].
+
+ ^ (mimeType ? fileType).
+! !
+
!FileBrowser class methodsFor:'interface specs'!
fileSearchDialogSpec
@@ -1539,112 +1645,6 @@
^ m
! !
-!FileBrowser class methodsFor:'private - presentation'!
-
-fileTypeFor:aFilename
- |key|
-
- aFilename isDirectory ifTrue:[
- key := #directory.
- ] ifFalse:[
- key := #file.
- aFilename isExecutableProgram ifTrue:[
- key := #executableFile
- ].
- ].
-"/ aFilename isDirectory ifTrue:[
-"/ aFilename isSymbolicLink ifTrue:[
-"/ key := #directoryLink
-"/ ] ifFalse:[
-"/ key := #directory.
-"/ (aFilename isReadable not or:[aFilename isExecutable not]) ifTrue:[
-"/ key := #directoryLocked
-"/ ].
-"/ ]
-"/ ] ifFalse:[
-"/ aFilename isSymbolicLink ifTrue:[
-"/ aFilename isReadable not ifTrue:[
-"/ key := #fileLocked
-"/ ] ifFalse:[
-"/ key := #fileLink
-"/ ]
-"/ ] ifFalse:[
-"/ key := #file.
-"/ aFilename isExecutableProgram ifTrue:[
-"/ key := #executableFile
-"/ ].
-"/ (aFilename isReadable not) ifTrue:[
-"/ key := #fileLocked
-"/ ].
-"/ ].
-"/ ].
-
- ^ key
-!
-
-getAddOnIconsFor:aFilename
- "given a fileName, return an appropriate icon"
-
- | addIcns isDirectory isReadable|
-
- addIcns := OrderedCollection new.
- aFilename isSymbolicLink ifTrue:[
- addIcns add:(self iconForKeyMatching:#addOnLinked).
- ].
- isDirectory := aFilename isDirectory.
- isReadable := aFilename isReadable.
- ((isReadable not and:[isDirectory not]) or:[(isDirectory) and:[(isReadable not) or:[aFilename isExecutable not]]]) ifTrue:[
- addIcns add:(self iconForKeyMatching:#addOnLocked).
- ].
- ^ addIcns
-!
-
-iconForFile:aFilename
- "given a fileName, return an appropriate icon"
-
- |icn addIcns|
-
- icn := self iconForKeyMatching:(self iconKeyForFile:aFilename).
- addIcns := self getAddOnIconsFor:aFilename.
- addIcns notEmpty ifTrue:[
- addIcns addFirst:icn.
- ^ MultiImage images:addIcns.
- ].
- ^ icn
-!
-
-iconForKeyMatching:mimeTypeOrKey
- |assoc icn|
-
- icn := Icons at:mimeTypeOrKey ifAbsent:nil.
- icn notNil ifTrue:[^ icn].
- assoc := MatchedIcons detect:[:assoc | assoc key match:mimeTypeOrKey] ifNone:nil.
- assoc notNil ifTrue:[^ assoc value].
- ^ nil.
-!
-
-iconKeyForFile:aFilenameArg
- "given a fileName, return an appropriate icon"
-
- |aFilename fileType mimeType suffix|
-
- aFilename := aFilenameArg.
-
- fileType := self fileTypeFor:aFilename.
-
- aFilename isDirectory ifFalse:[
- "/ aFilename isReadable ifTrue:[
- suffix := aFilename suffix.
- (suffix = 'bak' or:[suffix = 'sav']) ifTrue:[
- aFilename := aFilename withoutSuffix.
- ].
- mimeType := MIMETypes mimeTypeForFilename:aFilename.
- "/ ].
- ].
-
- ^ (mimeType ? fileType).
-! !
-
!FileBrowser class methodsFor:'queries'!
isVisualStartable
@@ -8083,5 +8083,5 @@
!FileBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.491 2002-09-11 12:55:33 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileBrowser.st,v 1.492 2002-09-11 13:18:18 penk Exp $'
! !