From 9c84d3f42020415200b0468fbbf0c79b5eb82c15 Mon Sep 17 00:00:00 2001 From: Etienne Deux Date: Fri, 15 Oct 2021 11:51:18 +0200 Subject: [PATCH 1/2] Adding locales to vclock-simple.js --- apps/svclock/vclock-simple.js | 41 +++++++++++++++-------------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/apps/svclock/vclock-simple.js b/apps/svclock/vclock-simple.js index f3ab911bc..62aad0dc3 100644 --- a/apps/svclock/vclock-simple.js +++ b/apps/svclock/vclock-simple.js @@ -1,4 +1,6 @@ /* jshint esversion: 6 */ +const locale = require("locale"); + const timeFontSize = 65; const dateFontSize = 20; const gmtFontSize = 10; @@ -18,50 +20,41 @@ function drawSimpleClock() { Bangle.drawWidgets(); // get date - var d = new Date(); - var da = d.toString().split(" "); + //var d = new Date(); + var d = new Date(Date.parse('2011-04-11T14:5:30Z')); g.reset(); // default draw styles // drawSting centered g.setFontAlign(0, 0); - // draw time - var time = da[4].substr(0, 5).split(":"); - var hours = time[0], - minutes = time[1]; - var meridian = ""; + // drawTime + var hours; if (is12Hour) { - hours = parseInt(hours,10); - meridian = "AM"; - if (hours == 0) { - hours = 12; - meridian = "AM"; - } else if (hours >= 12) { - meridian = "PM"; - if (hours>12) hours -= 12; - } - hours = (" "+hours).substr(-2); + hours = ("0" + d.getHours()%12).slice(-2); + } else { + hours = ("0" + d.getHours()).slice(-2); } + var minutes = ("0" + d.getMinutes()).slice(-2); g.setFont(font, timeFontSize); g.drawString(`${hours}:${minutes}`, xyCenter, yposTime, true); - g.setFont(font, gmtFontSize); - g.drawString(meridian, xyCenter + 102, yposTime + 10, true); + + if (is12Hour) { + g.setFont(font, gmtFontSize); + g.drawString(locale.meridian(d), xyCenter + 102, yposTime + 10, true); + } // draw Day, name of month, Date - var date = [da[0], da[1], da[2]].join(" "); g.setFont(font, dateFontSize); - - g.drawString(date, xyCenter, yposDate, true); + g.drawString([locale.dow(d,1), locale.month(d,1), d.getDate()].join(" "), xyCenter, yposDate, true); // draw year g.setFont(font, dateFontSize); g.drawString(d.getFullYear(), xyCenter, yposYear, true); // draw gmt - var gmt = da[5]; g.setFont(font, gmtFontSize); - g.drawString(gmt, xyCenter, yposGMT, true); + g.drawString(d.toString().match(/GMT[+-]\d+/), xyCenter, yposGMT, true); } // handle switch display on by pressing BTN1 From 75422b7ff85e7a004a6d512166aeba3bd3e15232 Mon Sep 17 00:00:00 2001 From: Etienne Deux Date: Mon, 18 Oct 2021 10:21:50 +0200 Subject: [PATCH 2/2] Scale UI to banglejs 2 --- apps.json | 2 +- apps/svclock/ChangeLog | 1 + apps/svclock/vclock-simple.js | 43 ++++++++++++++++++++++++++--------- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/apps.json b/apps.json index c8e614625..e15ff5b9c 100644 --- a/apps.json +++ b/apps.json @@ -946,7 +946,7 @@ { "id": "svclock", "name": "Simple V-Clock", "icon": "vclock-simple.png", - "version":"0.02", + "version":"0.03", "description": "Modification of Simple Clock 0.04 to use Vectorfont", "tags": "clock", "type":"clock", diff --git a/apps/svclock/ChangeLog b/apps/svclock/ChangeLog index 671de492c..4db60ecd5 100644 --- a/apps/svclock/ChangeLog +++ b/apps/svclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Modification of SimpleClock 0.04 to use Vectorfont 0.02: Use Bangle.setUI for button/launcher handling +0.03: Scale to BangleJS 2 and add locale \ No newline at end of file diff --git a/apps/svclock/vclock-simple.js b/apps/svclock/vclock-simple.js index 62aad0dc3..637701a3f 100644 --- a/apps/svclock/vclock-simple.js +++ b/apps/svclock/vclock-simple.js @@ -1,17 +1,39 @@ /* jshint esversion: 6 */ const locale = require("locale"); -const timeFontSize = 65; -const dateFontSize = 20; -const gmtFontSize = 10; -const font = "Vector"; +var timeFontSize; +var dateFontSize; +var gmtFontSize; +var font = "Vector"; -const xyCenter = g.getWidth() / 2; -const yposTime = 75; -const yposDate = 130; -const yposYear = 175; -const yposGMT = 220; +var xyCenter = g.getWidth() / 2; +var yposTime; +var yposDate; +var yposYear; +var yposGMT; +switch (process.env.BOARD) { + case "EMSCRIPTEN": + timeFontSize = 65; + dateFontSize = 20; + gmtFontSize = 10; + + yposTime = 75; + yposDate = 130; + yposYear = 175; + yposGMT = 220; + break; + case "EMSCRIPTEN2": + timeFontSize = 48; + dateFontSize = 15; + gmtFontSize = 10; + + yposTime = 55; + yposDate = 95; + yposYear = 128; + yposGMT = 161; + break; +} // Check settings for what type our clock should be var is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"]; @@ -20,8 +42,7 @@ function drawSimpleClock() { Bangle.drawWidgets(); // get date - //var d = new Date(); - var d = new Date(Date.parse('2011-04-11T14:5:30Z')); + var d = new Date(); g.reset(); // default draw styles // drawSting centered