#REFACTORING by exept
class: MultiViewToolApplication
added: #askForFile:default:forSave:thenDo:
changed:
#askForFile:default:thenDo:
#askForFile:thenDo:
#menuSaveAllAs
#menuSaveAs
--- 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