class: DirectoryView
authorClaus Gittinger <cg@exept.de>
Thu, 20 Jun 2013 12:30:12 +0200
changeset 3018 31dc0e6c143e
parent 3017 d971763e5d03
child 3019 8f9d189e1c21
class: DirectoryView comment/format in: #readMonitoringDirectory
DirectoryView.st
--- a/DirectoryView.st	Wed Jun 05 16:26:02 2013 +0200
+++ b/DirectoryView.st	Thu Jun 20 12:30:12 2013 +0200
@@ -495,58 +495,50 @@
 !
 
 readMonitoringDirectory
+    |readBlock|
 
-    |readBlock|
     readTask notNil ifTrue: [readTask terminate].
     readBlock :=
-    [
-        |dir currentFilenames oldListOfFiles|
-        dir := directory asFilename.
-        currentFilenames := OrderedCollection new.
-        (dir isReadable and:[dir isExecutable]) ifTrue:
         [
-            self listOfFileFilters value do:
-            [:filter|
-                (dir filesMatchingWithoutDotDirs: filter) do:
-                [:aFileName|
-                    |file|
-                    (file := dir construct: aFileName) isDirectory
-                    ifFalse:
-                    [
-                        currentFilenames add: file
-                    ]
+            |dir currentFilenames oldListOfFiles|
+
+            dir := directory asFilename.
+            currentFilenames := OrderedCollection new.
+            (dir isReadable and:[dir isExecutable]) ifTrue: [
+                self listOfFileFilters value do:
+                [:filter|
+                    (dir filesMatchingWithoutDotDirs: filter) do: [:aFileName|
+                        |file|
+                        (file := dir construct: aFileName) isDirectory ifFalse: [
+                            currentFilenames add: file
+                        ]
+                    ].
                 ].
             ].
+            oldListOfFiles := self listOfFiles copy.
+            (currentFilenames asSortedCollection: [:f1 :f2| f1 baseName < f2 baseName]) asSet 
+                do: [:fileName| 
+                    (oldListOfFiles detect: [:fileRow| fileRow fileName = fileName] ifNone: nil) isNil
+                    ifTrue: [
+                        |nearestFileRow r|
+                        nearestFileRow := self listOfFiles indexOf: (self listOfFiles detect: [:fileRow| fileRow baseName > fileName baseName] ifNone: nil).
+                        nearestFileRow = 0
+                            ifTrue: [self listOfFiles add: (r := FileRow new fileName: fileName asFilename)]
+                            ifFalse: [self listOfFiles add: (r := FileRow new fileName: fileName asFilename) beforeIndex: nearestFileRow].
+                        monitoring ifTrue: [self selectionOfFile value: r].
+                    ]
+                ].
+            self listOfFiles 
+                reverseDo: [:fileRow|
+                    (currentFilenames includes: fileRow fileName)
+                    ifFalse: [self listOfFiles remove: fileRow]
+                ]
         ].
-        oldListOfFiles := self listOfFiles copy.
-        (currentFilenames asSortedCollection: [:f1 :f2| f1 baseName < f2 baseName]) asSet do: 
-        [:fileName| 
-            (oldListOfFiles detect: [:fileRow| fileRow fileName = fileName] ifNone: nil) isNil
-            ifTrue:                                                                             
-            [
-                |nearestFileRow r|
-                nearestFileRow := self listOfFiles indexOf: (self listOfFiles detect: [:fileRow| fileRow baseName > fileName baseName] ifNone: nil).
-                nearestFileRow = 0
-                ifTrue: [self listOfFiles add: (r := FileRow new fileName: fileName asFilename)]
-                ifFalse: [self listOfFiles add: (r := FileRow new fileName: fileName asFilename) beforeIndex: nearestFileRow].
-                monitoring ifTrue: [self selectionOfFile value: r].
-            ]
-        ].
-        self listOfFiles reverseDo:
-        [:fileRow|
-            (currentFilenames includes: fileRow fileName)
-            ifFalse: [self listOfFiles remove: fileRow]
-        ]
-    ].
 
-    monitoring
-    ifTrue:
-    [
+    monitoring ifTrue: [
         readTask := readBlock forkAt: Processor userBackgroundPriority.
         Processor addTimedBlock: monitoringTimeBlock afterSeconds: 1
-    ]
-    ifFalse:
-    [
+    ] ifFalse: [
         Cursor wait showWhile: [readBlock value]
     ]
 ! !