diff --git a/apps/widmp/ChangeLog b/apps/widmp/ChangeLog index 56cc64be1..65d1a8d9b 100644 --- a/apps/widmp/ChangeLog +++ b/apps/widmp/ChangeLog @@ -7,3 +7,4 @@ 0.07: Use default Bangle formatter for booleans 0.08: Better formula for the moon's phase 0.09: Fix variable declaration +0.10: Added ability to hide widget diff --git a/apps/widmp/metadata.json b/apps/widmp/metadata.json index a334ec27e..bd4c182d0 100644 --- a/apps/widmp/metadata.json +++ b/apps/widmp/metadata.json @@ -1,7 +1,7 @@ { "id": "widmp", "name": "Moon Phase", - "version": "0.09", + "version": "0.10", "description": "Display the current moon phase in blueish (in light mode) or white (in dark mode) for both hemispheres. In the southern hemisphere the 'My Location' app is needed.", "icon": "widget.png", "type": "widget", diff --git a/apps/widmp/settings.js b/apps/widmp/settings.js index e671d9900..734e90a5b 100644 --- a/apps/widmp/settings.js +++ b/apps/widmp/settings.js @@ -2,6 +2,7 @@ var settings = Object.assign({ default_colour: true, + hide: false, red: 0, green: 0, blue: 0, @@ -30,6 +31,13 @@ writeSettings(); } }, + "Hide Widget": { + value: settings.hide, + onchange: () => { + settings.hide = !settings.hide; + writeSettings(); + } + }, "Custom...": () => E.showMenu(custommenu) }; diff --git a/apps/widmp/widget.js b/apps/widmp/widget.js index 89c072ca1..d94c8697a 100644 --- a/apps/widmp/widget.js +++ b/apps/widmp/widget.js @@ -3,6 +3,7 @@ var lastCalculated = 0; // When we last calculated the phase var phase = 0; // The last phase we calculated var southernHemisphere = false; // when in southern hemisphere -- use the "My Location" App + var settings; // https://github.com/deirdreobyrne/LunarPhase function moonPhase(sec) { @@ -39,14 +40,18 @@ g.drawLine(CenterX-leftFactor*y,CenterY+x, CenterX+rightFactor*y,CenterY+x); } } - - function setMoonColour(g) { - var settings = Object.assign({ + + function reloadSettings() { + settings = Object.assign({ default_colour: true, + hide: false, red: 0, green: 0, blue: 0, }, require('Storage').readJSON("widmp.json", true) || {}); + } + + function setMoonColour(g) { if (settings.default_colour) { if (g.theme.dark) { g.setColor(0xffff); // white @@ -62,6 +67,7 @@ function draw() { + if (settings.hide) return; const CenterX = this.x + 12, CenterY = this.y + 12, Radius = 11; let leftFactor, rightFactor; @@ -90,9 +96,11 @@ drawMoonPhase(CenterX,CenterY, Radius, leftFactor,rightFactor); } + reloadSettings(); + var wid = settings.hide ? 0 : 24; WIDGETS["widmp"] = { area: "tr", - width: 24, + width: wid, draw: draw };