Good that you restarted this discussion, B.Douille.
Currently, there are two discussions that deal with naming of buttons, this one here for "Change timestamp" dialog and one discussion in In topic
0.84: IPTC window: Wrong workflow with multi-selection for the "Edit IPTC/IIM data" dialog.
These dialogs have in common that they can be applied on one or multiple images that have been selected previously in browser.
Single selection / Multi selection
EDIT: I just realized that the two dialog's behaviour depends on the whether you have selected a single file or multiple files. This is a good idea and feature. Single selection is a standard scenario and buttons must follow standard which is:
[Save] [Cancel]
The discussion below is for the case when selecting multiple files.
Apply / Save / Write?
First aspect of the discussion is about the naming of the "Write" or "Save" button. I think the correct naming should be "Apply". Why? When applying a change, the change is saved and the dialog remains open and allows for making another change. This is the typical scenario for "Apply" buttons.
Sensitivity of Apply button
Typical "Apply" buttons become sensitive when the user made modified values and there is something to "Apply". So only if applying would change the file, the "Apply" button should be enabled.
For our two dialogs here this means:
- If you press "Apply", the "Apply" button gets disabled. If the user makes a change in the dialog, the "Apply" button gets sensitive, again.
- When moving to the next file, the "Apply" button should be enabled, again, because the values haven't been applied on that file, yet. When moving back, the "Apply" button should be disabled, again. This means, that XnView remembers for each file whether a change has been applied or not.
- When pressing "Apply to all files", the values are applied to all files. Then, both the "Apply" button and the "Apply to all files" button are disabled, because there is nothing to apply anymore. Only if the user makes a change in the dialog, again, both buttons get enabled, again.
All / to all / to all files
The user can apply his/her changes to one or multiple files. For this, a second Apply button is available. In the other topic we agreed that "Write all" or "Save all" respectively is a wrong and misleading labelling of the button. Current agreement was to use "... to all files".
Close or close not?
When looking at Windows standard dialogs, they typically have three buttons: [OK] [Apply] [Cancel]. Everybody knows what these buttons do:
[OK]: Save values and close
[Apply]: Save values and do not close
[Cancel]: Do not save values (again) and close
I'm not sure whether this design was chosen on purpose or not, but our two dialogs have a "Save values and do not close" but no "Save values and close". From what I can see the advantage of a "Save and do not close" button is that the user has chosen a set of files and an action (Change timestamp or Edit/Change IPTC/IIM) and by using the button he/she can set values for this action for each single file. This allows for a quick workflow, but a standard use case has come out of sight: Select one or multiple files and an action and apply values to all those files and done.
Cancel or Close?
It's difficult to say whether the button for closing the dialog should be named "Cancel" or "Close". I'd say: If the user has unsaved values, the button should be named "Cancel". Only if all changes have been saved, the button could be renamed "Close", but there's no real. And "Cancel" can be understood as canceling the current "session" of renaming.
Stop button
The "Stop" button might be a good idea and would clearly show the user that the system is actually doing something. But you can achieve this by changing mouse cursor to hourglass (wait), too. Though, I'm not sure whether the "Stop" button is really needed and helpful: If you press "Stop" XnView might stop applying your change. But then you have half of the images changed and half not. And "Stop" is for long operations, only, I'm not sure whether this applies to "Change timestamp". On the other side: Who knows how long an operation takes and the "Stop" button doesn't disturb too much. So perhaps it's not too bad but I'm still undecided.
SUMMARY (for "Change timestamp" and "Edit IPTC/IIM data" dialog)
- For single selection I suggest:
[Save] [Cancel]
or
[OK] [Cancel]
- For multi selection I currently suggest:
[Apply] [Apply to all files] [Cancel]
"Apply" and "Apply to all files" should be enabled / disabled depending on whether values can be written or not.
Does this make sense? Other opinions?