#REFACTORING by exept expecco_19_2_1
authorClaus Gittinger <cg@exept.de>
Mon, 20 Jan 2020 21:02:47 +0100
changeset 19422 c6ca1c3e0fd7
parent 19421 a89da38eeaeb
child 19423 a53f13ab2795
#REFACTORING by exept class: MultiViewToolApplication added: #askForFile:default:forSave:thenDo: changed: #askForFile:default:thenDo: #askForFile:thenDo: #menuSaveAllAs #menuSaveAs
MultiViewToolApplication.st
--- a/MultiViewToolApplication.st	Mon Jan 20 21:02:25 2020 +0100
+++ b/MultiViewToolApplication.st	Mon Jan 20 21:02:47 2020 +0100
@@ -1096,6 +1096,7 @@
     self 
         askForFile:'Save all Buffers into:' 
         default:(self defaultFileNameForSaveAll)
+        forSave:true
         thenDo:[:file :doAppend |
             |ws append|
 
@@ -1117,6 +1118,7 @@
     self 
         askForFile:'Save Buffer into:'
         default:(self defaultFileNameForSave)
+        forSave:true
         thenDo:[:file :doAppend |
             |ws lbl|
 
@@ -1324,7 +1326,45 @@
 
 !MultiViewToolApplication methodsFor:'private'!
 
+askForFile:question default:defaultFilename forSave:forSaveBoolean thenDo:aBlock
+    |fn|
+
+    forSaveBoolean ifTrue:[
+        Dialog
+            requestSaveFileName:(resources string:question) 
+            default:defaultFilename 
+            fromDirectory:nil 
+            action:[:fileName | aBlock value:fileName value:false] 
+            appendAction:[:fileName | aBlock value:fileName value:true]
+    ] ifFalse:[
+        fn := Dialog
+            requestFileName:(resources string:question) 
+            default:defaultFilename 
+            fromDirectory:nil.
+        fn notEmptyOrNil ifTrue:[
+            aBlock value:fn 
+        ].
+    ].
+
+"/    |file doAppend|
+"/
+"/    doAppend := false.
+"/    Dialog aboutToOpenBoxNotificationSignal handle:[:n |
+"/        |box|
+"/
+"/        box := n parameter.
+"/        box addButton:(Button label:'Append' action:[doAppend := true. box okPressed]).
+"/        n proceed.
+"/    ] do:[
+"/        file := Dialog requestFileName:question default:'file.wsp'. 
+"/    ].
+"/    file isEmptyOrNil ifFalse:[
+"/        aBlock value:file value:doAppend
+"/    ].
+!
+
 askForFile:question default:defaultFilename thenDo:aBlock
+    <resource: #obsolete>
     Dialog
         requestSaveFileName:(resources string:question) 
         default:defaultFilename 
@@ -1350,8 +1390,8 @@
 !
 
 askForFile:question thenDo:aBlock
-    ^ self
-        askForFile:question default:'file.wsp' thenDo:aBlock
+    <resource: #obsolete>
+    ^ self askForFile:question default:'file.wsp' thenDo:aBlock
 !
 
 askIfAnyModified:arg1 yesButton:arg2