From 4d933ed959cd9cf2965879991cd07f2636eacb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20ICH=C3=89?= <4037271+peeweek@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:49:13 +0200 Subject: [PATCH] Added Settings for Color scheme --- apps.json | 3 +- apps/hcclock/ChangeLog | 2 +- apps/hcclock/hcclock.app.js | 47 +++++++++++++++++++++++++++----- apps/hcclock/hcclock.settings.js | 32 ++++++++++++++++++++++ core | 2 +- 5 files changed, 76 insertions(+), 10 deletions(-) create mode 100644 apps/hcclock/hcclock.settings.js diff --git a/apps.json b/apps.json index 2b28509cf..a9a6d736d 100644 --- a/apps.json +++ b/apps.json @@ -3390,13 +3390,14 @@ { "id": "hcclock", "name": "Hi-Contrast Clock", "icon": "hcclock-icon.png", - "version":"0.01", + "version":"0.02", "description": "Hi-Contrast Clock : A simple yet very bold clock that aims to be readable in high luninosity environments. Uses big 10x5 pixel digits. Use BTN 1 to switch background and foreground colors.", "tags": "clock", "type":"clock", "allow_emulator":true, "storage": [ {"name":"hcclock.app.js","url":"hcclock.app.js"}, + {"name":"hcclock.settings.js","url":"hcclock.settings.js"}, {"name":"hcclock.img","url":"hcclock-icon.js","evaluate":true} ] }, diff --git a/apps/hcclock/ChangeLog b/apps/hcclock/ChangeLog index 0ca30d066..343be7f07 100644 --- a/apps/hcclock/ChangeLog +++ b/apps/hcclock/ChangeLog @@ -1,2 +1,2 @@ 0.01: base code - +0.02: added settings for color schemes \ No newline at end of file diff --git a/apps/hcclock/hcclock.app.js b/apps/hcclock/hcclock.app.js index 98abbc6f3..4664dd763 100644 --- a/apps/hcclock/hcclock.app.js +++ b/apps/hcclock/hcclock.app.js @@ -174,19 +174,52 @@ function fmtDate(day,month,year,hour) let ap = "(AM)"; if(hour == 0 || hour > 12) ap = "(PM)"; - return months[month] + " " + day + " " + year + " "+ ap; + return months[month] + " " + day + " " + year + " "+ ap; } else return months[month] + ". " + day + " " + year; } -// Handles Flipping colors, then refreshes the UI + +////////////////////////////////////////// +// +// HANDLE COLORS + SETTINGS +// + +function getColorScheme() +{ + let settings = require('Storage').readJSON("hcclock.json", true) || {}; + if (!("scheme" in settings)) { + settings.scheme = 0; + } + return settings.scheme; +} + +function setColorScheme(value) +{ + let settings = require('Storage').readJSON("hcclock.json", true) || {}; + settings.scheme = value; + require('Storage').writeJSON('hcclock.json', settings); + + if(value == 0) // White + { + bg = 255; + fg = 0; + } + else // Black + { + bg = 0; + fg = 255; + } + redraw(); +} + function flipColors() { - let t = bg; - bg = fg; - fg = t; - redraw(); + if(getColorScheme() == 0) + setColorScheme(1); + else + setColorScheme(0); } ////////////////////////////////////////// @@ -197,7 +230,7 @@ function flipColors() // Initialize g.clear(); Bangle.loadWidgets(); -redraw(); +setColorScheme(getColorScheme()); // Define Refresh Interval setInterval(updateTime, interval); diff --git a/apps/hcclock/hcclock.settings.js b/apps/hcclock/hcclock.settings.js new file mode 100644 index 000000000..34d6d191a --- /dev/null +++ b/apps/hcclock/hcclock.settings.js @@ -0,0 +1,32 @@ +(function(back) { + + function getColorScheme() + { + let settings = require('Storage').readJSON("hcclock.json", true) || {}; + if (!("scheme" in settings)) { + settings.scheme = 0; + } + return settings.scheme; + } + function setColorScheme(value) + { + let settings = require('Storage').readJSON("hcclock.json", true) || {}; + settings.scheme = value? 1 : 0; + require('Storage').writeJSON('hcclock.json', settings); + } + function setIcon(visible) { + updateSetting('showIcon', visible); + + } + var mainmenu = { + "" : { "title" : "Hi-Contrast Clock" }, + "Color Scheme" : { + value: getColorScheme, + format: v => v == 0?"White":"Black", + onchange: setColorScheme + }, + "< Back" : back, + }; + E.showMenu(mainmenu); + }) + \ No newline at end of file diff --git a/core b/core index 27f9a7125..8d9a012d6 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 27f9a7125146a38c4357d679ec783f6e98a983c6 +Subproject commit 8d9a012d62d40aae1b2304d0149440fb3c022393