From ec4335e07f4819e82ec2cc95fba36764e5bcf8f2 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 16 Feb 2023 19:15:42 +0000 Subject: [PATCH] js: Hide type menu if there's only one preset and no configuration It seems a bit silly to display it when there's only one option. --- emcc.c | 5 ++++- emccpre.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/emcc.c b/emcc.c index ee1afad..7f63e53 100644 --- a/emcc.c +++ b/emcc.c @@ -976,6 +976,7 @@ int main(int argc, char **argv) { struct preset_menu *menu = midend_get_presets(me, &npresets); char *env; + bool may_configure = false; presets = snewn(npresets, game_params *); for (i = 0; i < npresets; i++) presets[i] = NULL; @@ -990,9 +991,11 @@ int main(int argc, char **argv) if (thegame.can_configure && (!env || env[0] == 'y' || env[0] == 'Y')) + may_configure = true; + if (may_configure) js_add_preset(0, "Custom...", -1); - have_presets_dropdown = npresets > 0 || thegame.can_configure; + have_presets_dropdown = npresets > 1 || may_configure; if (have_presets_dropdown) /* diff --git a/emccpre.js b/emccpre.js index 7a99e3d..bca2aef 100644 --- a/emccpre.js +++ b/emccpre.js @@ -614,7 +614,7 @@ function initPuzzle() { // Key to open the menu on KaiOS. if ((event.key == "SoftRight" || event.key == "F10") && !menuform.contains(document.activeElement)) { - menuform.querySelector("li div").focus(); + menuform.querySelector("li div, li button").focus(); event.preventDefault(); event.stopPropagation(); }