2022-02-23 20:47:22 +00:00
|
|
|
Bangle.loadWidgets();
|
|
|
|
|
|
|
|
|
2022-02-23 18:17:44 +00:00
|
|
|
const storage = require('Storage');
|
|
|
|
let settingsChronowid;
|
|
|
|
|
2022-02-23 19:10:09 +00:00
|
|
|
const screenWidth = g.getWidth();
|
|
|
|
const screenHeight = g.getHeight();
|
2022-02-23 20:53:27 +00:00
|
|
|
const cx = parseInt(screenWidth/2);
|
|
|
|
const cy = parseInt(screenHeight/2);
|
2022-02-23 19:10:09 +00:00
|
|
|
|
|
|
|
|
2022-02-23 18:17:44 +00:00
|
|
|
function updateSettings() {
|
|
|
|
var now = new Date();
|
|
|
|
const goal = new Date(now.getFullYear(), now.getMonth(), now.getDate(),
|
|
|
|
now.getHours() + settingsChronowid.hours, now.getMinutes() + settingsChronowid.minutes, now.getSeconds() + settingsChronowid.seconds);
|
|
|
|
settingsChronowid.goal = goal.getTime();
|
2022-02-23 20:47:22 +00:00
|
|
|
storage.writeJSON('chronosimplewid.json', settingsChronowid);
|
2022-02-23 18:17:44 +00:00
|
|
|
if (WIDGETS["chronowid"]) WIDGETS["chronowid"].reload();
|
|
|
|
}
|
|
|
|
|
2022-02-23 20:47:22 +00:00
|
|
|
|
2022-02-23 18:17:44 +00:00
|
|
|
function resetSettings() {
|
|
|
|
settingsChronowid = {
|
|
|
|
hours : 0,
|
|
|
|
minutes : 0,
|
|
|
|
seconds : 0,
|
|
|
|
started : false,
|
|
|
|
counter : 0,
|
|
|
|
goal : 0,
|
|
|
|
};
|
|
|
|
updateSettings();
|
|
|
|
}
|
|
|
|
|
2022-02-23 20:47:22 +00:00
|
|
|
|
|
|
|
settingsChronowid = storage.readJSON('chronosimplewid.json',1);
|
2022-02-23 18:17:44 +00:00
|
|
|
if (!settingsChronowid) resetSettings();
|
|
|
|
|
|
|
|
|
2022-02-23 20:47:22 +00:00
|
|
|
setWatch(_=>load(), BTN1);
|
2022-02-23 19:10:09 +00:00
|
|
|
function draw(){
|
|
|
|
g.clear(1);
|
|
|
|
Bangle.drawWidgets();
|
|
|
|
|
|
|
|
g.setColor(g.theme.fg);
|
2022-02-23 20:53:27 +00:00
|
|
|
g.setFont("Vector", 32).setFontAlign(0,-1);
|
2022-02-23 18:17:44 +00:00
|
|
|
|
2022-02-23 19:10:09 +00:00
|
|
|
g.setFontAlign(0, 0, 0);
|
2022-02-23 20:53:27 +00:00
|
|
|
g.drawString(settingsChronowid.minutes + " min.", cx, cy);
|
2022-02-23 19:10:09 +00:00
|
|
|
|
|
|
|
if(settingsChronowid.started){
|
|
|
|
g.setColor("#ff0000");
|
2022-02-23 20:47:22 +00:00
|
|
|
g.setFont("Vector", 20).setFontAlign(0,-1);
|
2022-02-23 20:53:27 +00:00
|
|
|
g.drawString("[started]", cx, cy+20);
|
2022-02-23 19:10:09 +00:00
|
|
|
}
|
2022-02-23 18:17:44 +00:00
|
|
|
}
|
|
|
|
|
2022-02-23 20:47:22 +00:00
|
|
|
|
2022-02-23 19:10:09 +00:00
|
|
|
Bangle.on('touch', function(btn, e){
|
|
|
|
var left = parseInt(g.getWidth() * 0.2);
|
|
|
|
var right = g.getWidth() - left;
|
2022-02-23 20:47:22 +00:00
|
|
|
var upper = parseInt(g.getHeight() * 0.2);
|
2022-02-23 19:10:09 +00:00
|
|
|
var lower = g.getHeight() - upper;
|
|
|
|
|
|
|
|
var isLeft = e.x < left;
|
|
|
|
var isRight = e.x > right;
|
|
|
|
var isUpper = e.y < upper;
|
|
|
|
var isLower = e.y > lower;
|
|
|
|
|
|
|
|
if(isRight){
|
|
|
|
settingsChronowid.minutes += 1;
|
|
|
|
} else if(isLeft){
|
|
|
|
settingsChronowid.minutes -= 1;
|
|
|
|
} else if(isUpper){
|
|
|
|
settingsChronowid.minutes += 5;
|
|
|
|
} else if(isLower){
|
|
|
|
settingsChronowid.minutes -= 5;
|
|
|
|
} else {
|
|
|
|
settingsChronowid.started = !settingsChronowid.started;
|
|
|
|
}
|
|
|
|
|
2022-02-23 20:53:27 +00:00
|
|
|
if(settingsChronowid.minutes <= 0){
|
|
|
|
settingsChronowid.minutes = 0;
|
|
|
|
settingsChronowid.started = false;
|
|
|
|
}
|
|
|
|
|
2022-02-23 19:10:09 +00:00
|
|
|
updateSettings();
|
|
|
|
draw();
|
|
|
|
});
|
|
|
|
|
|
|
|
g.reset();
|
|
|
|
draw();
|