diff --git a/apps.json b/apps.json index 2d556ce06..9b23b4e53 100644 --- a/apps.json +++ b/apps.json @@ -1858,9 +1858,9 @@ { "id": "calendar", "name": "Calendar", "icon": "calendar.png", - "version": "0.01", + "version": "0.02", "description": "Simple calendar", - "tags": "calendar", + "tags": "calendar,b2", "readme": "README.md", "allow_emulator": true, "storage": [ @@ -2495,9 +2495,9 @@ "name": "Digital Clock Face", "shortName":"Digi Clock", "icon": "digiclock.png", - "version":"0.01", + "version":"0.02", "description": "A simple digital clock with the time, day, month, and year", - "tags": "clock", + "tags": "clock,nob2", "type" : "clock", "storage": [ {"name":"digiclock.app.js","url":"digiclock.js"}, diff --git a/apps/calendar/ChangeLog b/apps/calendar/ChangeLog index 3cf79ffe8..8bafff34a 100644 --- a/apps/calendar/ChangeLog +++ b/apps/calendar/ChangeLog @@ -1 +1,2 @@ 0.01: Basic calendar +0.02: Make Bangle 2 compatible diff --git a/apps/calendar/calendar.js b/apps/calendar/calendar.js index 720986162..6f3c33164 100644 --- a/apps/calendar/calendar.js +++ b/apps/calendar/calendar.js @@ -1,5 +1,6 @@ -const maxX = 240; -const maxY = 240; +const maxX = g.getWidth(); +const maxY = g.getHeight(); +const fontSize = g.getWidth()>200?2:1; const rowN = 7; const colN = 7; const headerH = maxY / 7; @@ -50,7 +51,7 @@ function drawCalendar(date) { 11: "December" }; g.setFontAlign(0, 0); - g.setFont("6x8", 2); + g.setFont("6x8", fontSize); g.setColor(white); g.drawString(`${monthMap[month]} ${year}`, maxX / 2, headerH / 2); g.drawPoly([10, headerH / 2, 20, 10, 20, headerH - 10], true); @@ -59,7 +60,7 @@ function drawCalendar(date) { true ); - g.setFont("6x8", 2); + g.setFont("6x8", fontSize); const dowLbls = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]; dowLbls.forEach((lbl, i) => { g.drawString(lbl, i * colW + colW / 2, headerH + rowH / 2); @@ -135,26 +136,21 @@ const today = { }; drawCalendar(date); clearWatch(); -setWatch( - () => { - const month = date.getMonth(); - const prevMonth = month > 0 ? month - 1 : 11; +Bangle.on("touch",area=>{ + const month = date.getMonth(); + let prevMonth; + if (area==1) { + let prevMonth = month > 0 ? month - 1 : 11; if (prevMonth === 11) date.setFullYear(date.getFullYear() - 1); date.setMonth(prevMonth); - drawCalendar(date); - }, - BTN4, - { repeat: true } -); -setWatch( - () => { - const month = date.getMonth(); - const prevMonth = month < 11 ? month + 1 : 0; + } else { + let prevMonth = month < 11 ? month + 1 : 0; if (prevMonth === 0) date.setFullYear(date.getFullYear() + 1); date.setMonth(month + 1); - drawCalendar(date); - }, - BTN5, - { repeat: true } -); -setWatch(Bangle.showLauncher, BTN2, { repeat: false, edge: "falling" }); + } + drawCalendar(date); +}); + +// Show launcher when button pressed +Bangle.setUI("clock"); // TODO: ideally don't set 'clock' mode +// No space for widgets! diff --git a/apps/digiclock/ChangeLog b/apps/digiclock/ChangeLog index 0bb55854e..e41fae573 100644 --- a/apps/digiclock/ChangeLog +++ b/apps/digiclock/ChangeLog @@ -1 +1,2 @@ 0.01: App Made! +0.02: Changed setWatch to Bangle.setUI, code tidy diff --git a/apps/digiclock/digiclock.js b/apps/digiclock/digiclock.js index 7f74f2242..f404d30b2 100644 --- a/apps/digiclock/digiclock.js +++ b/apps/digiclock/digiclock.js @@ -1,141 +1,50 @@ //load fonts require("Font7x11Numeric7Seg").add(Graphics); -require("FontHaxorNarrow7x17").add(Graphics); +require("FontHaxorNarrow7x17").add(Graphics); //screen position -const X = 170; -const Y = 140; +const X = 170; +const Y = 140; function draw() { // Date Variables - var date = new Date(); - var h = date.getHours(); - var m = date.getMinutes(); - var day = date.getDay(); - var month = date.getMonth(); - var dateNum = date.getDate(); - var year = date.getFullYear(); - var half = "AM"; - var time = (" " + h).substr(-2) + ":" + ("0" + m).substr(-2); - - //convert day into string - switch (day) { - case 0: - day = "Sunday"; - break; - - case 1: - day = "Monday"; - break; - - case 2: - day = "Tuesday"; - break; - - case 3: - day = "Wednesday"; - break; - - case 4: - day = "Thursday"; - break; - - case 5: - day = "Friday"; - break; - - case 6: - day = "Saturday"; - break; - - default: - day = "ERROR"; - break; - } - - //convert month into String - switch(month) { - case 0: - month = "Jan"; - break; - - case 1: - month = "Feb"; - break; - - case 2: - month = "Mar"; - break; - - case 3: - month = "Apr"; - break; - - case 4: - month = "May"; - break; - - case 5: - month = "Jun"; - break; - - case 6: - month = "Jul"; - break; - - case 7: - month = "Aug"; - break; - - case 8: - month = "Sep"; - break; - - case 9: - month = "Oct"; - break; - - case 10: - month = "Nov"; - break; - - case 11: - month = "Dec"; - break; - - default: - month = "ERROR"; - break; - - } - + var date = new Date(); + var h = date.getHours(); + var m = date.getMinutes(); + var day = require("locale").dow(date); + var month = require("locale").month(date,1); + var dateNum = date.getDate(); + var year = date.getFullYear(); + var half = "AM"; + var time = (" " + h).substr(-2) + ":" + ("0" + m).substr(-2); + if (h > 12) { - half = "PM"; - h = h - 12; + half = "PM"; + h = h - 12; } //reset graphics - g.reset(); + g.reset(); //draw the time g.setFont("7x11Numeric7Seg", 5); g.setFontAlign(1,1); g.drawString(time, X, Y, true /*clear background*/); - g.setFont("7x11Numeric7Seg", 3); - g.drawString(("0"+date.getSeconds()).substr(-2), X+50, Y, true /*clear background*/); + g.setFont("7x11Numeric7Seg", 3); + g.drawString(("0"+date.getSeconds()).substr(-2), X+50, Y, true /*clear background*/); g.setFontAlign(0,1); g.setFont("HaxorNarrow7x17", 2); g.drawString(half, X+30, Y-35, true); g.setFont("HaxorNarrow7x17", 3); g.drawString(day, X-60, Y+53, true); - g.drawString(month, X-100, Y+95, true); - g.drawString(dateNum, X-40, Y+95, true); - g.drawString(year, X-90, Y-55, true); - - + g.drawString(month, X-100, Y+95, true); + g.drawString(dateNum, X-40, Y+95, true); + g.drawString(year, X-90, Y-55, true); + + } //clear screen at startup -g.clear(); +g.clear(); //draw immediatly -draw(); +draw(); var secondInterval = setInterval(draw, 1000); // Stop updates when LCD is off, restart when on @@ -148,7 +57,7 @@ Bangle.on('lcdPower',on=>{ } }); +// Show launcher when button pressed +Bangle.setUI("clock"); Bangle.loadWidgets(); Bangle.drawWidgets(); - -setWatch(Bangle.showLauncher, BTN2, {repeat : false, edge: "falling"});