From 77fded87dc5936f6d23e9277942536c9de45bbe5 Mon Sep 17 00:00:00 2001 From: Septolum Date: Tue, 6 Aug 2024 18:42:53 +0100 Subject: [PATCH] Add date settings, update readme --- apps/lato/README.md | 5 +++++ apps/lato/app.js | 25 ++++++++++++++++++++++--- apps/lato/metadata.json | 8 ++++++-- apps/lato/screenshot4.png | Bin 0 -> 1542 bytes apps/lato/settings.js | 24 ++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 apps/lato/screenshot4.png create mode 100644 apps/lato/settings.js diff --git a/apps/lato/README.md b/apps/lato/README.md index 556ee6fbc..1dc571509 100644 --- a/apps/lato/README.md +++ b/apps/lato/README.md @@ -5,6 +5,7 @@ A simple clock with the Lato font, with fast load and clock_info ![](screenshot1.png) ![](screenshot2.png) ![](screenshot3.png) +![](screenshot4.png) This clock is a Lato version of Simplest++. Simplest++ provided the smallest example of a clock that supports 'fast load' and 'clock @@ -25,6 +26,8 @@ Pastel Clock. * Settings are saved automatically and reloaded along with the clock. +* Date display can be enabled and disabled, along with format choice in the app settings + ## About Clock Info's * The clock info modules enable all clocks to add the display of information to the clock face. @@ -52,3 +55,5 @@ Pastel Clock. Written by: [Hugh Barney](https://github.com/hughbarney) For support and discussion please post in the [Bangle JS Forum](http://forum.espruino.com/microcosms/1424/) + +Date functionality added by [Septolum](https://github.com/Septolum) diff --git a/apps/lato/app.js b/apps/lato/app.js index 87ff9a5d8..369cba17f 100644 --- a/apps/lato/app.js +++ b/apps/lato/app.js @@ -38,10 +38,14 @@ Graphics.prototype.setFontLatoSmall = function(scale) { // must be inside our own scope here so that when we are unloaded everything disappears // we also define functions using 'let fn = function() {..}' for the same reason. function decls are global + let settings = Object.assign({ + dateDisplay: false, + dateFormat: 0, + }, require("Storage").readJSON("lato.json", true) || {}); + let draw = function() { var date = new Date(); var timeStr = require("locale").time(date,1); - var dateStr = require("locale").dow(date,1) + ', ' + date.getDate() + ' ' + require("locale").month(date,1); var h = g.getHeight(); var w = g.getWidth(); @@ -55,8 +59,23 @@ Graphics.prototype.setFontLatoSmall = function(scale) { g.setColor(g.theme.fg); g.drawString(timeStr, w/2, h/2); - g.setFontVector(16); - g.drawString(dateStr, w/2, h/4 -4); + if (settings.dateDisplay) { + switch (settings.dateFormat) { + case 1: + var dateStr = require("locale").date(date,1); + break; + + case 2: + var dateStr = require("locale").date(date); + break; + + default: + var dateStr = require("locale").dow(date,1) + ', ' + date.getDate() + ' ' + require("locale").month(date,1); + break; + } + g.setFontVector(16); + g.drawString(dateStr, w/2, h/4 -4); + } clockInfoMenu.redraw(); // clock_info_support diff --git a/apps/lato/metadata.json b/apps/lato/metadata.json index 406413790..baeb5d3ea 100644 --- a/apps/lato/metadata.json +++ b/apps/lato/metadata.json @@ -1,7 +1,7 @@ { "id": "lato", "name": "Lato", - "version": "0.03", + "version": "0.04", "description": "A Lato Font clock with fast load and clock_info", "readme": "README.md", "icon": "app.png", @@ -12,6 +12,10 @@ "dependencies" : { "clock_info":"module" }, "storage": [ {"name":"lato.app.js","url":"app.js"}, - {"name":"lato.img","url":"icon.js","evaluate":true} + {"name":"lato.img","url":"icon.js","evaluate":true}, + {"name":"lato.settings.js","url":"settings.js"} + ], + "data": [ + {"name":"lato.json"} ] } diff --git a/apps/lato/screenshot4.png b/apps/lato/screenshot4.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc70fb1824acf78ae65bca8f5d95398773905c5 GIT binary patch literal 1542 zcmY+EdpOg39LLvOms{aPb5NLTgpTBKt!6V~Az_&1pu*hC-TI|EsYn=ELl-CHnqj$2 zQ}m?mRI*$)+qAP>j)!TbB?o67r{_H9^E{vT`}2JM{CvN!cm8o7q{?>ab`S`pg7Sd- zNxgNm73HPcLKR}ACLiI2giBpoD@S_>QiCLV1gC&NN*bHJ4MZYqOP30%C~tR#Sw;Ds zd(<2i#*9HAxe^ro@QHNx0ym_%;gF`>@WKASYmX5EF16%Q3wahB-SIlIMtAZ+a}+%1 ztNvTF>tP_U3^8Z{3}0HwZnN5`dq3_H<(fpqe`;ubt#+x3S^Z`vK*bxUiROm~^Iy#ytGV4BKj;M0&?TS9&1JA9oj$C z4YxTL9Q8VI8BbkRZM#l$3jSQ~>H&tH;duRS~@tgm! zsL?S>r}~RkD4v47is(vl^Hja8+131jca_B12RQnyVyUn|{U^}dz3#DMJt`XPXw&23 z09zWkQ55zaIE=eM2mPztzX!D&7i4}Tk=@sTPv;c=K2z!H zuajk5-a8>@ygxa7+pdVB+LLbZMnXj})+BgiHLWt>Y6ZG&mwZxw%yUm{`9>9|Z^y-6 z+I!kPaC!F$A+HOeHH+p&0z=o?fr6;>8Ia+$2?}$MsLuZAfpXP*_DM}jHhyz&N7gNe zdFO<>4U4)@nbK!vKc^?!r8T1I`4h>E~jjXAw&%*uCzHp`K0joPuj)51Q?ixLa?KurNdS)s0` z_w+n;ZM7SU#~{n8C)qQL2uBQ$o3FxeuN^R&MRPg|trD78UST2*pI>eBPUH_|f z{9Z~)@=vj+!uK04q>5iK%6g7@IY-Z%il^BVp2SX@UUQPA{-UfpuovLg0Q9O^E~BnX$lQSg^gH3u`(-I2gW?tQJ|>h6SVdNrEFD zhCUP3Bor>IKRF_x(S*qDxvWCbQ$B6db>bmwSv}~c`>3V@aL30$>~fm4lkK%ViG`Q6 z2Y&FjBzI#W`zpeTCce%Z6z7+_t$>zkTSmrl!kDfdbx>q0$%Gn=a-yb~hX&mi%!1y? zI%77tws!|QQB$7x%bYGCixJG?jIU>$GHEeWfPd$*-p$>f5c?!Km^oL&HhIpvm!6=C zdA&0Ex@_%>C8ZR}kk#{8A}dH1K4ys?f92SZN8@zE-ZjW@Unze|>v?9tE6{!fA1T;H zX!W=HU?zC|&6FL {save('dateDisplay', v)} + }, + "Date Format": { + value: settings.dateFormat, + min: 0, max: 2, + format: v => ["DoW, dd MMM","Locale Short","Locale Long"][v], + onchange: (v) => {save('dateFormat', v)} + } + }; + E.showMenu(appMenu) + }) \ No newline at end of file