*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Mon, 08 Mar 2004 20:05:00 +0100
changeset 5673 3ed1092a3c73
parent 5672 dcfeb67da37f
child 5674 7cc10719eea5
*** empty log message ***
AbstractFileBrowser.st
FileOperation.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 $'
 ! !
--- 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 $'
 ! !