ref: ec4335e07f4819e82ec2cc95fba36764e5bcf8f2
parent: 3cd51d001769c657ebb4184bd05343af4d7e12b1
author: Ben Harris <bjh21@bjh21.me.uk>
date: Thu Feb 16 14:15:42 EST 2023
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.
--- a/emcc.c
+++ b/emcc.c
@@ -976,6 +976,7 @@
{
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 @@
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)
/*
--- a/emccpre.js
+++ b/emccpre.js
@@ -614,7 +614,7 @@
// 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();
}