Summary: Client's server options "Save" button unintuitive
Submitted by: jtn
Submitted on: Sunday 11/21/10 at 16:47
Severity: 1 - Wish
Priority: 1 - Later
Assigned to: None
Release: S2_3 r18553
Discussion Lock: Any
Operating System: None
I just ran into a behaviour in the Gtk client's server options dialog which
had me confused for a while. However, I don't have a good counter-proposal.
In S2_2 (where the choices were Cancel/Apply/Save), when you hit "Save", the
0 applied the settings currently in the dialog to the running server;
0 wrote a new .freeciv-client-rc-2.2 file containing those same settings;
0 closed the dialog.
In S2_3 (where the choices are Cancel/Save/Refresh/Reset/Apply/OK), hitting
0 doesn't apply the settings currently in the dialog to the running server;
0 writes a new rc file containing the settings *currently on the server* (not
the ones in the dialog);
0 doesn't close the dialog.
I find this a bit unintuitive -- I'd expect "Apply", "OK", and "Save" all to
take the values from the dialog and put them somewhere.
This means that if you want to change a setting for this game and all future
games, you have to remember to hit all of Apply, Save, OK, in that order --
the more natural Save, OK sequence won't save it for future games.
I think I'd prefer it if "Save" came with an implicit "Apply". This would
mean that "Reset" would stop working after hitting "Save", but I think I
could live with that. (It would perhaps be better for the button to
explicitly say "Save & Apply", but (a) there's no GTK_STOCK_x for that, (b)
the buttons take up enough room as it is, (c) string freeze.)
Unfortunately, it's not trivial to implement this, as the loop is now closed
on the server; in S2_3, when "Apply" is pressed, all that happens is that the
client sends new settings to the server; it immediately doesn't update its own
idea of the settings. I think that's correct, as the server may reject or
defer settings (e.g., votes) (but S2_2 did do this, see
settable_options_processing()). The client's idea of the options only gets
updated once the server confirms the new setting, which could take some time.
With this design, it's not really practical to implement a "Save & Apply"
Alternatively, the means of saving the server settings to the rc-file could
be moved off the server options dialog. I'm not sure where to, unless it
becomes implicit in the client "Save Options Now" / "Save Options on Exit"
(bug #17122 would need fixing first).
I think this came in with patch #1485; I don't see rationale there one way or
(The other clients don't seem to have ways of saving server settings.)
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list