--- a/DirectoryContentsBrowser.st Wed Oct 16 18:24:46 2002 +0200
+++ b/DirectoryContentsBrowser.st Thu Oct 17 10:11:31 2002 +0200
@@ -3,11 +3,11 @@
AbstractFileBrowser subclass:#DirectoryContentsBrowser
instanceVariableNames:'readDirectoryTask updateDirectoryContentsTask updateColumnsTask
modificationTime directory columnDescriptors iconIndex
- fileDescriptionIndex iconExtent tableColumns currentSortOrder
- previewIndex allItemsList currentItemList wantSelectFiles
- updateToExternFileHolderLock updateTaskSema inDropMode
- draggedItem canDropItem viewBrowserMenu updateContentsSelection
- selectionInFileList contentsBrowser browserItemList'
+ fileDescriptionIndex iconExtent tableColumns previewIndex
+ allItemsList currentItemList wantSelectFiles
+ updateToExternFileHolderLock inDropMode draggedItem canDropItem
+ viewBrowserMenu updateContentsSelection selectionInFileList
+ contentsBrowser browserItemList'
classVariableNames:''
poolDictionaries:''
category:'Interface-Tools-File'
@@ -898,7 +898,7 @@
doubleClickedAt:anItemIndex
self withWaitCursorDo:[
- self enterActionFor:(self selectedItems first). "/ anItemIndex.
+ self enterActionFor:(self browserItemList at:anItemIndex). "/ anItemIndex.
]
!
@@ -951,7 +951,7 @@
self updateColumnsTaskStop.
browserItemList contents:anItemCollection.
self updateColumnsTaskStart.
- wantSelectFiles notNil ifTrue:[
+ (wantSelectFiles notNil and:[wantSelectFiles notEmpty]) ifTrue:[
self selectFiles:wantSelectFiles.
].
]
@@ -1148,14 +1148,16 @@
!DirectoryContentsBrowser methodsFor:'directory contents'!
evaluateFilter
- |filterBlock |
+ |filterBlock showDir|
currentItemList := OrderedCollection new.
allItemsList size ~~ 0 ifTrue:[
filterBlock := self filterBlockHolder value.
- allItemsList do:[:aItem |
- (aItem isDirectory or:[filterBlock value:aItem baseName]) ifTrue:[
+ showDir := self viewDirectoriesInDirectoryContentsBrowser value.
+ allItemsList do:[:aItem | |isDir|
+ isDir := aItem isDirectory.
+ ((isDir and:[showDir]) or:[isDir not and:[filterBlock value:aItem baseName]]) ifTrue:[
currentItemList add:aItem
]
].
@@ -1531,10 +1533,8 @@
| sel|
sel := browserItemList copy.
- sel notEmpty ifTrue:[
- sel first fileName baseName = '..' ifTrue:[
- sel removeFirst.
- ]
+ self viewDirectoriesInDirectoryContentsBrowser value ifTrue:[
+ sel removeIdentical:(browserItemList first) ifAbsent:[nil]
].
self selectionInFileList value:sel.
!
@@ -1582,7 +1582,7 @@
self viewDirectoriesInDirectoryContentsBrowser value ifTrue:[
sel removeIdentical:(browserItemList first) ifAbsent:[nil]
].
- ^ self selectionInFileList value.
+ ^ sel.
! !
!DirectoryContentsBrowser methodsFor:'startup / release'!
@@ -2548,5 +2548,5 @@
!DirectoryContentsBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.27 2002-10-16 16:24:46 penk Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.28 2002-10-17 08:11:31 penk Exp $'
! !