After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 95110 - Recommendation for undo/revert/cancel/etc. in prefs dialogs
Recommendation for undo/revert/cancel/etc. in prefs dialogs
Status: RESOLVED WONTFIX
Product: gnome-devel-docs
Classification: Applications
Component: hig
unspecified
Other All
: High normal
: ---
Assigned To: HIG Maintainers
HIG Maintainers
uipattern
: 75437 88433 144807 (view as bug list)
Depends on:
Blocks: 94716
 
 
Reported: 2002-10-07 20:09 UTC by Havoc Pennington
Modified: 2020-12-04 18:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Havoc Pennington 2002-10-07 20:09:03 UTC
As discussed in http://bugzilla.gnome.org/show_bug.cgi?id=94716
Comment 1 Andrew Sobala 2002-11-10 18:18:54 UTC
*** Bug 88433 has been marked as a duplicate of this bug. ***
Comment 2 Gregory Merchan 2002-11-19 01:58:49 UTC
Unless the HIG is to reach beyond what can easily and well be done
now, I do not think it should make any further recommendation.

(Henceforth property or preference windows are called panels,
 as in "control panels")

It does not appear to me that the help system is fast enough or
properly tuned to show help for a particular page and thus spare
the user the time of reading irrelevant material. Even without
per page help, the system needs tuning:
  1) Help windows should be unique for a panel or app.
  2) Some form of feedback is needed until the help window is
     presented.
Once those conditions are met the Help button should be present on
each page of a panel and it should show the documentation for the
particular page.

Undo should be afforded back to the opening of a particular panel.
Only closing the panel should clear the undo history, but as a
precaution against resource hogging, there should be some set limit.
To preserve resources, actions should be compressed. While typing
a word, Undo might only remove the last typed letter; but once
a word boundary is met, Undo will remove the word.

Undo must also be per page and shown as such. Undoing should have
a perceivable effect and not jump to another page.

A button to restore "factory" defaults may be worthwhile for some
pages. A label of "Default" or "Defaults" is probably best for
English. Most alternatives are phrases or may be confusing; "Revert"
could be taken to mean reversion to the what the window displayed
when it was open, and likewise for "Reset". Where such a button
is appropriate may have to be decided case-by-case.

For undo compression, restoring factory defaults should be one step,
not however many steps would be needed to restore without the button.

The long range goal is for a page to have at most:
  [ Help ] [ Undo ] [ Defaults ]
left-aligned and no Close button.

One short range option might be what Anna showed in #94716, so
long as there is no conflict between that and the long range goal.
However, there is at least one significant problem: nothing should
change a page which is not visible and no control that applies to
only a single page should be outside of page. A lesser problem is
how to arrange things without multiple pages.

Of course, if the long range goal can be met by GNOME 2.4, then
it is mostly best to leave things as they are instead of churning
the interface.

This bug report should depend on bug reports to provide Undo stacks,
faster help, help launch feedback, and default restoration; except
insofar as those are already ready.
Comment 3 Bryan W Clark 2004-06-21 20:21:11 UTC
Since we don't have anna's recommendation from bug 94716 anymore (mockups should
be attached) Here's a simple drawn solution I'm working on.

I'm attempting to model something after the Back/History button common in web
browswers like Epiphany.

|---------------------------------------------|
|                                             |
|                                             |
|                                             |
|  [Help]                   [Undo \/] [Close] |
|                  [Restore Defaults]         |
|---------------------------------------------|

Having Undo be insensitive until changes are made in this instance of using the
capplet and Restore Defaults/Drop Down Arrow be insensitive unless the options
are different from the defaults.

This is an attempt to keep the capplet dialogs about as clean as they are now
and to also give both kinds of undo/restore capabilities.  Since I think the
restore button is to be the least used, undo the next and close after that I've
ordered the button as such.   Help is excluded as it's a little unpredicable
when people go for that button.
Comment 4 Calum Benson 2004-06-22 11:26:59 UTC
Hmm, I think this could be interesting if the dropdown arrow was an actual list
of changes you'd made (or at least the controls you'd changed), plus "Restore
Defaults" at the bottom, because then you'd effectively have a "Reset" feature
as well.  The a11y infrastructure could be useful here for getting at the
accessible name of each control, which you could then show in the dropdown, and
I think you can get the mnemonic for each control this way too, so you could
have mnemonics on the dropdown for free :)

So for the Font capplet, where you'd changed the rendering option, terminal font
and app font in that order, the dropdown might look like:

[Undo v]
+-------------------+
| _Application Font |
| _Terminal Font    |
| Best _shapes      | <-- selecting this one = "reset"
|-------------------|
| _Restore Defaults |
+-------------------+

It's not clear how would handle sub-dialogs, though, e.g. the Details dialog in
this case.  You could perhaps treat all changes you made there as a single
change, and just have "Details" show up in the parent list, I guess.  (And the
sub-dialog could have its own Undo button too, for finer control while it was
open.)  And I suppose if you selected "Restore Defaults", that should appear on
the Undo list too so you could Undo it :)

(FWIW I'm still unconvinced that any dialog really needs anything more
complicated than Reset and/or Defaults, though, but maybe I'd change my mind if
I had Undo right there to play with.)

Anyway, as you say in bug 94716, let's discuss it at GUADEC :)
Comment 5 Calum Benson 2004-06-22 12:15:28 UTC
*** Bug 144807 has been marked as a duplicate of this bug. ***
Comment 6 Calum Benson 2005-03-04 18:33:37 UTC
*** Bug 75437 has been marked as a duplicate of this bug. ***
Comment 7 deadowlsurvivor 2007-05-22 20:32:33 UTC
[Undo/Redo*]------------------------------------------[Help]
[Preferences]

[Restore Defaults]--------------------[Reset][Apply][Cancel]

Undo/Redo should be added to places where it would be useful, but probably wouldn't be necessary for every preferences window.
Comment 8 Calum Benson 2010-03-05 18:04:22 UTC
Setting target to 3.x, and adding 'uipattern' to whiteboard as one or more patterns could fall out of this for our (proposed) 3.x UI pattern library.
Comment 9 Allan Day 2014-09-26 12:39:26 UTC
Having undo seems useful in a small number of cases, but it's not something I'd want to be generally available or recommended. Ideally, settings should be designed in such a way that it is easy to revert manually, and misconfiguration is impossible.