2156 ]. |
2157 ]. |
2157 "/ Transcript showCR:'STOP'. |
2158 "/ Transcript showCR:'STOP'. |
2158 ] |
2159 ] |
2159 ! |
2160 ! |
2160 |
2161 |
2161 updateLoop |
2162 updateStep |
2162 |
2163 AbortSignal handle:[ |
2163 ^ [ |
2164 self debugMessage:'get an abort signal'. |
2164 [true] whileTrue:[ |
2165 self directoryContentsChangeFlag:false. |
2165 AbortSignal handle:[ |
2166 self filterChangeFlag:false. |
2166 self debugMessage:'get an abort signal'. |
2167 self sortBlockChangeFlag:false. |
2167 self directoryContentsChangeFlag:false. |
2168 ] do:[ |
2168 self filterChangeFlag:false. |
2169 | timeOut | |
2169 self sortBlockChangeFlag:false. |
2170 self debugMessage:'sema wait'. |
2170 ] do:[ |
2171 timeOut := (self changeSema waitWithTimeoutMs:(self class updateTaskCyleTime)) isNil. |
2171 | timeOut | |
2172 self debugMessage:'timeOut:', timeOut asString. |
2172 self debugMessage:'sema wait'. |
2173 (self filterChangeFlag or:[self sortBlockChangeFlag or:[self directoryChangeFlag]]) ifTrue:[ |
2173 timeOut := (self changeSema waitWithTimeoutMs:(self class updateTaskCyleTime)) isNil. |
2174 | oldCursor | |
2174 self debugMessage:'timeOut:', timeOut asString. |
2175 oldCursor := self window cursor. |
2175 (self filterChangeFlag or:[self sortBlockChangeFlag or:[self directoryChangeFlag]]) ifTrue:[ |
2176 self showCursor:(Cursor execute). |
2176 | oldCursor | |
2177 self updateBlock value:timeOut. |
2177 oldCursor := self window cursor. |
2178 self showCursor:oldCursor. |
2178 self showCursor:(Cursor execute). |
2179 ] ifFalse:[ |
2179 self updateBlock value:timeOut. |
2180 self updateBlock value:timeOut. |
2180 self showCursor:oldCursor. |
|
2181 ] ifFalse:[ |
|
2182 self updateBlock value:timeOut. |
|
2183 ] |
|
2184 ] |
|
2185 ] |
2181 ] |
2186 ] |
2182 ] |
2187 ! ! |
2183 ! ! |
2188 |
2184 |
2189 !DirectoryContentsBrowser methodsFor:'update task trigger'! |
2185 !DirectoryContentsBrowser methodsFor:'update task trigger'! |