<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Hi all --<div><br></div><div>Personally, I do not need "Close all windows but workspaces" ... not sure why I added that back in 2015. Nuke it if you like. I cannot recall clicking on it during the last 7 years...</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        <blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 18.06.2022 19:37:28 schrieb tim Rowledge <tim@rowledge.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">+1 on the -1<br><br>> On 2022-06-17, at 9:20 PM, Chris Muller <asqueaker@gmail.com> wrote:<br>> <br>> I'm a -1 only because "Close all windows but workspaces" is out of place from a UI sense, and should be removed entirely.  The organization of the menu is that the functions on the cascades are already the way to isolate specific types of windows, whereas the bottom three menu entries are for the "All" group, not specific types.<br>> <br>> It would be just as easy to make the UI more powerful and consistent by adding additional items to this cascade menu, perhaps arranged in a progressively less-restrictive (e.g., close more windows) sequence.<br>> <br>> (proposal for enhanced cascade menu)<br>>    Close<br>>    Close unchanged like this  (<-- new)<br>>    Close all like this<br>>    Close unchanged unlike this  (<-- new)<br>>    Close all unlike this   (<-- new)<br>>    Close all but this<br>>    Expand or Contract<br>> <br>> This would also allow them all to be direct-action, instead of interactive, which would streamline the usage.<br>> <br>> Best,<br>>   Chris<br>> <br>> On Fri, Jun 10, 2022 at 12:49 PM <commits@source.squeak.org> wrote:<br>> A new version of Morphic was added to project The Inbox:<br>> http://source.squeak.org/inbox/Morphic-ct.2008.mcz<br>> <br>> ==================== Summary ====================<br>> <br>> Name: Morphic-ct.2008<br>> Author: ct<br>> Time: 10 June 2022, 7:48:51.419586 pm<br>> UUID: 1f127f92-d0a1-cd48-bae1-1395a7d681a9<br>> Ancestors: Morphic-ct.2006<br>> <br>> Proposal: When closing all windows (unsafely), only ask the user about unsaved changes if there are actually any. Also provide an option from that dialog to only close windows without changes.<br>> <br>> Improves multilingual support as well.<br>> <br>> =============== Diff against Morphic-ct.2006 ===============<br>> <br>> Item was changed:<br>>   ----- Method: TheWorldMainDockingBar>>closeAllWindowsButWorkspaces (in category 'submenu - windows') -----<br>>   closeAllWindowsButWorkspaces<br>> <br>>         (UserDialogBoxMorph<br>> +               confirm: 'There might be unsaved changes.\Do you really want to close all windows\that are no workspaces?' withCRs translated<br>> +               title: 'Only keep workspaces' translated) ifTrue: [<br>> -               confirm: 'There might be unsaved changes.\Do you really want to close all windows\that are no workspaces?' withCRs<br>> -               title: 'Only keep workspaces') ifTrue: [<br>>                         self allVisibleWindows<br>>                                 reject: [:each | each model isKindOf: Workspace]<br>>                                 thenDo: [:each | [each delete] valueSupplyingAnswer: true]].!<br>> <br>> Item was changed:<br>>   ----- Method: TheWorldMainDockingBar>>closeAllWindowsUnsafe (in category 'submenu - windows') -----<br>>   closeAllWindowsUnsafe<br>> <br>> +       (self allVisibleWindows allSatisfy: [:each |<br>> +               each model canDiscardEdits])<br>> +                       ifFalse:<br>> +                               [(Project uiManager<br>> +                                       chooseOptionFromLabeledValues:<br>> +                                               (OrderedDictionary new<br>> +                                                       at: 'Yes, close all windows' translated put: [#proceed];<br>> +                                                       at: 'Only windows without changes' translated put: [^ self closeAllWindows];<br>> +                                                       at: 'Cancel' put: [^ self];<br>> +                                                       yourself)<br>> +                                       title: 'There might be unsaved changes.\Do you really want to close all windows?' withCRs translated)<br>> +                                               value<br>> +                                                       ifNil: [^ self]].<br>> +       <br>> +       self allVisibleWindows do: [:each | [each delete] valueSupplyingAnswer: true].!<br>> -       (UserDialogBoxMorph<br>> -               confirm: 'There might be unsaved changes.\Do you really want to close all windows?' withCRs<br>> -               title: 'Close All Windows') ifTrue: [<br>> -                       self allVisibleWindows do: [:each | [each delete] valueSupplyingAnswer: true]].!<br>> <br>> <br>> On Fri, Jun 10, 2022 at 12:53 PM Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de> wrote:<br>> <pastedimage.png><br>> <br>> <pastedimage.png><br>> <br>> <br>> <br>> Best,<br>> <br>> Christoph<br>> <br>> Von: Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>> Gesendet: Freitag, 10. Juni 2022 19:52:36<br>> An: squeak-dev@lists.squeakfoundation.org<br>> Betreff: [squeak-dev] The Inbox: Morphic-ct.2009.mcz<br>>  <br>> A new version of Morphic was added to project The Inbox:<br>> http://source.squeak.org/inbox/Morphic-ct.2009.mcz<br>> <br>> ==================== Summary ====================<br>> <br>> Name: Morphic-ct.2009<br>> Author: ct<br>> Time: 10 June 2022, 7:52:30.248586 pm<br>> UUID: 00155f55-d7b7-1d4c-9965-d1a8ff872513<br>> Ancestors: Morphic-ct.2006<br>> <br>> Proposal: When closing all windows (unsafely), only ask the user about unsaved changes if there are actually any. Also provide an option from that dialog to only close windows without changes.<br>> <br>> Improves multilingual support as well.<br>> <br>> Revision: Improve user strings. Sorry for the noise.<br>> <br>> =============== Diff against Morphic-ct.2006 ===============<br>> <br>> Item was changed:<br>>   ----- Method: TheWorldMainDockingBar>>closeAllWindowsButWorkspaces (in category 'submenu - windows') -----<br>>   closeAllWindowsButWorkspaces<br>>   <br>>          (UserDialogBoxMorph<br>> +                confirm: 'There might be unsaved changes.\Do you really want to close all windows\that are no workspaces?' withCRs translated<br>> +                title: 'Only keep workspaces' translated) ifTrue: [<br>> -                confirm: 'There might be unsaved changes.\Do you really want to close all windows\that are no workspaces?' withCRs<br>> -                title: 'Only keep workspaces') ifTrue: [<br>>                          self allVisibleWindows<br>>                                  reject: [:each | each model isKindOf: Workspace]<br>>                                  thenDo: [:each | [each delete] valueSupplyingAnswer: true]].!<br>> <br>> Item was changed:<br>>   ----- Method: TheWorldMainDockingBar>>closeAllWindowsUnsafe (in category 'submenu - windows') -----<br>>   closeAllWindowsUnsafe<br>>   <br>> +        (self allVisibleWindows allSatisfy: [:each |<br>> +                each model canDiscardEdits])<br>> +                        ifFalse:<br>> +                                [(Project uiManager<br>> +                                        chooseOptionFromLabeledValues:<br>> +                                                (OrderedDictionary new<br>> +                                                        at: 'Yes, close all windows' translated put: [#proceed];<br>> +                                                        at: 'Close only windows without changes' translated put: [^ self closeAllWindows];<br>> +                                                        at: 'Cancel' put: [^ self];<br>> +                                                        yourself)<br>> +                                        title: 'There are unsaved changes.\Do you really want to close all windows?' withCRs translated)<br>> +                                                value<br>> +                                                        ifNil: [^ self]].<br>> +        <br>> +        self allVisibleWindows do: [:each | [each delete] valueSupplyingAnswer: true].!<br>> -        (UserDialogBoxMorph<br>> -                confirm: 'There might be unsaved changes.\Do you really want to close all windows?' withCRs<br>> -                title: 'Close All Windows') ifTrue: [<br>> -                        self allVisibleWindows do: [:each | [each delete] valueSupplyingAnswer: true]].!<br>> <br>> <br>> <br>> <br><br><br><br>tim<br>--<br>tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim<br>Ignoranus (n): A person who's both stupid and an asshole.<br><br><br><br></commits@source.squeak.org></squeak-dev-bounces@lists.squeakfoundation.org></pastedimage.png></pastedimage.png></christoph.thiede@student.hpi.uni-potsdam.de></commits@source.squeak.org></asqueaker@gmail.com></div></blockquote></div>