diff --git a/apps/tevtimer/app.js b/apps/tevtimer/app.js index b17d453a5..5163e4727 100644 --- a/apps/tevtimer/app.js +++ b/apps/tevtimer/app.js @@ -881,7 +881,8 @@ class ResetTimer { } 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 = { '': { @@ -896,7 +897,13 @@ class ResetTimer { '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() { @@ -935,7 +942,9 @@ class DeleteTimer { } 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 = { '': { @@ -950,7 +959,11 @@ class DeleteTimer { '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(); } }, + '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); diff --git a/apps/tevtimer/lib.js b/apps/tevtimer/lib.js index 20ee21ca7..ed6456271 100644 --- a/apps/tevtimer/lib.js +++ b/apps/tevtimer/lib.js @@ -342,6 +342,8 @@ const SETTINGS = Object.assign({ 'button_act': 'start/stop', 'left_tap_act': 'edit_start', 'right_tap_act': 'edit_start', + 'confirm_reset': 'auto', + 'confirm_delete': true, }, Storage.readJSON(SETTINGS_FILENAME, true) || {}); var TIMERS = load_timers();