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",
|
"id": "setting",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"version": "0.33",
|
"version": "0.34",
|
||||||
"description": "A menu for setting up Bangle.js",
|
"description": "A menu for setting up Bangle.js",
|
||||||
"icon": "settings.png",
|
"icon": "settings.png",
|
||||||
"tags": "tool,system",
|
"tags": "tool,system",
|
||||||
|
|
|
@ -36,3 +36,4 @@
|
||||||
0.31: Remove Bangle 1 settings when running on Bangle 2
|
0.31: Remove Bangle 1 settings when running on Bangle 2
|
||||||
0.32: Fix 'beep' menu on Bangle.js 2
|
0.32: Fix 'beep' menu on Bangle.js 2
|
||||||
0.33: Really fix 'beep' menu on Bangle.js 2 this time
|
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
|
- Off: Normal operation
|
||||||
- Alarms: Stops notifications, but "alarm" apps will still work
|
- Alarms: Stops notifications, but "alarm" apps will still work
|
||||||
- Silent: Blocks even alarms
|
- 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() {
|
function updateSettings() {
|
||||||
//storage.erase('setting.json'); // - not needed, just causes extra writes if settings were the same
|
//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);
|
storage.write('setting.json', settings);
|
||||||
if (!('qmOptions' in settings)) settings.qmOptions = {}; // easier if this always exists in this file
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateOptions() {
|
function updateOptions() {
|
||||||
updateSettings();
|
updateSettings();
|
||||||
Bangle.setOptions(settings.options)
|
Bangle.setOptions(settings.options)
|
||||||
if (settings.quiet) {
|
|
||||||
Bangle.setOptions(settings.qmOptions)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function gToInternal(g) {
|
function gToInternal(g) {
|
||||||
|
@ -56,18 +51,12 @@ function resetSettings() {
|
||||||
twistMaxY: -800,
|
twistMaxY: -800,
|
||||||
twistTimeout: 1000
|
twistTimeout: 1000
|
||||||
},
|
},
|
||||||
// Quiet Mode options:
|
|
||||||
// we only set these if we want to override the default value
|
|
||||||
// qmOptions: {},
|
|
||||||
// qmBrightness: undefined,
|
|
||||||
// qmTimeout: undefined,
|
|
||||||
};
|
};
|
||||||
updateSettings();
|
updateSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = storage.readJSON('setting.json', 1);
|
settings = storage.readJSON('setting.json', 1);
|
||||||
if (!settings) resetSettings();
|
if (!settings) resetSettings();
|
||||||
if (!('qmOptions' in settings)) settings.qmOptions = {}; // easier if this always exists in here
|
|
||||||
|
|
||||||
const boolFormat = v => v ? "On" : "Off";
|
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(),
|
'Locale': ()=>showLocaleMenu(),
|
||||||
'Select Clock': ()=>showClockMenu(),
|
'Select Clock': ()=>showClockMenu(),
|
||||||
'Set Time': ()=>showSetTimeMenu(),
|
'Set Time': ()=>showSetTimeMenu(),
|
||||||
|
@ -352,9 +350,7 @@ function showLCDMenu() {
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.brightness = v || 1;
|
settings.brightness = v || 1;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
if (!(settings.quiet && "qmBrightness" in settings)) {
|
Bangle.setLCDBrightness(settings.brightness);
|
||||||
Bangle.setLCDBrightness(settings.brightness);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'LCD Timeout': {
|
'LCD Timeout': {
|
||||||
|
@ -365,9 +361,7 @@ function showLCDMenu() {
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.timeout = 0 | v;
|
settings.timeout = 0 | v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
if (!(settings.quiet && "qmTimeout" in settings)) {
|
Bangle.setLCDTimeout(settings.timeout);
|
||||||
Bangle.setLCDTimeout(settings.timeout);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'Wake on BTN1': {
|
'Wake on BTN1': {
|
||||||
|
@ -455,105 +449,6 @@ function showLCDMenu() {
|
||||||
});
|
});
|
||||||
return E.showMenu(lcdMenu)
|
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() {
|
function showLocaleMenu() {
|
||||||
const localemenu = {
|
const localemenu = {
|
||||||
|
|
Loading…
Reference in New Issue