Add options for whether to confirm reset & delete

master
Travis Evans 2025-05-04 19:13:34 -05:00
parent 73cd8122df
commit fcddbe159f
2 changed files with 37 additions and 4 deletions

View File

@ -881,7 +881,8 @@ class ResetTimer {
} }
start() { start() {
// Display and activate the reset timer confirmation menu. // Display and activate the reset timer confirmation menu if
// configured in settings, or immediately reset the timer if not.
const menu = { const menu = {
'': { '': {
@ -896,7 +897,13 @@ class ResetTimer {
'Cancel': () => { this.back(false); }, 'Cancel': () => { this.back(false); },
}; };
E.showMenu(menu); if (tt.SETTINGS.confirm_reset === true
|| (tt.SETTINGS.confirm_reset === 'auto'
&& this.timer.to_msec() > 0)) {
E.showMenu(menu);
} else {
menu.Reset();
}
} }
stop() { stop() {
@ -935,7 +942,9 @@ class DeleteTimer {
} }
start() { start() {
// Display and activate the delete timer confirmation menu. // Display and activate the delete timer confirmation menu if
// configured in settings, or immediately delete the timer if
// not.
const menu = { const menu = {
'': { '': {
@ -950,7 +959,11 @@ class DeleteTimer {
'Cancel': () => { this.back(false, this.timer) }, 'Cancel': () => { this.back(false, this.timer) },
}; };
E.showMenu(menu); if (tt.SETTINGS.confirm_delete) {
E.showMenu(menu);
} else {
menu.Delete();
}
} }
@ -1238,6 +1251,24 @@ class AppSettingsMenu {
tt.set_settings_dirty(); tt.set_settings_dirty();
} }
}, },
'Confirm reset': {
value: [true, 'auto', false].indexOf(tt.SETTINGS.confirm_reset),
format: v => ['Always', 'Auto', 'Never'][v],
min: 0,
max: 2,
onchange: v => {
tt.SETTINGS.confirm_reset = [true, 'auto', false][v];
tt.set_settings_dirty();
}
},
'Confirm delete': {
value: tt.SETTINGS.confirm_delete, // boolean
format: v => v ? 'Always' : 'Never',
onchange: v => {
tt.SETTINGS.confirm_delete = v;
tt.set_settings_dirty();
}
},
}; };
E.showMenu(menu); E.showMenu(menu);

View File

@ -342,6 +342,8 @@ const SETTINGS = Object.assign({
'button_act': 'start/stop', 'button_act': 'start/stop',
'left_tap_act': 'edit_start', 'left_tap_act': 'edit_start',
'right_tap_act': 'edit_start', 'right_tap_act': 'edit_start',
'confirm_reset': 'auto',
'confirm_delete': true,
}, Storage.readJSON(SETTINGS_FILENAME, true) || {}); }, Storage.readJSON(SETTINGS_FILENAME, true) || {});
var TIMERS = load_timers(); var TIMERS = load_timers();