# HG changeset patch # User Claus Gittinger # Date 1078772700 -3600 # Node ID 3ed1092a3c73d8e09eea0da29288008c30a94a88 # Parent dcfeb67da37f9bb032dff25ec39be096b430f561 *** empty log message *** diff -r dcfeb67da37f -r 3ed1092a3c73 AbstractFileBrowser.st --- a/AbstractFileBrowser.st Sat Mar 06 08:35:47 2004 +0100 +++ b/AbstractFileBrowser.st Mon Mar 08 20:05:00 2004 +0100 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - " COPYRIGHT (c) 2002 by eXept Software AG All Rights Reserved @@ -3748,16 +3746,19 @@ deleteFiles:colOfFiles confirm:confirm "delete current selected files/directories " - |delete| + |delete result| self windowGroup withWaitCursorDo:[ delete := FileOperation getDeleteClass deleteFiles:colOfFiles confirm:confirm. - delete result ifFalse:[ - self notify:delete errorString. + result := delete result. + result notNil ifTrue:[ + result ifFalse:[ + self notify:delete errorString. + ]. + self updateListAfterDelete:colOfFiles. ]. - self updateListAfterDelete:colOfFiles. - ]. - ^ delete result. + ]. + ^ result. ! moveFile:aSourceFile to:aDestFile @@ -6650,5 +6651,5 @@ !AbstractFileBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.213 2004-03-05 13:28:40 penk Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.214 2004-03-08 19:05:00 cg Exp $' ! ! diff -r dcfeb67da37f -r 3ed1092a3c73 FileOperation.st --- a/FileOperation.st Sat Mar 06 08:35:47 2004 +0100 +++ b/FileOperation.st Mon Mar 08 20:05:00 2004 +0100 @@ -1,5 +1,3 @@ -"{ Encoding: utf8 }" - "{ Package: 'stx:libtool2' }" Object subclass:#FileOperation @@ -204,7 +202,7 @@ !FileOperation::Copy class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! ! !FileOperation::Copy methodsFor:'accessing'! @@ -411,7 +409,7 @@ !FileOperation::Create class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! ! !FileOperation::Create methodsFor:'accessing'! @@ -684,7 +682,7 @@ !FileOperation::Delete class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! ! !FileOperation::Delete methodsFor:'actions'! @@ -724,72 +722,83 @@ deleteFiles:colOfFiles confirm:confirm "delete current selected files/directories " - |resources retVal nFilesToDelete ask labels values fileTypeString| + |resources answer nFilesToDelete ask labels values fileTypeString| ask := confirm. resources := AbstractFileBrowser classResources. nFilesToDelete := colOfFiles size. colOfFiles do:[:filenameOrString | - |filename askForNonEmptyDirectory| + |filename askForNonEmptyDirectory skip| filename := filenameOrString asFilename. + skip := false. fileTypeString := ''. filename isSymbolicLink ifTrue:[ fileTypeString := 'symbolic link '. ] ifFalse:[ - filename exists not ifTrue:[ - self warn:('%1 does not exist' bindWith:filename asString allBold). - ^ self. + filename exists ifFalse:[ + (Dialog + confirm:('%1 does not exist' bindWith:filename asString allBold) + yesLabel:(resources string:'OK') + noLabel:(resources string:'Cancel')) + ifFalse:[ + ^ self. + ]. + skip := true. ] ]. - ask ifTrue:[ - nFilesToDelete = 1 ifTrue:[ - labels := #('No' 'Yes'). - values := #(#no #yes). + skip ifFalse:[ + ask ifTrue:[ + nFilesToDelete = 1 ifTrue:[ + labels := #('No' 'Yes'). + values := #(#no #yes). + ] ifFalse:[ + labels := #('Cancel' 'No' 'Yes' 'Yes to All' ). + values := #(#cancel #no #yes #yesToAll). + ]. + answer := Dialog + confirmWithCancel:(resources + stringWithCRs:'Really delete\\ %1%2%3 ?' + with:fileTypeString + with:(filename asString allBold) + with:(nFilesToDelete = 1 ifTrue:'' ifFalse:['\\(' , nFilesToDelete printString , ' files alltogether)']) withCRs ) + labels:(resources array:labels) + values:values + default:(values indexOf:#yes). ] ifFalse:[ - labels := #('Cancel' 'No' 'Yes' 'Yes to All' ). - values := #(#cancel #no #yes #yesToAll). + answer := #yesToAll. ]. - retVal := Dialog - confirmWithCancel:(resources - stringWithCRs:'Really delete\\ %1%2%3 ?' - with:fileTypeString - with:(filename asString allBold) - with:(nFilesToDelete = 1 ifTrue:'' ifFalse:['\\(' , nFilesToDelete printString , ' files alltogether)']) withCRs ) - labels:(resources array:labels) - values:values - default:(values indexOf:#yes). - ] ifFalse:[ - retVal := #yesToAll. - ]. - retVal == #cancel ifTrue:[ - ^ self. - ]. + + answer == #cancel ifTrue:[ + ^ self. + ]. + + answer == #yesToAll ifTrue:[ + ask := false. + answer := #yes. + ]. - retVal == #yesToAll ifTrue:[ - ask := false. - retVal := #yes. - ]. - retVal == #yes ifTrue:[ - askForNonEmptyDirectory := true. - filename isSymbolicLink ifFalse:[ - filename isNonEmptyDirectory ifTrue:[ - askForNonEmptyDirectory := Dialog - confirmWithCancel:(('Directory ''%1'' is not empty', Character cr asString, 'remove anyway ?') - bindWith:filename pathName allBold) - labels:( #('Cancel' 'Keep' 'Remove') ) - values:#(nil false true) - default:3. - askForNonEmptyDirectory == nil ifTrue:[ - ^ self + answer == #yes ifTrue:[ + askForNonEmptyDirectory := true. + filename isSymbolicLink ifFalse:[ + filename isNonEmptyDirectory ifTrue:[ + askForNonEmptyDirectory := Dialog + confirmWithCancel:(('Directory ''%1'' is not empty', Character cr asString, 'remove anyway ?') + bindWith:filename pathName allBold) + labels:( #('Cancel' 'Keep' 'Remove') ) + values:#(nil false true) + default:3. + askForNonEmptyDirectory == nil ifTrue:[ + ^ self + ]. ]. ]. + askForNonEmptyDirectory ifTrue:[ + self deleteFile:filename. + ] ]. - askForNonEmptyDirectory ifTrue:[ - self deleteFile:filename. - ] ]. ]. ! ! @@ -865,7 +874,7 @@ !FileOperation::Move class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! ! !FileOperation::Move methodsFor:'accessing'! @@ -1035,7 +1044,7 @@ !FileOperation::Rename class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! ! !FileOperation::Rename methodsFor:'accessing'! @@ -1141,5 +1150,5 @@ !FileOperation class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.41 2004-03-04 10:08:18 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.42 2004-03-08 19:04:50 cg Exp $' ! !