diff -r 6e9480e52468 -r 08b2b63e3107 AbstractFileBrowser.st --- 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 $' ! !