AbstractFileBrowser.st
changeset 4636 08b2b63e3107
parent 4629 e8739857466c
child 4648 f36ffc19982c
--- a/AbstractFileBrowser.st	Sun Mar 02 19:35:03 2003 +0100
+++ b/AbstractFileBrowser.st	Sun Mar 02 19:36:14 2003 +0100
@@ -4049,7 +4049,14 @@
         
         dir := directories first.
 "/        self label: myName, '- gathering file names ...'.
-        fileNames := dir recursiveDirectoryContents.
+        [
+            fileNames := dir recursiveDirectoryContents.
+        ] on:FileStream openErrorSignal do:[:ex|
+            self warn:('Cannot access: %1\(%2)' 
+                            bindWith:ex parameter printString
+                            with:ex description) withCRs.
+            ^ self
+        ].
         fileNames := fileNames collect:[:fn | dir construct:fn].
         fileNames := fileNames select:[:fn | fn isDirectory not].
 
@@ -4137,10 +4144,10 @@
     ].
     textBox := TextBox new.
     textBox initialText:(stream contents).
-    textBox title:'File dublicates in directory: ', dir asString.
+    textBox title:'File duplicates in directory: ', dir asString.
     textBox readOnly:true.
     textBox noCancel.
-    textBox label:'Dublicates in ', dir asString.
+    textBox label:'Duplicates in ', dir asString.
     maxLength := 10.
     info do:[: el |
         maxLength := maxLength max:(el size).
@@ -4169,10 +4176,16 @@
 
         allFiles := OrderedCollection new.
         directories do:[ : dir|
-            fileNames := dir directoryContents.
-            fileNames := fileNames collect:[:fn | dir construct:fn].
-            fileNames := fileNames select:[:fn | fn isDirectory not].
-            allFiles addAll:fileNames.
+            [
+                fileNames := dir directoryContents.
+                fileNames := fileNames collect:[:fn | dir construct:fn].
+                fileNames := fileNames select:[:fn | fn isDirectory not].
+                allFiles addAll:fileNames.
+            ] on:FileStream openErrorSignal do:[:ex|
+                self warn:('Cannot access: %1\(%2)' 
+                                bindWith:ex parameter printString
+                                with:ex description) withCRs.
+            ].
         ].
 
         infoDir := Dictionary new.
@@ -4261,7 +4274,7 @@
         stream nextPutLine:el.
     ].
     titleStream := WriteStream on:''.
-    titleStream nextPutAll:'File dublicates in director'.
+    titleStream nextPutAll:'File duplicates in director'.
     directories size == 1 ifTrue:[
         titleStream nextPutAll:'y: ', directories first asString.
     ] ifFalse:[
@@ -4281,7 +4294,7 @@
     textBox title:(titleStream contents).
     textBox readOnly:true.
     textBox noCancel.
-    stream := WriteStream on:'Dublicates in '.
+    stream := WriteStream on:'Duplicates in '.
     directories do:[ :aDirectory |
         stream nextPutAll:aDirectory baseName.
         stream space.
@@ -4733,7 +4746,7 @@
         ] ifFalse:[ ((fileName hasSuffix:'cls') 
                      and:[((fileName mimeTypeOfContents ? '') startsWith:'application/x-smalltalk-source') not ]) ifTrue:[
             "/ loading a binary class file
-            aStream := fileName readStream.
+            aStream := fileName readStreamOrNil.
             aStream notNil ifTrue:[
                 aStream fileInBinary.
             ]
@@ -4758,7 +4771,7 @@
                 ]
             ] ifFalse:[
                 "/ loading a regular (chunk) or xml source file
-                aStream := fileName readStream.
+                aStream := fileName readStreamOrNil.
                 aStream notNil ifTrue:[
                     Error handle:[ : ex |
                         Dialog warn:'Error on file in: ', ex errorString.
@@ -4861,12 +4874,12 @@
 
         self notify:('Truncating:',  fileName baseName).
         fileName isDirectory ifFalse:[
-            s := fileName writeStream.
-            s isNil ifTrue:[
+            [
+                s := fileName writeStream.
+                s close.
+            ] on:FileStream openErrorSignal do:[:ex|
                 self warn:('Cannot truncate "%1".' bindWith:fileName baseName allBold).
-            ] ifFalse:[
-                s close.
-            ]
+            ].
         ]
     ].
     self notify:''.
@@ -5156,11 +5169,13 @@
 
 anyFilesPresentWithSuffix:suffix
 
-    | directories |
+    |directories|
 
     directories := self currentDirectories value.
-    directories do:[ : dir|
-        (dir directoryContents do:[:f| (f asFilename suffix = suffix) ifTrue:[ ^ true]])
+    directories do:[:dir|
+        [
+            (dir directoryContents do:[:f| (f asFilename suffix = suffix) ifTrue:[ ^ true]])
+        ] on:FileStream openErrorSignal do:[:ex|].
     ].
     ^ false.
 !
@@ -5838,5 +5853,5 @@
 !AbstractFileBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.104 2003-02-28 11:41:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.105 2003-03-02 18:36:14 stefan Exp $'
 ! !