--- 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 $'
! !