diff --git a/apps/bigdclock/ChangeLog b/apps/bigdclock/ChangeLog index ef5ee2433..ae5ae9224 100644 --- a/apps/bigdclock/ChangeLog +++ b/apps/bigdclock/ChangeLog @@ -1,2 +1,2 @@ 0.01: Initial version -0.02: setTimeout bug fix; no leading zero on date; lightmode; cleanup +0.02: setTimeout bug fix; no leading zero on date; lightmode; 12 hour format; cleanup diff --git a/apps/bigdclock/bigdclock.app.js b/apps/bigdclock/bigdclock.app.js index 8b190980f..a597c5840 100644 --- a/apps/bigdclock/bigdclock.app.js +++ b/apps/bigdclock/bigdclock.app.js @@ -28,13 +28,22 @@ function draw() { w = date.getDay(); // d=1..31; w=0..6 const level = E.getBattery(); const width = level + (level/2); + var settings = Object.assign({ + "12hour": false, + }, require('Storage').readJSON("bigdclock.json", true) || {}); g.reset(); g.clear(); g.setFontOpenSans(); g.setFontAlign(0, -1); - g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + if (settings["12hour"]) { + if (h > 12) h -= 12; + if (h == 0) h = 12; + g.drawString(h + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + } else { + g.drawString(("0"+h).substr(-2) + ":" + ("0"+m).substr(-2), g.getWidth() / 2, 30); + } g.setFontAlign(1, -1); g.drawString(d, g.getWidth() -6, 98); g.setFont('Vector', 52); diff --git a/apps/bigdclock/bigdclock.settings.js b/apps/bigdclock/bigdclock.settings.js new file mode 100644 index 000000000..e5f7bd990 --- /dev/null +++ b/apps/bigdclock/bigdclock.settings.js @@ -0,0 +1,26 @@ +(function(back) { + + var settings = Object.assign({ + "12hour": false, + }, require('Storage').readJSON("bigdclock.json", true) || {}); + + function set12hour(val) { + settings["12hour"]=val; + require('Storage').writeJSON("bigdclock.json", settings); + } + + var mainmenu = { + "": { + "title": "BigDClock" + }, + "< Back": () => back(), + "Time format": { + value: (settings["12hour"] !== undefined ? settings["12hour"] : false), + format: v => v ? "12 hr" : "24 hr", + onchange: v=> { set12hour(v) } + } + }; + + E.showMenu(mainmenu); + +}); diff --git a/apps/bigdclock/metadata.json b/apps/bigdclock/metadata.json index 3802a8dfd..3dfd9ce01 100644 --- a/apps/bigdclock/metadata.json +++ b/apps/bigdclock/metadata.json @@ -12,6 +12,8 @@ "screenshots": [ { "url":"screenshot.png" } ], "storage": [ {"name":"bigdclock.app.js","url":"bigdclock.app.js"}, + {"name":"bigdclock.settings.js","url":"bigdclock.settings.js"}, {"name":"bigdclock.img","url":"bigdclock.icon.js","evaluate":true} - ] + ], + "data": [{"name":"bigdclock.json"}] }