--- a/DirectoryContentsBrowser.st Mon May 02 13:43:24 2011 +0200
+++ b/DirectoryContentsBrowser.st Tue May 03 12:18:13 2011 +0200
@@ -2364,7 +2364,7 @@
!
directoryContentsChanged
- |oldItems addItems remItems newItems newAllItems theAllItems|
+ |oldItems itemsToAdd itemsToRemove newItems newAllItems oldAllItems|
directory isNil ifTrue:[^ self].
newAllItems := self readDirectoryItems.
@@ -2373,19 +2373,18 @@
self createItemList.
^ self
].
+
newItems := self evaluateFilter:newAllItems.
oldItems := filteredItems copy.
- addItems := OrderedCollection new.
- remItems := OrderedCollection new.
-
- oldItems isEmptyOrNil ifTrue:[
- remItems := oldItems.
- ] ifFalse:[
+ itemsToAdd := OrderedCollection new.
+ itemsToRemove := OrderedCollection new.
+
+ oldItems notEmptyOrNil ifTrue:[
"/ MERGE WITH CURRENT CONTENTS
oldItems copy do:[:anOldItem|
"/ remove no longer valid files
(newItems includes:anOldItem) ifFalse:[
- remItems add:anOldItem.
+ itemsToRemove add:anOldItem.
oldItems removeIdentical:anOldItem
]
].
@@ -2393,26 +2392,26 @@
"/ add new files
newItems do:[:aNewItem|
(oldItems includes:aNewItem) ifFalse:[
- addItems add:aNewItem.
+ itemsToAdd add:aNewItem.
]
].
- theAllItems := self allItems.
- remItems notEmpty ifTrue:[
- theAllItems removeAll:remItems
+ oldAllItems := self allItems.
+ itemsToRemove notEmpty ifTrue:[
+ oldAllItems removeAll:itemsToRemove
].
- addItems do:[: aNewItem |
- (theAllItems includes:aNewItem) ifFalse:[
- theAllItems add:aNewItem.
+ itemsToAdd do:[: aNewItem |
+ (oldAllItems includes:aNewItem) ifFalse:[
+ oldAllItems add:aNewItem.
]
].
self
enqueueMessage:#value
- for:[ self browserItemListAdd:addItems remove:remItems. ]
+ for:[ self browserItemListAdd:itemsToAdd remove:itemsToRemove. ]
arguments:#().
filteredItems := newItems.
- "Modified: / 12-12-2006 / 17:29:14 / cg"
+ "Modified: / 01-05-2011 / 08:24:29 / cg"
!
evaluateFilter:anItemsList
@@ -3328,9 +3327,9 @@
!DirectoryContentsBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.236 2011-03-02 22:42:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.237 2011-05-03 10:18:13 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.236 2011-03-02 22:42:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.237 2011-05-03 10:18:13 cg Exp $'
! !