--- a/DirectoryContentsBrowser.st Mon Apr 30 23:30:07 2018 +0200
+++ b/DirectoryContentsBrowser.st Wed May 02 17:30:36 2018 +0200
@@ -2470,7 +2470,7 @@
self allItems notEmpty ifTrue:[
"/ update icon for invisible items by suffix
desc := self findNextItemFor:[:n| n iconOrNil isNil ].
- desc notNil ifTrue:[
+ (desc notNil and:[desc icon isNil]) ifTrue:[
icon := self getIconFor:desc.
icon notNil ifTrue:[
desc icon:icon.
@@ -2773,10 +2773,11 @@
self updateStep
]
] newProcess.
- updateTask name:'DirectoryContentsBrowser updateTask'.
- updateTask priorityRange:(Processor userBackgroundPriority to:Processor activePriority).
- updateTask restartable:true.
- updateTask resume.
+ updateTask
+ name:'DirectoryContentsBrowser updateTask';
+ priorityRange:(Processor userBackgroundPriority to:Processor activePriority-1);
+ restartable:true;
+ resume.
].
"Modified: / 10-08-2010 / 14:03:57 / sr"
@@ -2845,14 +2846,12 @@
updateStep
|timedOut sensor|
- "/ Processor yield.
-
sensor := self windowGroup sensor.
(sensor anyButtonPressed or:[sensor shiftDown]) ifTrue:[
Processor yield.
"/ no update while scrolling
- timedOut := ( changeSema waitWithTimeoutMs:(self class updateTaskCyleTime milliseconds) ) isNil.
+ timedOut := (changeSema waitWithTimeout:(self class updateTaskCyleTime)) isNil.
timedOut ifFalse:[changeSema signal].
^ self
].
@@ -2868,7 +2867,7 @@
timedOut := false
] ifFalse:[
self debugMessage:'sema wait'.
- timedOut := (changeSema waitWithTimeoutMs:(self class updateTaskCyleTime asMilliseconds)) isNil.
+ timedOut := (changeSema waitWithTimeout:(self class updateTaskCyleTime)) isNil.
self debugMessage:'timedOut:', timedOut asString.
].
@@ -3374,28 +3373,25 @@
hasBeenModified
"check if item modification time has changed"
- |info|
-
+ |info oldModificationTime|
+
+ "do not automount remote directories"
self isRemoteDirectory ifTrue:[^ false].
"/ root directories are not verified
fileName isRootDirectory ifTrue:[ ^ false ].
-
fileInfo isNil ifTrue:[
- "first time of invokation "
- info := self getFileInfo.
- info isNil ifTrue:[ ^ false].
- ^ true
+ "first time of invocation"
+ ^ self getFileInfo notNil.
].
fileInfo isSymbolicLink ifTrue:[
"/ symbolic links are not verified
^ false
].
-
- self modificationTime ~= fileName modificationTime ifTrue:[
- ^ true
- ].
- ^ false
+ oldModificationTime := fileInfo modificationTime.
+ fileInfo := nil.
+ info := self getFileInfo.
+ ^ info isNil or:[oldModificationTime ~= info modificationTime].
! !
!DirectoryContentsBrowser::DirectoryContentsItem methodsFor:'comparing'!