mirror of https://github.com/espruino/BangleApps
Add settings to configure prompt
parent
656b8a275c
commit
f0304b5b43
|
@ -1,2 +1,3 @@
|
|||
0.01: New app!
|
||||
0.02: Add prompt before shutdown
|
||||
0.03: Add settings to configure prompt
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
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',
|
||||
buttons: { Yes: true, No: false },
|
||||
}).then((confirm) => {
|
||||
}).then((confirm) => {
|
||||
if (!confirm) {
|
||||
setTimeout(load, 100);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
g.setFont("6x8",2).setFontAlign(0,0);
|
||||
var x = g.getWidth()/2;
|
||||
var y = g.getHeight()/2 + 10;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ "id": "poweroff",
|
||||
"name": "Poweroff",
|
||||
"shortName":"Poweroff",
|
||||
"version":"0.02",
|
||||
"version":"0.03",
|
||||
"description": "Simple app to power off your Bangle.js",
|
||||
"icon": "app.png",
|
||||
"tags": "tool, poweroff, shutdown",
|
||||
|
@ -10,6 +10,10 @@
|
|||
"allow_emulator": true,
|
||||
"storage": [
|
||||
{"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