- Do not register as watch, manually start clock on button
  (Compatibility with Quick Launch)
- Read start of week from new system settings instead of own
  configuration
master
Erik Andresen 2022-05-04 23:40:21 +02:00
parent 54f2017c23
commit 6fafba454d
4 changed files with 14 additions and 23 deletions

View File

@ -5,3 +5,5 @@
0.05: Update calendar weekend colors for start on Sunday 0.05: Update calendar weekend colors for start on Sunday
0.06: Use larger font for dates 0.06: Use larger font for dates
0.07: Fix off-by-one-error on previous month 0.07: Fix off-by-one-error on previous month
0.08: Do not register as watch, manually start clock on button
read start of week from system settings

View File

@ -18,8 +18,7 @@ const blue = "#0000ff";
const yellow = "#ffff00"; const yellow = "#ffff00";
let settings = require('Storage').readJSON("calendar.json", true) || {}; let settings = require('Storage').readJSON("calendar.json", true) || {};
if (settings.startOnSun === undefined) let startOnSun = ((require("Storage").readJSON("setting.json", true) || {}).firstDayOfWeek || 0) === 0;
settings.startOnSun = false;
if (settings.ndColors === undefined) if (settings.ndColors === undefined)
if (process.env.HWVERSION == 2) { if (process.env.HWVERSION == 2) {
settings.ndColors = true; settings.ndColors = true;
@ -50,14 +49,14 @@ function getDowLbls(locale) {
case "de_AT": case "de_AT":
case "de_CH": case "de_CH":
case "de_DE": case "de_DE":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]; dowLbls = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
} else { } else {
dowLbls = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; dowLbls = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"];
} }
break; break;
case "nl_NL": case "nl_NL":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["zo", "ma", "di", "wo", "do", "vr", "za"]; dowLbls = ["zo", "ma", "di", "wo", "do", "vr", "za"];
} else { } else {
dowLbls = ["ma", "di", "wo", "do", "vr", "za", "zo"]; dowLbls = ["ma", "di", "wo", "do", "vr", "za", "zo"];
@ -66,14 +65,14 @@ function getDowLbls(locale) {
case "fr_BE": case "fr_BE":
case "fr_CH": case "fr_CH":
case "fr_FR": case "fr_FR":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]; dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"];
} else { } else {
dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"]; dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"];
} }
break; break;
case "sv_SE": case "sv_SE":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]; dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"];
} else { } else {
dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"]; dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"];
@ -81,21 +80,21 @@ function getDowLbls(locale) {
break; break;
case "it_CH": case "it_CH":
case "it_IT": case "it_IT":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"]; dowLbls = ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"];
} else { } else {
dowLbls = ["Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"]; dowLbls = ["Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"];
} }
break; break;
case "oc_FR": case "oc_FR":
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["dg", "dl", "dm", "dc", "dj", "dv", "ds"]; dowLbls = ["dg", "dl", "dm", "dc", "dj", "dv", "ds"];
} else { } else {
dowLbls = ["dl", "dm", "dc", "dj", "dv", "ds", "dg"]; dowLbls = ["dl", "dm", "dc", "dj", "dv", "ds", "dg"];
} }
break; break;
default: default:
if (settings.startOnSun) { if (startOnSun) {
dowLbls = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]; dowLbls = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
} else { } else {
dowLbls = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]; dowLbls = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
@ -110,7 +109,7 @@ function drawCalendar(date) {
g.clearRect(0, 0, maxX, maxY); g.clearRect(0, 0, maxX, maxY);
g.setBgColor(bgColorMonth); g.setBgColor(bgColorMonth);
g.clearRect(0, 0, maxX, headerH); g.clearRect(0, 0, maxX, headerH);
if (settings.startOnSun){ if (startOnSun){
g.setBgColor(bgColorWeekend); g.setBgColor(bgColorWeekend);
g.clearRect(0, headerH + rowH, colW, maxY); g.clearRect(0, headerH + rowH, colW, maxY);
g.setBgColor(bgColorDow); g.setBgColor(bgColorDow);
@ -150,7 +149,7 @@ function drawCalendar(date) {
}); });
date.setDate(1); date.setDate(1);
const dow = date.getDay() + (settings.startOnSun ? 1 : 0); const dow = date.getDay() + (startOnSun ? 1 : 0);
const dowNorm = dow === 0 ? 7 : dow; const dowNorm = dow === 0 ? 7 : dow;
const monthMaxDayMap = { const monthMaxDayMap = {
@ -242,5 +241,5 @@ Bangle.on("touch", area => {
}); });
// Show launcher when button pressed // Show launcher when button pressed
Bangle.setUI("clock"); // TODO: ideally don't set 'clock' mode setWatch(() => load(), process.env.HWVERSION === 2 ? BTN : BTN3, { repeat: false, edge: "falling" });
// No space for widgets! // No space for widgets!

View File

@ -1,7 +1,7 @@
{ {
"id": "calendar", "id": "calendar",
"name": "Calendar", "name": "Calendar",
"version": "0.07", "version": "0.08",
"description": "Simple calendar", "description": "Simple calendar",
"icon": "calendar.png", "icon": "calendar.png",
"screenshots": [{"url":"screenshot_calendar.png"}], "screenshots": [{"url":"screenshot_calendar.png"}],

View File

@ -1,8 +1,6 @@
(function (back) { (function (back) {
var FILE = "calendar.json"; var FILE = "calendar.json";
var settings = require('Storage').readJSON(FILE, true) || {}; var settings = require('Storage').readJSON(FILE, true) || {};
if (settings.startOnSun === undefined)
settings.startOnSun = false;
if (settings.ndColors === undefined) if (settings.ndColors === undefined)
if (process.env.HWVERSION == 2) { if (process.env.HWVERSION == 2) {
settings.ndColors = true; settings.ndColors = true;
@ -17,14 +15,6 @@
E.showMenu({ E.showMenu({
"": { "title": "Calendar" }, "": { "title": "Calendar" },
"< Back": () => back(), "< Back": () => back(),
'Start Sunday': {
value: settings.startOnSun,
format: v => v ? "Yes" : "No",
onchange: v => {
settings.startOnSun = v;
writeSettings();
}
},
'B2 Colors': { 'B2 Colors': {
value: settings.ndColors, value: settings.ndColors,
format: v => v ? "Yes" : "No", format: v => v ? "Yes" : "No",