GnuCash
Contact   Instructions
Bug 345924 - RFE: don't disable "OK" button after using "Apply" to modify chart options
Summary: RFE: don't disable "OK" button after using "Apply" to modify chart options
Status: RESOLVED FIXED
Alias: None
Product: GnuCash
Classification: Unclassified
Component: Reports (show other bugs)
Version: unspecified
Hardware: Other All
: Normal enhancement
Target Milestone: ---
Assignee: reports
QA Contact: reports
URL:
Whiteboard:
Keywords: usability
: 683532 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-06-25 22:18 EDT by Bill Skellenger
Modified: 2020-10-22 09:43 EDT (History)
7 users (show)

See Also:


Attachments

Description Bill Skellenger 2006-06-25 22:18:56 EDT
When tinkering with report options, and then clicking "Apply" to witness your changes, the "OK" button becomes disabled and the user must use the "cancel" or window close "X" in order to get rid of the options dialog box.

This behavior is confusing to the user.  IMO, "Apply" should allow the user to witness changes, finally accepting the changes using "OK" or aborting the changes using "Cancel".

Other information:
Comment 1 Josh Sled 2006-06-26 11:22:57 EDT
Yeah, this is annoying.  Confirming, changing to RFE.
Comment 2 gnome 2007-11-04 16:15:45 EST
Another case: if you click on Default in error, your original settings would be irretrievably lost if there is no way to Cancel an action.

Apply == change the settings and do not close the window (let me change other settings)
OK == accept the changes and close the window
Cancel == change nothing and close the window
Comment 3 Geert Janssens 2016-03-14 15:39:08 EDT
I don't see this behaviour anymore in gnucash 2.6.11.

1. There no longer is a "Default" button, so the use case in comment 2 no longer applies.

2. When I make changes to the report options and hit apply, the ok button remains active and can be clicked to close the options window.

Note that when you hit apply, any changes are performed. So clicking cancel afterwards will not revert to what you had *before* hitting apply. I believe this is reasonable behaviour though.

If you still see this issue, please feel free to reopen this bug report. Thank you.
Comment 4 Geert Janssens 2016-03-14 17:38:30 EDT
I was wrong. For some reason it sometimes keeps the ok button enabled and sometimes it doesn't. Reopening for further investigation...
Comment 5 Bob 2020-10-09 09:59:11 EDT
*** Bug 683532 has been marked as a duplicate of this bug. ***
Comment 6 Bob 2020-10-09 10:05:54 EDT
Geert,

Do you have an opinion on whether the OK button should always be clickable ?

Currently..

Open Report Options,
Cancel - clickable
Apply  - not clickable
OK     - not clickable

make a change,
All become clickable

Click Apply,
Cancel - clickable
Apply  - not clickable
OK     - not clickable

Note: there is a 'Reset defaults' button and once clicked,
All become clickable

Also note this dialog applies to 'File->Properties' and also 'Edit->Style Sheets'
Comment 7 Geert Janssens 2020-10-10 05:49:35 EDT
The intent of changes in active state of the buttons is to give visual feedback to the user on whether or not there are option changes in the dialog that have not been applied.

There are plenty of angles to approach this from.

First the "Apply" button. Disabling the "Apply" button if there are no pending changes is a visual clue to the user so that may be useful. On the other hand just clicking the "Apply" button if no changes were made is effectively a non-operation from the user's point of view and hence harmless. In that sense once could argue there's not much point in disabling it or even that it's needlessly restricting the user's choices.

The "Ok" button can be interpreted in different ways. In this particular context sense "Ok" really means "Apply & Close". If there are no pending changes the "Apply" part of this meaning could be treated as the single "Apply" button above. There is however also the "Close" aspect of the button. The user should always be able to close the dialog. So for the "Ok" button I do agree with the original posters it should never be disabled. Either there are no changes and it works as a simple close action, or there are changes and they will be applied before the dialog is closed.

However if we stop disabling both "Apply" and "Ok", there"s no longer any visual feedback on pending changes. So we would lose something useful.

That finally brings me to the "Cancel" button. As the "Ok" button this is also a double-action button, namely "Undo changes & Close". Note that the "Undo changes" part only reverts back to the last Applied state which is not necessarily the state when the dialog was opened.

Building on that, if no changes were made since the last applied state "Cancel" is really reduced to "Close". To keep some form of visual feedback to the user I would propose to effectively change the button's name to indicate the dialog's state: if there are pending changes, the button would be named "Cancel", if there are no pending changes, the button would be named "Close".

On could do the same with the "Ok" button instead. However to me a "Cancel" button next to a "Close" button not actively cancelling something is more confusing than an "Ok" button that just confirms the unchanged state next to a "Close" button. 

So in short here's my suggestion:
Ok and Apply: always active
Cancel: name it "Cancel" or "Close" based on the presence of pending changes.

By the way, the "Reset defaults" button when clicked can effectively generate pending changes, hence it did enable all buttons (state changes towards default). However there's a minor paper cut bug in there as well: it will *always* enable the buttons (or in other words make pending changes) even if all options already were in their default state. That should not happen.
Comment 8 Bob 2020-10-11 09:06:42 EDT
Geert,
Thanks for the insight, not sure why I did not think about changing the button labels.

I think I may try and change the OK button so that it is always enabled but the label will change from 'OK' to 'Close' based on if changes have been made and also change the sensitivity of the Cancel button to something like..


Open Report Options,
Cancel - notclickable
Apply  - not clickable
Close  - clickable

make a change,
All become clickable, Close renamed to OK

Click Apply,
Cancel - not clickable
Apply  - not clickable
Close  - clickable

Will also look at the 'Reset Button'
Comment 9 Bob 2020-10-22 09:43:03 EDT
I have gone with Geerts idea of conditionally changing the text of the cancel button from Cancel to Close as it looked better and effectively did the same thing but have left the apply and OK buttons as is.

Also fixed the reset button so it does not enable the OK/Apply buttons when the values are already set to default.

Note You need to log in before you can comment on or make changes to this bug.