diff --git a/apps.json b/apps.json index 9cf55d1a1..a0384b159 100644 --- a/apps.json +++ b/apps.json @@ -1944,26 +1944,16 @@ "id": "largeclock", "name": "Large Clock", "icon": "largeclock.png", - "version": "0.09", + "version": "0.10", "description": "A readable and informational digital watch, with date, seconds and moon phase", "readme": "README.md", "tags": "clock", "type": "clock", "allow_emulator": true, "storage": [ - { - "name": "largeclock.app.js", - "url": "largeclock.js" - }, - { - "name": "largeclock.img", - "url": "largeclock-icon.js", - "evaluate": true - }, - { - "name": "largeclock.settings.js", - "url": "settings.js" - } + {"name": "largeclock.app.js", "url": "largeclock.js"}, + {"name": "largeclock.img", "url": "largeclock-icon.js", "evaluate": true}, + {"name": "largeclock.settings.js", "url": "settings.js"} ], "data": [ {"name":"largeclock.json"} diff --git a/apps/largeclock/ChangeLog b/apps/largeclock/ChangeLog index 6fa9297d8..8c9b24be9 100644 --- a/apps/largeclock/ChangeLog +++ b/apps/largeclock/ChangeLog @@ -7,3 +7,4 @@ 0.07: Don't clear all intervals during initialisation 0.08: Use Bangle.setUI for button/launcher handling 0.09: fix font size for latest firmwares +0.10: Configure the side text direction based on the wrist on which you wear your watch diff --git a/apps/largeclock/README.md b/apps/largeclock/README.md index 5c2ad42c2..b6e6a640f 100644 --- a/apps/largeclock/README.md +++ b/apps/largeclock/README.md @@ -7,6 +7,7 @@ A readable and informational digital watch, with date, seconds and moon phase an - Readable - Informative: hours, minutes, secondsa, date, year and moon phase - Pairs nicely with any other apps: in setting > large clock any installed app can be assigned to BTN1 and BTN3 in order to open it easily directly from the watch, without the hassle of passing trough the launcher. For example BTN1 can be assigned to alarm and BTN3 to chronometer. +- Configure the text direction on the side depending on the wrist on which you wear your watch. ## How to use it diff --git a/apps/largeclock/largeclock.js b/apps/largeclock/largeclock.js index 6e1efeb4c..cbe5341f0 100644 --- a/apps/largeclock/largeclock.js +++ b/apps/largeclock/largeclock.js @@ -14,6 +14,9 @@ const settings = require("Storage").readJSON("largeclock.json", 1)||{}; const BTN1app = settings.BTN1 || ""; const BTN3app = settings.BTN3 || ""; +const right_hand = (require("Storage").readJSON("largeclock.json",1)||{}).right_hand; +const rotation = right_hand ? 3 : 1; + function drawMoon(d) { const BLACK = 0, MOON = 0x41f, @@ -145,9 +148,9 @@ function drawTime(d) { g.setColor(1, 50, 1); g.drawString(minutes, 40, 130, true); g.setFont("Vector", 20); - g.setRotation(3); - g.drawString(`${dow} ${day} ${month}`, 60, 10, true); - g.drawString(year, is12Hour ? 46 : 75, 205, true); + g.setRotation(rotation); + g.drawString(`${dow} ${day} ${month}`, 60, right_hand?10:205, true); + g.drawString(year, is12Hour?(right_hand?56:120):(right_hand?85:115), right_hand?205:10, true); lastMinutes = minutes; } g.setRotation(0); diff --git a/apps/largeclock/largeclock.json b/apps/largeclock/largeclock.json index 58c981197..8df84b2de 100644 --- a/apps/largeclock/largeclock.json +++ b/apps/largeclock/largeclock.json @@ -1,4 +1,5 @@ { "BTN1": "", - "BTN3": "" + "BTN3": "", + "right_hand": true } diff --git a/apps/largeclock/settings.js b/apps/largeclock/settings.js index 293f66677..f996666ab 100644 --- a/apps/largeclock/settings.js +++ b/apps/largeclock/settings.js @@ -28,7 +28,8 @@ const settings = s.readJSON("largeclock.json", 1) || { BTN1: "", - BTN3: "" + BTN3: "", + right_hand: false }; function showApps(btn) { @@ -67,10 +68,19 @@ } const mainMenu = { - "": { title: "Large Clock Settings" }, + "": { title: "Large Clock" }, "< Back": back, "BTN1 app": () => showApps("BTN1"), - "BTN3 app": () => showApps("BTN3") + "BTN3 app": () => showApps("BTN3"), + "On right hand": { + value: !!settings.right_hand, + format: v=>v?"Yes":"No", + onchange: v=>{ + settings.right_hand = v; + s.writeJSON("largeclock.json", settings); + } + } }; + E.showMenu(mainMenu); });