--- a/DirectoryContentsBrowser.st Wed Dec 17 08:48:16 2008 +0100
+++ b/DirectoryContentsBrowser.st Wed Dec 17 08:49:34 2008 +0100
@@ -2308,18 +2308,27 @@
modificationCycle
| oldModificationTime desc|
- directory notNil ifTrue:[
- directory exists ifFalse:[
- self directoryChangeFlag:true.
- ^ self
- ].
- oldModificationTime := modificationTime.
- modificationTime := directory modificationTime.
- (directory notNil and:[oldModificationTime ~= directory modificationTime]) ifTrue:[
- self wakeUpForDirectoryContentsChanged.
- ].
+
+ directory isNil ifTrue:[^ self].
+
+ directory exists ifFalse:[
+ self directoryChangeFlag:true.
+ ^ self
+ ].
+ directory isRootDirectory ifTrue:[
+ ^ self
].
+
+ oldModificationTime := modificationTime.
+ modificationTime := directory modificationTime.
+
+ oldModificationTime ~= modificationTime ifTrue:[
+ self wakeUpForDirectoryContentsChanged.
+ ^ self
+ ].
+
desc := self findNextItemFor:[:n| n hasBeenModified ].
+
desc notNil ifTrue:[
desc resetItem.
browser invalidateVisibleRow:desc.
@@ -2335,7 +2344,6 @@
"/ |filterTime sortTime getAllTime|
directory notNil ifTrue:[
- modificationTime := directory modificationTime.
"/ getAllTime := Time millisecondsToRun:[
self allItems:self readDirectoryItems.
"/ ].
@@ -2385,8 +2393,8 @@
|oldItems addItems remItems newItems newAllItems theAllItems|
directory isNil ifTrue:[^ self].
- modificationTime := directory modificationTime.
newAllItems := self readDirectoryItems.
+
newAllItems size > 150 ifTrue:[
self createItemList.
^ self
@@ -2475,10 +2483,13 @@
readDirectoryItems
|list contents itemClass|
- list := OrderedCollection new.
- (directory notNil and:[directory exists]) ifTrue:[
+ list := OrderedCollection new.
+ contents := DirectoryContents directoryNamed:directory.
+
+ contents notEmptyOrNil ifTrue:[
itemClass := DirectoryContentsBrowser itemClass.
- contents := DirectoryContents directoryNamed:directory.
+ modificationTime := contents modificationTime.
+
contents itemsDo:[:eachItem|
list add:(itemClass forInfoItem:eachItem).
].
@@ -3000,6 +3011,9 @@
|info|
self isRemoteDirectory ifTrue:[^ false].
+ "/ root directories are not verified
+ fileName isRootDirectory ifTrue:[ ^ false ].
+
fileInfo isNil ifTrue:[
"first time of invokation "
@@ -3288,5 +3302,5 @@
!DirectoryContentsBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.218 2008-11-06 08:42:37 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DirectoryContentsBrowser.st,v 1.219 2008-12-17 07:49:34 ca Exp $'
! !