gbridge: Fix setting to show/hide icon
Don't reload all widgets: just change this one and redrawmaster
parent
631abb812e
commit
fa692c4d8e
|
|
@ -13,7 +13,9 @@
|
||||||
function toggleIcon() {
|
function toggleIcon() {
|
||||||
settings.showIcon = !settings.showIcon;
|
settings.showIcon = !settings.showIcon;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
Bangle.loadWidgets();
|
// need to re-layout widgets
|
||||||
|
WIDGETS["gbridgew"].reload();
|
||||||
|
g.clear();
|
||||||
Bangle.drawWidgets();
|
Bangle.drawWidgets();
|
||||||
}
|
}
|
||||||
var mainmenu = {
|
var mainmenu = {
|
||||||
|
|
@ -35,5 +37,5 @@
|
||||||
"< Back" : function() { E.showMenu(mainmenu); },
|
"< Back" : function() { E.showMenu(mainmenu); },
|
||||||
};
|
};
|
||||||
|
|
||||||
E.showMenu(mainmenu);
|
const menu = E.showMenu(mainmenu);
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
(() => {
|
(() => {
|
||||||
const storage = require('Storage');
|
const storage = require('Storage');
|
||||||
|
let settings;
|
||||||
|
|
||||||
const state = {
|
const state = {
|
||||||
music: "stop",
|
music: "stop",
|
||||||
|
|
@ -13,10 +14,6 @@
|
||||||
scrollPos: 0
|
scrollPos: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
let settings = storage.readJSON('gbridge.json',1) || {};
|
|
||||||
if (!("showIcon" in settings)) {
|
|
||||||
settings.showIcon = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function gbSend(message) {
|
function gbSend(message) {
|
||||||
Bluetooth.println("");
|
Bluetooth.println("");
|
||||||
|
|
@ -186,6 +183,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
function draw() {
|
function draw() {
|
||||||
|
if (!settings.showIcon) return;
|
||||||
g.setColor(-1);
|
g.setColor(-1);
|
||||||
if (NRF.getSecurityStatus().connected)
|
if (NRF.getSecurityStatus().connected)
|
||||||
g.drawImage(require("heatshrink").decompress(atob("i0WwgHExAABCIwJCBYwJEBYkIBQ2ACgvzCwoECx/z/AKDD4WD+YLBEIYKCx//+cvnAKCBwU/mc4/8/HYv//Ev+Y4EEAePn43DBQkzn4rCEIoABBIwKHO4cjmczK42I6mqlqEEBQeIBQaDED4IgDUhi6KaBbmIA==")), this.x + 1, this.y + 1);
|
g.drawImage(require("heatshrink").decompress(atob("i0WwgHExAABCIwJCBYwJEBYkIBQ2ACgvzCwoECx/z/AKDD4WD+YLBEIYKCx//+cvnAKCBwU/mc4/8/HYv//Ev+Y4EEAePn43DBQkzn4rCEIoABBIwKHO4cjmczK42I6mqlqEEBQeIBQaDED4IgDUhi6KaBbmIA==")), this.x + 1, this.y + 1);
|
||||||
|
|
@ -198,16 +196,25 @@
|
||||||
g.flip(); // turns screen on
|
g.flip(); // turns screen on
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.showIcon) {
|
function reload() {
|
||||||
WIDGETS["gbridgew"] = {area: "tl", width: 24, draw: draw};
|
settings = storage.readJSON('gbridge.json', 1) || {};
|
||||||
NRF.on("connect", changedConnectionState);
|
if (!("showIcon" in settings)) {
|
||||||
NRF.on("disconnect", changedConnectionState);
|
settings.showIcon = true;
|
||||||
} else {
|
}
|
||||||
NRF.removeListener("connect", changedConnectionState);
|
if (settings.showIcon) {
|
||||||
NRF.removeListener("disconnect", changedConnectionState);
|
WIDGETS["gbridgew"].width = 24;
|
||||||
delete WIDGETS["gbridgew"];
|
NRF.on("connect", changedConnectionState);
|
||||||
|
NRF.on("disconnect", changedConnectionState);
|
||||||
|
} else {
|
||||||
|
WIDGETS["gbridgew"].width = 0;
|
||||||
|
NRF.removeListener("connect", changedConnectionState);
|
||||||
|
NRF.removeListener("disconnect", changedConnectionState);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WIDGETS["gbridgew"] = {area: "tl", width: 24, draw: draw, reload: reload};
|
||||||
|
reload();
|
||||||
|
|
||||||
function sendBattery() {
|
function sendBattery() {
|
||||||
gbSend({ t: "status", bat: E.getBattery() });
|
gbSend({ t: "status", bat: E.getBattery() });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue