settings: remove Quiet Mode LCD options

Updating these will be handled by the Quiet Mode Schedule app (qmsched)
pull/951/head
Richard de Boer 2021-11-23 21:25:26 +01:00
parent 56b9e04ff0
commit c24f67b06b
4 changed files with 14 additions and 120 deletions

View File

@ -119,7 +119,7 @@
{
"id": "setting",
"name": "Settings",
"version": "0.33",
"version": "0.34",
"description": "A menu for setting up Bangle.js",
"icon": "settings.png",
"tags": "tool,system",

View File

@ -36,3 +36,4 @@
0.31: Remove Bangle 1 settings when running on Bangle 2
0.32: Fix 'beep' menu on Bangle.js 2
0.33: Really fix 'beep' menu on Bangle.js 2 this time
0.34: Remove Quiet Mode LCD settings: now handled by Quiet Mode Schedule app

View File

@ -44,6 +44,4 @@ The exact effects depend on the app. In general the watch will not wake up by i
- Off: Normal operation
- Alarms: Stops notifications, but "alarm" apps will still work
- Silent: Blocks even alarms
* **LCD Brightness**, **LCD Timeout**, **Wake on X**:
Override default settings while Quit Mode is active (either as *Alarms* or *Silent*)

View File

@ -7,17 +7,12 @@ let settings;
function updateSettings() {
//storage.erase('setting.json'); // - not needed, just causes extra writes if settings were the same
if (Object.keys(settings.qmOptions).length === 0) delete settings.qmOptions;
storage.write('setting.json', settings);
if (!('qmOptions' in settings)) settings.qmOptions = {}; // easier if this always exists in this file
}
function updateOptions() {
updateSettings();
Bangle.setOptions(settings.options)
if (settings.quiet) {
Bangle.setOptions(settings.qmOptions)
}
}
function gToInternal(g) {
@ -56,18 +51,12 @@ function resetSettings() {
twistMaxY: -800,
twistTimeout: 1000
},
// Quiet Mode options:
// we only set these if we want to override the default value
// qmOptions: {},
// qmBrightness: undefined,
// qmTimeout: undefined,
};
updateSettings();
}
settings = storage.readJSON('setting.json', 1);
if (!settings) resetSettings();
if (!('qmOptions' in settings)) settings.qmOptions = {}; // easier if this always exists in here
const boolFormat = v => v ? "On" : "Off";
@ -130,7 +119,16 @@ function showMainMenu() {
}
}
},
"Quiet Mode": ()=>showQuietModeMenu(),
"Quiet Mode": {
value: settings.quiet|0,
format: v => ["Off", "Alarms", "Silent"][v%3],
onchange: v => {
settings.quiet = v%3;
updateSettings();
updateOptions();
if ("qmsched" in WIDGETS) WIDGETS["qmsched"].draw();
},
},
'Locale': ()=>showLocaleMenu(),
'Select Clock': ()=>showClockMenu(),
'Set Time': ()=>showSetTimeMenu(),
@ -352,9 +350,7 @@ function showLCDMenu() {
onchange: v => {
settings.brightness = v || 1;
updateSettings();
if (!(settings.quiet && "qmBrightness" in settings)) {
Bangle.setLCDBrightness(settings.brightness);
}
Bangle.setLCDBrightness(settings.brightness);
}
},
'LCD Timeout': {
@ -365,9 +361,7 @@ function showLCDMenu() {
onchange: v => {
settings.timeout = 0 | v;
updateSettings();
if (!(settings.quiet && "qmTimeout" in settings)) {
Bangle.setLCDTimeout(settings.timeout);
}
Bangle.setLCDTimeout(settings.timeout);
}
},
'Wake on BTN1': {
@ -455,105 +449,6 @@ function showLCDMenu() {
});
return E.showMenu(lcdMenu)
}
function showQuietModeMenu() {
// we always keep settings.quiet and settings.qmOptions
// other qm values are deleted when not set
const modes = ["Off", "Alarms", "Silent"];
const qmDisabledFormat = v => v ? "Off" : "-";
const qmMenu = {
"": {"title": "Quiet Mode"},
"< Back": () => showMainMenu(),
"Quiet Mode": {
value: settings.quiet|0,
format: v => modes[v%3],
onchange: v => {
settings.quiet = v%3;
updateSettings();
updateOptions();
if ("qmsched" in WIDGETS) {WIDGETS["qmsched"].draw();}
},
},
"LCD Brightness": {
value: settings.qmBrightness || 0,
min: 0, // 0 = use default
max: 1,
step: 0.1,
format: v => (v>0.05) ? v : "-",
onchange: v => {
if (v>0.05) { // prevent v=0.000000000000001 bugs
settings.qmBrightness = v;
} else {
delete settings.qmBrightness;
}
updateSettings();
if (settings.qmBrightness) { // show result, even if not quiet right now
Bangle.setLCDBrightness(v);
} else {
Bangle.setLCDBrightness(settings.brightness);
}
},
},
"LCD Timeout": {
value: settings.qmTimeout || 0,
min: 0, // 0 = use default (no constant on for quiet mode)
max: 60,
step: 5,
format: v => v>1 ? v : "-",
onchange: v => {
if (v>1) {
settings.qmTimeout = v;
} else {
delete settings.qmTimeout;
}
updateSettings();
if (settings.quiet && v>1) {
Bangle.setLCDTimeout(v);
} else {
Bangle.setLCDTimeout(settings.timeout);
}
},
},
// we disable wakeOn* events by overwriting them as false in qmOptions
// not disabled = not present in qmOptions at all
"Wake on FaceUp": {
value: "wakeOnFaceUp" in settings.qmOptions,
format: qmDisabledFormat,
onchange: () => {
if ("wakeOnFaceUp" in settings.qmOptions) {
delete settings.qmOptions.wakeOnFaceUp;
} else {
settings.qmOptions.wakeOnFaceUp = false;
}
updateOptions();
},
},
"Wake on Touch": {
value: "wakeOnTouch" in settings.qmOptions,
format: qmDisabledFormat,
onchange: () => {
if ("wakeOnTouch" in settings.qmOptions) {
delete settings.qmOptions.wakeOnTouch;
} else {
settings.qmOptions.wakeOnTouch = false;
}
updateOptions();
},
},
"Wake on Twist": {
value: "wakeOnTwist" in settings.qmOptions,
format: qmDisabledFormat,
onchange: () => {
if ("wakeOnTwist" in settings.qmOptions) {
delete settings.qmOptions.wakeOnTwist;
} else {
settings.qmOptions.wakeOnTwist = false;
}
updateOptions();
},
},
};
return E.showMenu(qmMenu);
}
function showLocaleMenu() {
const localemenu = {