diff --git a/apps/line_clock/app.js b/apps/line_clock/app.js index 0596b865e..4d243b736 100644 --- a/apps/line_clock/app.js +++ b/apps/line_clock/app.js @@ -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(); - drawNumber(currentMinute); + + if(settings.showMinute){ + drawNumber(currentMinute); + } } draw(); diff --git a/apps/line_clock/metadata.json b/apps/line_clock/metadata.json index a2aad5f58..01393efdf 100644 --- a/apps/line_clock/metadata.json +++ b/apps/line_clock/metadata.json @@ -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"}] } diff --git a/apps/line_clock/settings.js b/apps/line_clock/settings.js new file mode 100644 index 000000000..5a793ed0f --- /dev/null +++ b/apps/line_clock/settings.js @@ -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(); + }, + } + }); + })