score: toggle the menu using the physical button on Bangle2 (Bangle1 should still work as before), add the Correction mode menu item and reorder menu

master
aleixdev 2024-10-23 13:49:32 +02:00
parent 7fbfcea116
commit 41bffb341c
2 changed files with 34 additions and 13 deletions

View File

@ -96,28 +96,33 @@ function setupMatch() {
function showSettingsMenu() {
settingsMenuOpened = getSecondsTime();
settingsMenu(function (s, reset) {
E.showMenu();
settingsMenu(function (s, reset, back) {
// console.log('reset:', reset, 'back:', back);
if (isBangle1) {
E.showMenu();
}
settings = s;
if (reset) {
setupMatch();
} else if (getSecondsTime() - settingsMenuOpened < 500 || correctionMode) {
correctionMode = !correctionMode;
}
if (isBangle1 || (!isBangle1 && back)) {
settingsMenuOpened = null;
settingsMenuOpened = null;
draw();
draw();
setupDisplay();
setupInputWatchers();
setupDisplay();
setupInputWatchers();
}
}, function (msg) {
switch (msg) {
case 'end_set':
updateCurrentSet(1);
break;
case 'correct_mode':
correctionMode = !correctionMode;
break;
}
});
}
@ -304,7 +309,22 @@ function score(player) {
}
function handleInput(button) {
// console.log('button:', button);
if (settingsMenuOpened) {
if (!isBangle1 && button == 2) {
E.showMenu();
settingsMenuOpened = null;
draw();
setupDisplay();
setupInputWatchers();
}
return;
}

View File

@ -116,7 +116,7 @@
if (selected != null) {
m[''].selected = selected;
}
m['< Back'] = function () { back(settings, changed); };
m['< Back'] = function () { back(settings, changed, true); };
m['Presets'] = function () { E.showMenu(presetMenu(back)); };
if (isBangle1) {
m['Mirror Buttons'] = {
@ -198,9 +198,10 @@
const inAppMenu = function () {
let m = {
'': {'title': 'Score Menu'},
'< Back': function () { back(settings, changed); },
'Reset match': function () { back(settings, true); },
'End current set': function () { inApp('end_set'); back(settings, changed); },
'< Back': function () { back(settings, changed, false); },
'Correct mode': function () { inApp('correct_mode'); back(settings, false, true); },
'Reset match': function () { back(settings, true, true); },
'End current set': function () { inApp('end_set'); back(settings, changed, true); },
'Configuration': function () { E.showMenu(appMenu(function () {
E.showMenu(inAppMenu());
})); },