forked from FOSS/BangleApps
Add settings to configure prompt
parent
656b8a275c
commit
f0304b5b43
|
@ -1,2 +1,3 @@
|
||||||
0.01: New app!
|
0.01: New app!
|
||||||
0.02: Add prompt before shutdown
|
0.02: Add prompt before shutdown
|
||||||
|
0.03: Add settings to configure prompt
|
||||||
|
|
|
@ -1,14 +1,19 @@
|
||||||
g.clear();
|
g.clear();
|
||||||
|
|
||||||
E.showPrompt('Are you sure?', {
|
let settings = require('Storage').readJSON("poweroff.json", true) || {};
|
||||||
|
let showPrompt;
|
||||||
|
showPrompt = def(settings.showPrompt, true);
|
||||||
|
|
||||||
|
if (showPrompt) {
|
||||||
|
E.showPrompt('Are you sure?', {
|
||||||
title: 'Power off',
|
title: 'Power off',
|
||||||
buttons: { Yes: true, No: false },
|
buttons: { Yes: true, No: false },
|
||||||
}).then((confirm) => {
|
}).then((confirm) => {
|
||||||
if (!confirm) {
|
if (!confirm) {
|
||||||
setTimeout(load, 100);
|
setTimeout(load, 100);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
g.setFont("6x8",2).setFontAlign(0,0);
|
g.setFont("6x8",2).setFontAlign(0,0);
|
||||||
var x = g.getWidth()/2;
|
var x = g.getWidth()/2;
|
||||||
var y = g.getHeight()/2 + 10;
|
var y = g.getHeight()/2 + 10;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ "id": "poweroff",
|
{ "id": "poweroff",
|
||||||
"name": "Poweroff",
|
"name": "Poweroff",
|
||||||
"shortName":"Poweroff",
|
"shortName":"Poweroff",
|
||||||
"version":"0.02",
|
"version":"0.03",
|
||||||
"description": "Simple app to power off your Bangle.js",
|
"description": "Simple app to power off your Bangle.js",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"tags": "tool, poweroff, shutdown",
|
"tags": "tool, poweroff, shutdown",
|
||||||
|
@ -10,6 +10,10 @@
|
||||||
"allow_emulator": true,
|
"allow_emulator": true,
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"poweroff.app.js","url":"app.js"},
|
{"name":"poweroff.app.js","url":"app.js"},
|
||||||
{"name":"poweroff.img","url":"app-icon.js","evaluate":true}
|
{"name":"poweroff.img","url":"app-icon.js","evaluate":true},
|
||||||
]
|
{"name":"poweroff.settings.js","url":"settings.js"}
|
||||||
|
],
|
||||||
|
"data": [
|
||||||
|
{"name":"poweroff.json"}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
(function(back) {
|
||||||
|
var FILE = "poweroff.json";
|
||||||
|
var settings = Object.assign({
|
||||||
|
secondsOnUnlock: false,
|
||||||
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
|
||||||
|
function writeSettings() {
|
||||||
|
require('Storage').writeJSON(FILE, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper method which uses int-based menu item for set of string values
|
||||||
|
function stringItems(startvalue, writer, values) {
|
||||||
|
return {
|
||||||
|
value: (startvalue === undefined ? 0 : values.indexOf(startvalue)),
|
||||||
|
format: v => values[v],
|
||||||
|
min: 0,
|
||||||
|
max: values.length - 1,
|
||||||
|
wrap: true,
|
||||||
|
step: 1,
|
||||||
|
onchange: v => {
|
||||||
|
writer(values[v]);
|
||||||
|
writeSettings();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper method which breaks string set settings down to local settings object
|
||||||
|
function stringInSettings(name, values) {
|
||||||
|
return stringItems(settings[name], v => settings[name] = v, values);
|
||||||
|
}
|
||||||
|
|
||||||
|
var mainmenu = {
|
||||||
|
"": {
|
||||||
|
"title": "Poweroff"
|
||||||
|
},
|
||||||
|
"< Back": () => back(),
|
||||||
|
"Show prompt": {
|
||||||
|
value: (settings.showPrompt !== undefined ? settings.showPrompt : true),
|
||||||
|
onchange: v => {
|
||||||
|
settings.showPrompt = v;
|
||||||
|
writeSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
E.showMenu(mainmenu);
|
||||||
|
});
|
Loading…
Reference in New Issue