--- a/FileOperation.st Tue Aug 29 12:11:26 2006 +0200
+++ b/FileOperation.st Tue Aug 29 12:38:25 2006 +0200
@@ -825,14 +825,15 @@
!
deleteFiles:colOfFiles confirm:confirm
- |resources answer nFilesToDelete ask labels values fileTypeString msg lbls vals|
+ |resources answer nFilesToDelete ask labels values fileTypeString msg lbls vals dontAskForNonEmptyDirectory|
+ dontAskForNonEmptyDirectory := false.
ask := confirm.
resources := AbstractFileBrowser classResources.
nFilesToDelete := colOfFiles size.
colOfFiles do:[:filenameOrString |
- |filename askForNonEmptyDirectory skip|
+ |filename doDelete skip|
filename := filenameOrString asFilename.
@@ -892,34 +893,42 @@
].
answer == #yes ifTrue:[
- askForNonEmptyDirectory := true.
+ doDelete := true.
filename isSymbolicLink ifFalse:[
- filename isNonEmptyDirectory ifTrue:[
- colOfFiles size == 1 ifTrue:[
- lbls := #('Cancel' 'Remove').
- vals := #(false true).
- ] ifFalse:[
- lbls := #('Cancel All' 'Keep' 'Remove').
- vals := #(nil false true).
- ].
- askForNonEmptyDirectory := Dialog
- confirmWithCancel:(resources
- stringWithCRs:'Directory ''%1'' is not empty\remove anyway ?'
- with:filename pathName allBold)
- labels:( resources array:lbls )
- values:vals
- default:vals size.
- askForNonEmptyDirectory == nil ifTrue:[
- ^ self
+ dontAskForNonEmptyDirectory ifFalse:[
+ filename isNonEmptyDirectory ifTrue:[
+ colOfFiles size == 1 ifTrue:[
+ lbls := #('Cancel' 'Remove').
+ vals := #(false true).
+ ] ifFalse:[
+ lbls := #('Cancel All' 'Keep' 'Remove' 'Remove All').
+ vals := #(nil false true #removeAll).
+ ].
+ doDelete := Dialog
+ confirmWithCancel:(resources
+ stringWithCRs:'Directory ''%1'' is not empty\remove anyway ?'
+ with:filename pathName allBold)
+ labels:( resources array:lbls )
+ values:vals
+ default:3.
+ doDelete == nil ifTrue:[
+ ^ self
+ ].
+ doDelete == #removeAll ifTrue:[
+ dontAskForNonEmptyDirectory := true.
+ doDelete := true.
+ ].
].
].
].
- askForNonEmptyDirectory ifTrue:[
+ doDelete ifTrue:[
self deleteFile:filename.
]
].
].
].
+
+ "Modified: / 29-08-2006 / 11:30:12 / cg"
! !
!FileOperation::Erase methodsFor:'actions'!
@@ -1330,5 +1339,5 @@
!FileOperation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.71 2006-03-03 15:24:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.72 2006-08-29 10:38:25 cg Exp $'
! !