mirror of https://github.com/espruino/BangleApps
Implement showMinute setting in Line Clock app
The commit adds 'showMinute' configuration in both app and settings file for the Line Clock app, allowing users to choose whether to display the minute. An additional property within the settings JSON file is now read at application start to adjust behavior accordingly.pull/3148/head
parent
7ab3fe2f37
commit
a54d37dbfc
|
@ -9,10 +9,18 @@ const hourOffset = 32;
|
|||
const numberOffset = 85;
|
||||
const numberSize = 22;
|
||||
|
||||
const SETTINGS_FILE = "line_clock.setting.json";
|
||||
|
||||
let settings = {
|
||||
showLock: true
|
||||
showLock: true,
|
||||
showMinute: true,
|
||||
};
|
||||
|
||||
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
|
||||
for (const key in saved_settings) {
|
||||
settings[key] = saved_settings[key];
|
||||
}
|
||||
|
||||
let gWidth = g.getWidth(), gCenterX = gWidth/2;
|
||||
let gHeight = g.getHeight(), gCenterY = gHeight/2;
|
||||
|
||||
|
@ -218,7 +226,7 @@ function queueDraw() {
|
|||
}, 60000 - (Date.now() % 60000));
|
||||
}
|
||||
|
||||
function lockListenerBw(isLocked) {
|
||||
function lockListenerBw() {
|
||||
if (drawTimeout) clearTimeout(drawTimeout);
|
||||
drawTimeout = undefined;
|
||||
draw();
|
||||
|
@ -267,7 +275,10 @@ function draw() {
|
|||
|
||||
|
||||
drawHand();
|
||||
|
||||
if(settings.showMinute){
|
||||
drawNumber(currentMinute);
|
||||
}
|
||||
}
|
||||
|
||||
draw();
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
"readme": "README.md",
|
||||
"storage": [
|
||||
{"name":"line_clock.app.js","url":"app.js"},
|
||||
{"name":"line_clock.img","url":"app-icon.js","evaluate":true}
|
||||
]
|
||||
{"name":"line_clock.img","url":"app-icon.js","evaluate":true},
|
||||
{"name":"line_clock.settings.js","url":"settings.js"}
|
||||
],
|
||||
"data":[{"name":"line_clock.setting.json"}]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
(function(back) {
|
||||
const SETTINGS_FILE = "line_clock.setting.json";
|
||||
|
||||
// initialize with default settings...
|
||||
const storage = require('Storage')
|
||||
let settings = {
|
||||
showLock: true,
|
||||
showMinute: true,
|
||||
};
|
||||
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
|
||||
for (const key in saved_settings) {
|
||||
settings[key] = saved_settings[key]
|
||||
}
|
||||
|
||||
function save() {
|
||||
storage.write(SETTINGS_FILE, settings)
|
||||
}
|
||||
|
||||
E.showMenu({
|
||||
'': { 'title': 'Line Clock' },
|
||||
'< Back': back,
|
||||
'Show Lock': {
|
||||
value: settings.showLock,
|
||||
format: () => (settings.showLock ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
settings.showLock = !settings.showLock;
|
||||
save();
|
||||
},
|
||||
},
|
||||
'Show Minute': {
|
||||
value: settings.showMinute,
|
||||
format: () => (settings.showMinute ? 'Yes' : 'No'),
|
||||
onchange: () => {
|
||||
settings.showMinute = !settings.showMinute;
|
||||
save();
|
||||
},
|
||||
}
|
||||
});
|
||||
})
|
Loading…
Reference in New Issue