FileOperation.st
changeset 15096 8fefa892330b
parent 14280 48dcdb213e34
child 15453 8e8f26585ce1
--- a/FileOperation.st	Wed Jan 21 10:49:33 2015 +0100
+++ b/FileOperation.st	Wed Jan 21 11:32:33 2015 +0100
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libtool' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#FileOperation
 	instanceVariableNames:'errorString result actionForAll'
 	classVariableNames:''
@@ -813,35 +815,38 @@
     startBaseName := startDirectory baseName.
     initialAnswer := initialAnswerArg.
     (startDirectory construct:initialAnswer) exists ifTrue:[
-	initialAnswer := nil.
+        initialAnswer := nil.
     ].
     newName := Dialog
-		    request:(resources string:'Create New Directory in %1:' with:startBaseName allBold)
-		    initialAnswer:initialAnswer
-		    okLabel:(resources string:'Create')
-		    title:(resources string:'Create Directory')
-		    onCancel:[
-			self result:false.
-			^ self
-		    ].
+                    request:(resources string:'Create New Directory in %1:' with:startBaseName allBold)
+                    initialAnswer:initialAnswer
+                    okLabel:(resources string:'Create')
+                    title:(resources string:'Create Directory')
+                    onCancel:[
+                        self result:false.
+                        ^ self
+                    ].
     newName isEmpty ifTrue:[
-	self result:false.
-	^ self
+        self result:false.
+        ^ self
     ].
     newDir := startDirectory construct:newName.
     newDir exists ifTrue:[
-	Dialog warn:(newName, ' already exists.').
-	result := false.
-	^ self
+        Dialog warn:(newName, ' already exists.').
+        result := false.
+        ^ self
     ].
 
-    newDir makeDirectory ifFalse:[
-	msg := errorString := ('cannot create directory '', newName,'' !!') , '(', (OperatingSystem lastErrorString) , ')'.
-	errorString := msg.
-	Dialog warn:errorString.
-	result := false.
-	^ self
+    OsError handle:[:ex|
+        msg := errorString := 'cannot create directory "', newName,'" (', (OperatingSystem lastErrorString) , ')'.
+        errorString := msg.
+        Dialog warn:errorString.
+        result := false.
+        ^ self
+    ] do:[
+        newDir makeDirectory
     ].
+
     self createdFile:newDir.
     LastCreatedDirectory := newDir.
     result := true.
@@ -857,52 +862,52 @@
     resources := AbstractFileBrowser classResources.
 
     aFile isDirectory ifTrue:[
-	directory := aFile
+        directory := aFile
     ] ifFalse:[
-	directory := aFile directory.
-	file := aFile
+        directory := aFile directory.
+        file := aFile
     ].
     LastCreatedFile isNil ifTrue:[
-	defaultFile := aFile baseName.
+        defaultFile := aFile baseName.
     ] ifFalse:[
-	defaultFile := LastCreatedFile baseName.
+        defaultFile := LastCreatedFile baseName.
     ].
     newName := Dialog
-		    request:(resources string:'Create New File in %1:' with:directory baseName allBold)
-		    initialAnswer:defaultFile
-		    okLabel:(resources string:'Create')
-		    title:(resources string:'Create File')
-		    onCancel:[
-			self result:false.
-			^ self
-		    ].
+                    request:(resources string:'Create New File in %1:' with:directory baseName allBold)
+                    initialAnswer:defaultFile
+                    okLabel:(resources string:'Create')
+                    title:(resources string:'Create File')
+                    onCancel:[
+                        self result:false.
+                        ^ self
+                    ].
     newName isEmpty ifTrue:[
-	self result:false.
+        self result:false.
     ] ifFalse:[
-	| newFile |
-	newFile := directory construct:newName.
-	newFile exists ifTrue:[
-	    (Dialog
-		confirm:(newName, ' already exists truncate ?')
-		yesLabel:('Truncate')
-		noLabel:('Cancel'))
-	    ifFalse:[
-		self result:false.
-		^ self
-	    ].
-	].
-	FileStream openErrorSignal handle:[:ex|
-	    msg := ('Cannot create file '', newName,'' !!') , '(' , (FileStream lastErrorString) , ')'.
-	    errorString := msg.
-	    self result:false.
-	    ^ Dialog warn:errorString
-	] do:[
-	    aStream := newFile newReadWriteStream.
-	].
-	aStream close.
-	self createdFile:newFile.
-	LastCreatedFile := newFile.
-	self result:true.
+        | newFile |
+        newFile := directory construct:newName.
+        newFile exists ifTrue:[
+            (Dialog
+                confirm:(newName, ' already exists truncate ?')
+                yesLabel:('Truncate')
+                noLabel:('Cancel'))
+            ifFalse:[
+                self result:false.
+                ^ self
+            ].
+        ].
+        FileStream openErrorSignal handle:[:ex|
+            msg := 'Cannot create file "', newName,'" (' , (FileStream lastErrorString) , ')'.
+            errorString := msg.
+            self result:false.
+            ^ Dialog warn:errorString
+        ] do:[
+            aStream := newFile newReadWriteStream.
+        ].
+        aStream close.
+        self createdFile:newFile.
+        LastCreatedFile := newFile.
+        self result:true.
     ].
 !
 
@@ -1627,10 +1632,10 @@
 !FileOperation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.96 2014-04-19 23:05:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.97 2015-01-21 10:32:33 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.96 2014-04-19 23:05:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.97 2015-01-21 10:32:33 stefan Exp $'
 ! !