From 6fafba454db7581ed66cf55a6915dc75eb63175d Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Wed, 4 May 2022 23:40:21 +0200 Subject: [PATCH] calendar - 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 --- apps/calendar/ChangeLog | 2 ++ apps/calendar/calendar.js | 23 +++++++++++------------ apps/calendar/metadata.json | 2 +- apps/calendar/settings.js | 10 ---------- 4 files changed, 14 insertions(+), 23 deletions(-) diff --git a/apps/calendar/ChangeLog b/apps/calendar/ChangeLog index cc8bb6306..ea8934f84 100644 --- a/apps/calendar/ChangeLog +++ b/apps/calendar/ChangeLog @@ -5,3 +5,5 @@ 0.05: Update calendar weekend colors for start on Sunday 0.06: Use larger font for dates 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 diff --git a/apps/calendar/calendar.js b/apps/calendar/calendar.js index 3f4315811..fc7e93cf5 100644 --- a/apps/calendar/calendar.js +++ b/apps/calendar/calendar.js @@ -18,8 +18,7 @@ const blue = "#0000ff"; const yellow = "#ffff00"; let settings = require('Storage').readJSON("calendar.json", true) || {}; -if (settings.startOnSun === undefined) - settings.startOnSun = false; +let startOnSun = ((require("Storage").readJSON("setting.json", true) || {}).firstDayOfWeek || 0) === 0; if (settings.ndColors === undefined) if (process.env.HWVERSION == 2) { settings.ndColors = true; @@ -50,14 +49,14 @@ function getDowLbls(locale) { case "de_AT": case "de_CH": case "de_DE": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"]; } else { dowLbls = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; } break; case "nl_NL": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["zo", "ma", "di", "wo", "do", "vr", "za"]; } else { dowLbls = ["ma", "di", "wo", "do", "vr", "za", "zo"]; @@ -66,14 +65,14 @@ function getDowLbls(locale) { case "fr_BE": case "fr_CH": case "fr_FR": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]; } else { dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"]; } break; case "sv_SE": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]; } else { dowLbls = ["Lu", "Ma", "Me", "Je", "Ve", "Sa", "Di"]; @@ -81,21 +80,21 @@ function getDowLbls(locale) { break; case "it_CH": case "it_IT": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"]; } else { dowLbls = ["Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"]; } break; case "oc_FR": - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["dg", "dl", "dm", "dc", "dj", "dv", "ds"]; } else { dowLbls = ["dl", "dm", "dc", "dj", "dv", "ds", "dg"]; } break; default: - if (settings.startOnSun) { + if (startOnSun) { dowLbls = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]; } else { dowLbls = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]; @@ -110,7 +109,7 @@ function drawCalendar(date) { g.clearRect(0, 0, maxX, maxY); g.setBgColor(bgColorMonth); g.clearRect(0, 0, maxX, headerH); - if (settings.startOnSun){ + if (startOnSun){ g.setBgColor(bgColorWeekend); g.clearRect(0, headerH + rowH, colW, maxY); g.setBgColor(bgColorDow); @@ -150,7 +149,7 @@ function drawCalendar(date) { }); 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 monthMaxDayMap = { @@ -242,5 +241,5 @@ Bangle.on("touch", area => { }); // 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! diff --git a/apps/calendar/metadata.json b/apps/calendar/metadata.json index 62d2513ae..5f968b364 100644 --- a/apps/calendar/metadata.json +++ b/apps/calendar/metadata.json @@ -1,7 +1,7 @@ { "id": "calendar", "name": "Calendar", - "version": "0.07", + "version": "0.08", "description": "Simple calendar", "icon": "calendar.png", "screenshots": [{"url":"screenshot_calendar.png"}], diff --git a/apps/calendar/settings.js b/apps/calendar/settings.js index 3c8f7d8e8..192d2ece0 100644 --- a/apps/calendar/settings.js +++ b/apps/calendar/settings.js @@ -1,8 +1,6 @@ (function (back) { var FILE = "calendar.json"; var settings = require('Storage').readJSON(FILE, true) || {}; - if (settings.startOnSun === undefined) - settings.startOnSun = false; if (settings.ndColors === undefined) if (process.env.HWVERSION == 2) { settings.ndColors = true; @@ -17,14 +15,6 @@ E.showMenu({ "": { "title": "Calendar" }, "< Back": () => back(), - 'Start Sunday': { - value: settings.startOnSun, - format: v => v ? "Yes" : "No", - onchange: v => { - settings.startOnSun = v; - writeSettings(); - } - }, 'B2 Colors': { value: settings.ndColors, format: v => v ? "Yes" : "No",