I have a desktop application, and in this application, there is a non-modal dialog where a user can make changes to something. The dialog has a Close button and a Save button. The Save button does not close the dialog, because we expect users to be making these changes, check the result, and then possibly making more changes.
The state of the dialog will always be valid, there are no required fields or anything like that.
We have come up with two options for the save button:
- Leave the Save button enabled at all times. When a user clicks it, it will briefly display a checkmark or perhaps a short success message for a couple of seconds.
- Disable the Save button until a change has been made, then enable it. When clicked, it will go back to being disabled.
I can see pros and cons to each approach. Is there any accepted standard or a reason why one approach is better?