mirror of https://github.com/espruino/BangleApps
settings: remove Quiet Mode LCD options
Updating these will be handled by the Quiet Mode Schedule app (qmsched)pull/951/head
parent
56b9e04ff0
commit
c24f67b06b
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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*)
|
||||
|
|
@ -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 = {
|
||||
|
|
Loading…
Reference in New Issue