Merge pull request #3099 from nxdefiant/master

Fixes for alarm, settings & waypoints
master
Gordon Williams 2023-11-17 08:45:55 +00:00 committed by GitHub
commit baf13d10fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 55 additions and 53 deletions

View File

@ -47,3 +47,4 @@
0.42: Fix date not getting saved in event edit menu when tapping Confirm 0.42: Fix date not getting saved in event edit menu when tapping Confirm
0.43: New settings: Show confirm, Show Overflow, Show Type. 0.43: New settings: Show confirm, Show Overflow, Show Type.
0.44: Add "delete timer after expiration" setting to events. 0.44: Add "delete timer after expiration" setting to events.
0.45: Fix new alarm when selectedAlarm is undefined

View File

@ -106,7 +106,7 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex, withDate) {
var isNew = alarmIndex === undefined; var isNew = alarmIndex === undefined;
var alarm = require("sched").newDefaultAlarm(); var alarm = require("sched").newDefaultAlarm();
if (withDate || selectedAlarm.date) { if (withDate || (selectedAlarm && selectedAlarm.date)) {
alarm.del = require("sched").getSettings().defaultDeleteExpiredTimers; alarm.del = require("sched").getSettings().defaultDeleteExpiredTimers;
} }
alarm.dow = handleFirstDayOfWeek(alarm.dow); alarm.dow = handleFirstDayOfWeek(alarm.dow);

View File

@ -2,7 +2,7 @@
"id": "alarm", "id": "alarm",
"name": "Alarms & Timers", "name": "Alarms & Timers",
"shortName": "Alarms", "shortName": "Alarms",
"version": "0.44", "version": "0.45",
"description": "Set alarms and timers on your Bangle", "description": "Set alarms and timers on your Bangle",
"icon": "app.png", "icon": "app.png",
"tags": "tool,alarm", "tags": "tool,alarm",

View File

@ -8,7 +8,7 @@
"tags": "tool,outdoors,gps", "tags": "tool,outdoors,gps",
"supports": ["BANGLEJS","BANGLEJS2"], "supports": ["BANGLEJS","BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"storage": [ "storage": [
{"name":"gpsnav.app.js","url":"app.min.js","supports":["BANGLEJS"]}, {"name":"gpsnav.app.js","url":"app.min.js","supports":["BANGLEJS"]},
{"name":"gpsnav.app.js","url":"app_b2.js","supports":["BANGLEJS2"]}, {"name":"gpsnav.app.js","url":"app_b2.js","supports":["BANGLEJS2"]},

View File

@ -8,7 +8,7 @@
"tags": "tool,outdoors,gps", "tags": "tool,outdoors,gps",
"supports": ["BANGLEJS2"], "supports": ["BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"interface" : "interface.html", "interface" : "interface.html",
"storage": [ "storage": [
{"name":"gpstrek.app.js","url":"app.js"}, {"name":"gpstrek.app.js","url":"app.js"},

View File

@ -8,7 +8,7 @@
"tags": "tool,outdoors,gps", "tags": "tool,outdoors,gps",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS"],
"readme": "README.md", "readme": "README.md",
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"storage": [ "storage": [
{"name":"kitchen.app.js","url":"kitchen.app.js"}, {"name":"kitchen.app.js","url":"kitchen.app.js"},
{"name":"stepo2.kit.js","url":"stepo2.kit.js"}, {"name":"stepo2.kit.js","url":"stepo2.kit.js"},

View File

@ -76,4 +76,4 @@ of 'Select Clock'
0.66: Fix LCD calibration bug where it would come on again after the 0.66: Fix LCD calibration bug where it would come on again after the
calibration was done. calibration was done.
0.67: Rename 'Wake on BTN1/Touch' to 'Wake on Button/Tap' on Bangle.js 2 0.67: Rename 'Wake on BTN1/Touch' to 'Wake on Button/Tap' on Bangle.js 2
0.68: Fix syntax error

View File

@ -1,7 +1,7 @@
{ {
"id": "setting", "id": "setting",
"name": "Settings", "name": "Settings",
"version": "0.67", "version": "0.68",
"description": "A menu for setting up Bangle.js", "description": "A menu for setting up Bangle.js",
"icon": "settings.png", "icon": "settings.png",
"tags": "tool,system", "tags": "tool,system",

View File

@ -459,13 +459,13 @@ function showLCDMenu() {
settings.options.wakeOnBTN1 = !settings.options.wakeOnBTN1; settings.options.wakeOnBTN1 = !settings.options.wakeOnBTN1;
updateOptions(); updateOptions();
} }
} },
}, /*LANG*/'Wake on Tap': {
/*LANG*/'Wake on Tap': { value: settings.options.wakeOnTouch,
value: settings.options.wakeOnTouch, onchange: () => {
onchange: () => { settings.options.wakeOnTouch = !settings.options.wakeOnTouch;
settings.options.wakeOnTouch = !settings.options.wakeOnTouch; updateOptions();
updateOptions(); }
} }
}); });
else else

View File

@ -8,7 +8,7 @@
"type": "app", "type": "app",
"tags": "tool,outdoors", "tags": "tool,outdoors",
"supports": ["BANGLEJS","BANGLEJS2"], "supports": ["BANGLEJS","BANGLEJS2"],
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"readme": "README.md", "readme": "README.md",
"allow_emulator": true, "allow_emulator": true,
"storage": [ "storage": [

View File

@ -8,7 +8,7 @@
"type": "app", "type": "app",
"tags": "tool,outdoors", "tags": "tool,outdoors",
"supports": ["BANGLEJS"], "supports": ["BANGLEJS"],
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"readme": "README.md", "readme": "README.md",
"allow_emulator": true, "allow_emulator": true,
"storage": [ "storage": [

View File

@ -6,7 +6,7 @@
"icon": "waypointer.png", "icon": "waypointer.png",
"tags": "tool,outdoors,gps", "tags": "tool,outdoors,gps",
"supports": ["BANGLEJS", "BANGLEJS2"], "supports": ["BANGLEJS", "BANGLEJS2"],
"dependencies" : { "waypoints":"type", "magnav" : "app" }, "dependencies" : { "waypoints":"app", "magnav" : "app" },
"readme": "README.md", "readme": "README.md",
"storage": [ "storage": [
{"name":"waypointer.app.js","url":"app.js"}, {"name":"waypointer.app.js","url":"app.js"},

View File

@ -1,2 +1,4 @@
0.01: New App! 0.01: New App!
0.02: Merge waypoint_editor here, so waypoints can be edited on device, too. 0.02: Merge waypoint_editor here, so waypoints can be edited on device, too.
0.03: Do not register as type waypoint - show in launcher
Fixes for Bangle.js 1 & not installed textinput

View File

@ -1,10 +1,9 @@
{ "id": "waypoints", { "id": "waypoints",
"name": "Waypoints", "name": "Waypoints",
"version":"0.02", "version":"0.03",
"description": "Provides 'waypoints.json' used by various navigation apps, as well as a way to edit it from the App Loader or from the device", "description": "Provides 'waypoints.json' used by various navigation apps, as well as a way to edit it from the App Loader or from the device",
"icon": "app.png", "icon": "app.png",
"tags": "tool,outdoors,gps", "tags": "tool,outdoors,gps",
"type": "waypoints",
"supports" : ["BANGLEJS","BANGLEJS2"], "supports" : ["BANGLEJS","BANGLEJS2"],
"readme": "README.md", "readme": "README.md",
"interface": "interface.html", "interface": "interface.html",

View File

@ -1,6 +1,7 @@
/* Thanks to pinsafe from BangleApps repository */ /* Thanks to pinsafe from BangleApps repository */
var Layout = require("Layout"); var Layout = require("Layout");
const BANGLEJS2 = process.env.HWVERSION == 2; // check for bangle 2
const W = g.getWidth(); const W = g.getWidth();
const H = g.getHeight(); const H = g.getHeight();
@ -23,20 +24,27 @@ function writeWP() {
} }
function mainMenu() { function mainMenu() {
let textInputInstalled = true;
try {
require("textinput")
} catch(err) {
textInputInstalled = false;
}
var menu = { var menu = {
"< Back" : Bangle.load "< Back" : () => load()
}; };
if (Object.keys(wp).length==0) { for (let id in wp) {
//Object.assign(menu, {"NO WPs":""});
print("(no waypoints)");
} else for (let id in wp) {
let i = id; let i = id;
menu[wp[id]["name"]]=()=>{ show(i); }; menu[wp[id]["name"]]=()=>{ show(i); };
} }
menu["Add"]=addCard; if (textInputInstalled && BANGLEJS2) {
menu["Add"]=addCard;
}
menu["Remove"]=removeCard; menu["Remove"]=removeCard;
menu["Format"]=setFormat; menu["Format"]=setFormat;
menu["Mark GPS"]=markGps; if (textInputInstalled) {
menu["Mark GPS"]=markGps;
}
g.clear(); g.clear();
E.showMenu(menu); E.showMenu(menu);
} }
@ -153,16 +161,14 @@ function lon(x) {
} }
function show(pin) { function show(pin) {
print(pin);
var i = wp[pin]; var i = wp[pin];
var l = i["name"] + "\n" + lat(i["lat"]) + "\n" + lon(i["lon"]); var l = lat(i["lat"]) + "\n" + lon(i["lon"]);
var la = new Layout ({ E.showPrompt(l,{
type:"v", c: [ title:i["name"],
{type:"txt", font:"10%", pad:1, fillx:1, filly:1, label: l}, buttons : {"Ok":true}
{type:"btn", font:"10%", pad:1, fillx:1, filly:1, label:"OK", cb:l=>{mainMenu();}} }).then(function(v) {
], lazy:true}); mainMenu();
g.clear(); });
la.render();
} }
function showNumpad(text, key_, callback) { function showNumpad(text, key_, callback) {
@ -231,22 +237,17 @@ function removeCard() {
wp.forEach((val, card) => { wp.forEach((val, card) => {
const name = wp[card].name; const name = wp[card].name;
menu[name]=()=>{ menu[name]=()=>{
E.showMenu(); E.showPrompt(name,{
var confirmRemove = new Layout ( title:"Delete",
{type:"v", c: [ }).then(function(v) {
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Delete"}, if (v) {
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:name}, wp.splice(card, 1);
{type:"h", c: [ writeWP();
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "YES", cb:l=>{ mainMenu();
wp.splice(card, 1); } else {
writeWP(); mainMenu();
mainMenu(); }
}}, });
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: " NO", cb:l=>{mainMenu();}}
]}
], lazy:true});
g.clear();
confirmRemove.render();
}; };
}); });
} }
@ -345,5 +346,4 @@ function addCard() {
} }
g.reset(); g.reset();
Bangle.setUI();
mainMenu(); mainMenu();

View File

@ -9,7 +9,7 @@
"supports": ["BANGLEJS","BANGLEJS2"], "supports": ["BANGLEJS","BANGLEJS2"],
"screenshots": [{"url":"screenshot.png"},{"url":"screenshot-menu.png"},{"url":"screenshot-delete.png"}], "screenshots": [{"url":"screenshot.png"},{"url":"screenshot-menu.png"},{"url":"screenshot-delete.png"}],
"readme": "README.md", "readme": "README.md",
"dependencies" : { "waypoints":"type" }, "dependencies" : { "waypoints":"app" },
"storage": [ "storage": [
{"name":"wpmoto.app.js","url":"app.js"}, {"name":"wpmoto.app.js","url":"app.js"},
{"name":"wpmoto.img","url":"icon.js","evaluate":true} {"name":"wpmoto.img","url":"icon.js","evaluate":true}