A UI suggestion from Ben: label the Custom element in the dropdown

with a trailing "..." to hint that it opens a further dialog box.
However, the _invisible_ Custom option is merely indicating what you
_do_ have selected, so we leave that one as it is. (So now they're no
longer exact twins of each other, of course.)

[originally from svn r9796]
This commit is contained in:
Simon Tatham
2013-03-31 18:36:03 +00:00
parent 3fc5a644a7
commit 742cf3a443

View File

@ -67,7 +67,7 @@ mergeInto(LibraryManager.library, {
* case we need to do something special - see below. * case we need to do something special - see below.
*/ */
js_add_preset: function(ptr) { js_add_preset: function(ptr) {
var name = (ptr == 0 ? "Custom" : Pointer_stringify(ptr)); var name = (ptr == 0 ? "Custom..." : Pointer_stringify(ptr));
var value = gametypeoptions.length; var value = gametypeoptions.length;
var option = document.createElement("option"); var option = document.createElement("option");
@ -96,9 +96,17 @@ mergeInto(LibraryManager.library, {
// we wouldn't get if the browser thought it was already // we wouldn't get if the browser thought it was already
// the selected one. But here, it's _not_ the selected // the selected one. But here, it's _not_ the selected
// option already; its invisible evil twin is selected. // option already; its invisible evil twin is selected.
//
// (Actually, they're not _identical_ evil twins: we label
// the two slightly differently. The visible one that the
// user can select is labelled "Custom..." to hint that it
// opens a dialog box, whereas the invisible one that's
// left shown after the box closes is just "Custom",
// because that's telling you what you _have_ got
// selected.)
option = document.createElement("option"); option = document.createElement("option");
option.value = value; option.value = value;
option.appendChild(document.createTextNode(name)); option.appendChild(document.createTextNode("Custom"));
option.style.display = "none"; option.style.display = "none";
gametypeselector.appendChild(option); gametypeselector.appendChild(option);
gametypehiddencustom = option; gametypehiddencustom = option;