Merge pull request #3008 from xxDUxx/master

ContourClock 0.31
master
Gordon Williams 2023-09-18 13:57:51 +01:00 committed by GitHub
commit abc6b6776f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 8 deletions

View File

@ -10,3 +10,4 @@
0.28: More config options for cleaner look, enabled fast loading 0.28: More config options for cleaner look, enabled fast loading
0.29: Fixed a bug that would leave old font files in storage. 0.29: Fixed a bug that would leave old font files in storage.
0.30: Added options to show widgets and date on twist and tap. New fonts. 0.30: Added options to show widgets and date on twist and tap. New fonts.
0.31: Bugfix, no more freeze.

View File

@ -34,9 +34,12 @@
extrasTimeout = undefined; extrasTimeout = undefined;
hideExtras(); hideExtras();
}, 5000); }, 5000);
extrasShown = false;
}; };
let drawExtras = function() { //draw date, day of the week and widgets let drawExtras = function() { //draw date, day of the week and widgets
let date = new Date(); let date = new Date();
g.reset();
g.clearRect(0, 138, g.getWidth() - 1, 176);
g.setFont("Teletext10x18Ascii").setFontAlign(0, 1); g.setFont("Teletext10x18Ascii").setFontAlign(0, 1);
if (settings.weekday) g.drawString(require("locale").dow(date).toUpperCase(), g.getWidth() / 2, g.getHeight() - 18); if (settings.weekday) g.drawString(require("locale").dow(date).toUpperCase(), g.getWidth() / 2, g.getHeight() - 18);
if (settings.date) g.drawString(require('locale').date(date, 1), g.getWidth() / 2, g.getHeight()); if (settings.date) g.drawString(require('locale').date(date, 1), g.getWidth() / 2, g.getHeight());
@ -45,21 +48,23 @@
}; };
let hideExtras = function() { let hideExtras = function() {
if (extrasTimeout) clearTimeout(extrasTimeout); if (extrasTimeout) clearTimeout(extrasTimeout);
extrasTimeout = undefined; //NEW
g.reset();
g.clearRect(0, 138, g.getWidth() - 1, 176); g.clearRect(0, 138, g.getWidth() - 1, 176);
require("widget_utils").hide(); require("widget_utils").hide();
extrasShown = false; extrasShown = false; ///NEW
}; };
let draw = function() { let draw = function() {
if (drawTimeout) clearTimeout(drawTimeout); //NEW
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
let date = new Date(); let date = new Date();
g.reset(); g.reset();
if (extrasShown) drawExtras(); if (extrasShown) drawExtras();
else hideExtras(); else hideExtras();
require('contourclock').drawClock(settings.fontIndex); require('contourclock').drawClock(settings.fontIndex);
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
}; };
if (settings.hideWhenLocked) { if (settings.hideWhenLocked) {
onLock = locked => { onLock = locked => {
@ -83,6 +88,8 @@
Bangle.removeListener('twist', showExtras); Bangle.removeListener('twist', showExtras);
if (drawTimeout) clearTimeout(drawTimeout); if (drawTimeout) clearTimeout(drawTimeout);
if (extrasTimeout) clearTimeout(extrasTimeout); if (extrasTimeout) clearTimeout(extrasTimeout);
drawTimeout = undefined;
extrasTimeout = undefined;
if (settings.hideWhenLocked) require("widget_utils").show(); if (settings.hideWhenLocked) require("widget_utils").show();
g.reset(); g.reset();
g.clear(); g.clear();
@ -91,7 +98,7 @@
g.clear(); g.clear();
if (settings.widgets) { if (settings.widgets) {
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); setTimeout(Bangle.drawWidgets,0); //NEW
} }
draw(); draw();
} }

View File

@ -1,7 +1,7 @@
{ "id": "contourclock", { "id": "contourclock",
"name": "Contour Clock", "name": "Contour Clock",
"shortName" : "Contour Clock", "shortName" : "Contour Clock",
"version":"0.30", "version":"0.31",
"icon": "app.png", "icon": "app.png",
"readme": "README.md", "readme": "README.md",
"description": "A Minimalist clockface with large Digits.", "description": "A Minimalist clockface with large Digits.",