[Scummvm-devel] Options dialog design (long!)
Max Horn
max at quendi.de
Sun Mar 21 10:19:01 CET 2004
Am 21.03.2004 um 18:53 schrieb <Torbjorn.E.Andersson at tietoenator.com>:
> Hmph... I shouldn't type email addresses when I'm tired. One more
> attempt to get it to a mailing list that actually exists... :-)
>
;-) Welcome in the club, brother...
> Max Horn <max at quendi.de> wrote:
>
>> So what? I think it's a very bad idea to argue such things soley based
>> on "how XYZ does it". Windows (still) has some very very bad UI
>> mistakes in it, IMO
>
> I wasn't trying to say that. I was trying to figure out where my
> expectations may have come from. And Windows is the only OS I've used
> that had reasonable support for changing resolution/colour depth on the
> fly. (My old Mac Plus didn't support this, for some reason. ;-)
Fair enough!
> Making no attempt to be consistent, this is the behaviour that would
> seem least unnatural to me:
>
>> 1) User opens options dialog, changes resolution, closes the dialog
>> with "OK" (this one is easy)
>
> Barring catastrophic failure, I would expect the resolution to be what
> the user selected in the dialog. (Though given my background, I
> wouldn't
> expect it to happen until after I press "OK".)
Aye (I said this one was easy, didn't I <g>)
>
>> 2) User changes graphics mode with hotkey, opens options dialog (what
>> setting should be displayed?).
>
> As I said before, I wouldn't expect the hotkey to change the config
> file.
Just to clarify that: neither did I suggest it should (I did mention
the possibility, but my proposal didn't include this).
>
> In a way, I'd like to see both the current setting (from the file) and
> the new setting (defaulting to what is currently used). Might not be a
> workable solution, but it'd be nice to have some sort of indication
> that
> the old setting is about to change.
Actually, that's exactly the kind of hack I want to avoid. To use your
argumentation, how many application do you know which do such a thing?
IMO, this is a only a "workaround" for the problem, trying to cure the
symptoms, instead of trying to fix the cause :-). Besides, a workaround
which if implemented a) doubles the size of the UI (every element has
to be there twice), and b) makes usage a lot more complicated. We'd
have to explain to users why all their settings are there twice (or
actually, four times: active global settings, permanent global
settings, active game settings, permanent game settings)
>
> (In the "Edit game" dialog, I would always expect to see the settings
> stored in the file, though, but that's a different case, I guess.)
Indeed, a different case: you aren't editing active settings here
anyway, making it a very easy one, luckily.
>
> Re-reading what I've written, I think pressing "OK" would update the
> file and leave the current mode unchanged.
If no changes were made. But my question went on, to quote myself:
'What if he changes the choice and presses "OK"?'
And to complicate things some more, consider this scenario:
ScummVM starts in plain 2x mode. Using hotkeys you switch to
AdvMame2x. You open the options dialog. By your proposal, it would
still display the settings from the config file there ("2x"). Now the
user chooses "1x" in the popup; then chooses "2x" again. And closes the
dialog.
What should happen?
>
>> 3) User opens options dialog, then while it is open uses a hotkey to
>> switch graphics mode. See 2) for questions
>
> I wouldn't expect the setting to change. I'm not used to seeing dialogs
> that react to things that happen "behind their back", so to speak.
If you use dialogs which are modeless, that's how they always behave
(displaying changes "made behind their back", as you put it). Of
course, modal dialogs won't do that. But then, how many apps allow
making changes "behind the back" of a modal preference dialog via some
hotkeys ? I can't think of many (well I guess in windows, you can have
the display system prefs open, and then via some 3rd party tool change
the resolution?).
> When the user presses "OK", I'd expect the setting shown in the dialog
> to be saved/used, not what happens to be active at the time.
OK, so now I understand why you think of the hotkeys as "preview":
essentially, while the options dialog is open, they are indeed
completely reduced to "preview" keys, because when you click "OK", any
changes you made since the options dialog was opened are lost.
But what if I cancel? Should "Cancel" do nothing, or should it restore
the settings as they were *before* you opened the dialog?
Also, same question as above: I open the dialog, it shows "2x", I use a
hotkey and swithc to "AdvMame2x". I select "3x" from the popup. I
select "2x" from the popup. I close the dialog... what happens?
>> 4) User changes graphics mode with hotkey; opens options dialog;
>> changes graphics mode in popup; uses hotkey again; now closes the
>> dialog. Which graphics mode will be active, which will be stored into
>> the config file?
>
> The first half is like question 2. The config file and the current mode
> would not agree. The dialog may default to the current setting, but
> it'd be nice if there was an indication that it's not the same as in
> the
> config file.
First you were saying the dialog should display the config file
settings, now it should display what is current? Which one did you mean
now, or did I just misunderstand you here or before?
Actually, since you are arguing for "OK" to alter the config file, the
only logical thing to do would be to display the config file settings,
and *not* the current settings, else using the "preview" hotkeys would
cause a changed config file to be written if you use them, then open
the options dialog and close it again immediately.
> The second half is like question 3. The dialog setting would remain,
> and
> when pressing "OK" that's the one that'd be stored/used.
And what if Cancel is pressed?
BTW, implementing your proposal will increase the complexity of the
config manager even more (though that shouldn't be a reason to alter
our decisions).
> (Mind you, I still keep my .scummvmrc write-protected because once I've
> found the settings I like, and sorted the games in what seems like a
> logical fashion to me, I don't want some clumsy user changing them by
> mistake. Particularly not if that clumsy user happens to be me. :-)
>
:-)
Cheers,
Max
More information about the Scummvm-devel
mailing list