bug#4980: 23.1.50; In File > Quit GUI, add "Cancel", write "Save", and simplify

"Jason A. Spiro" <[email protected]> Thu, 19 Nov 2009 18:05:27 -0500
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
When I try to quit Emacs by clicking File > Quit, I see seven choices:

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

Save file foo.txt?

*  Yes
*  No
*  View This Buffer
*  View Changes In This Buffer
*  Save This But No More
*  Save All Buffers
*  No For All

)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

1.  As dak wrote in 2008 at
http://thread.gmane.org/gmane.emacs.devel/65537/focus=100634 there's
no Cancel button.  "Closing the dialog window happens to achieve that
... but it is not really obvious."  Please add a Cancel button.

2.  For the first choice, instead of writing "Yes", write "Save".
Usability researchers have found that action verbs are always better
when a list of choices is provided.  I can explain why if you require
it.

3.  The seven choices act as a confusing way to ask me which files to
save.  Instead, as Joshua Juran <[email protected]> suggested to me in
Freenode #macdev, you should use a dialog box like "gedit" uses (
screenshot at http://omploader.org/vMnQzaw ; download gedit for
Windows / Mac at http://projects.gnome.org/gedit/ ):

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

[!] There are 2 document(s) with unsaved changes.
Save before closing?

Select the documents you want to save:
| [x] foo.txt    |
| [x] bar.txt    |
|                |
|                |

If you don't save, your changes will be lost.
                                                 ________     ______
[ Close &without Saving ] [       &Cancel     ] [________&Save______]

)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Don't offer view-buffer or view-changes choices in a GUI.  You see, a
GUI should be simple instead of listing every possible choice the user
might conceivably want.  If the user wants to do so, they can click
Cancel then do so themselves.