widbt: option to hide when no connection
parent
289771c3e3
commit
71ebe9bca5
|
|
@ -5,3 +5,4 @@
|
||||||
0.06: Tweaking colors for dark/light themes and low bpp screens
|
0.06: Tweaking colors for dark/light themes and low bpp screens
|
||||||
0.07: Memory usage improvements
|
0.07: Memory usage improvements
|
||||||
0.08: Disable LCD on, on bluetooth status change
|
0.08: Disable LCD on, on bluetooth status change
|
||||||
|
0.09: Hide widget when disconnected (a setting)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
require("heatshrink").decompress(atob("mEwwMB/4AG/YFE/IFE/AFFv4FEn4FEj4FEg4FEgYFEHIn4oAFEsAqD/FwFQXx/F4h4FB+H4vgwC+F4vARC/E4uAdC/kYsAiC/0IoIvDgBBEwBNE4AuCAAPgL4nwNYgFFCIodFFIo1EIIpNFLIplF8BxEPoQFC/aJESo6hFVoq5FYorRFborpFeon5Aon7AogADA="))
|
||||||
|
|
@ -1,13 +1,16 @@
|
||||||
{
|
{
|
||||||
"id": "widbt",
|
"id": "widbt",
|
||||||
"name": "Bluetooth Widget",
|
"name": "Bluetooth Widget",
|
||||||
"version": "0.08",
|
"version": "0.09",
|
||||||
"description": "Show the current Bluetooth connection status in the top right of the clock",
|
"description": "Show the current Bluetooth connection status in the top right of the clock",
|
||||||
"icon": "widget.png",
|
"icon": "widget.png",
|
||||||
"type": "widget",
|
"type": "widget",
|
||||||
"tags": "widget,bluetooth",
|
"tags": "widget,bluetooth",
|
||||||
"supports": ["BANGLEJS","BANGLEJS2"],
|
"supports": ["BANGLEJS","BANGLEJS2"],
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"widbt.wid.js","url":"widget.js"}
|
{"name":"widbt.wid.js","url":"widget.js"},
|
||||||
]
|
{"name":"widbt.settings.js","url":"settings.js"},
|
||||||
|
{"name":"widbt.img","url":"app-icon.js","evaluate":true}
|
||||||
|
],
|
||||||
|
"data": [{"name":"widbt.json"}]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
(function(back) {
|
||||||
|
var FILE = "widbt.json";
|
||||||
|
var settings = require('Storage').readJSON(FILE, true) || {};
|
||||||
|
|
||||||
|
function writeSettings() {
|
||||||
|
require('Storage').writeJSON(FILE, settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
E.showMenu({
|
||||||
|
"" : { "title" : "Bluetooth Widget" },
|
||||||
|
"< Back" : () => back(),
|
||||||
|
'No conn. widget': {
|
||||||
|
value: !!settings.hideDisconnected,
|
||||||
|
format: v => v?"Hide":"Show",
|
||||||
|
onchange: v => {
|
||||||
|
settings.hideDisconnected = v;
|
||||||
|
writeSettings();
|
||||||
|
if (WIDGETS.bluetooth) WIDGETS.bluetooth.changed();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
@ -1,12 +1,28 @@
|
||||||
WIDGETS["bluetooth"]={area:"tr",width:15,draw:function() {
|
WIDGETS["bluetooth"]={area:"tr",draw:function() {
|
||||||
|
if (WIDGETS.bluetooth.width==0)
|
||||||
|
return;
|
||||||
g.reset();
|
g.reset();
|
||||||
if (NRF.getSecurityStatus().connected)
|
if (NRF.getSecurityStatus().connected)
|
||||||
g.setColor((g.getBPP()>8) ? "#07f" : (g.theme.dark ? "#0ff" : "#00f"));
|
g.setColor((g.getBPP()>8) ? "#07f" : (g.theme.dark ? "#0ff" : "#00f"));
|
||||||
else
|
else
|
||||||
g.setColor(g.theme.dark ? "#666" : "#999");
|
g.setColor(g.theme.dark ? "#666" : "#999");
|
||||||
g.drawImage(atob("CxQBBgDgFgJgR4jZMawfAcA4D4NYybEYIwTAsBwDAA=="),2+this.x,2+this.y);
|
g.drawImage(atob("CxQBBgDgFgJgR4jZMawfAcA4D4NYybEYIwTAsBwDAA=="),2+this.x,2+this.y);
|
||||||
|
},getWidth:function(){
|
||||||
|
if (!NRF.getSecurityStatus().connected) {
|
||||||
|
const settings = require('Storage').readJSON("widbt.json", true) || {};
|
||||||
|
if (settings.hideDisconnected)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 15;
|
||||||
},changed:function() {
|
},changed:function() {
|
||||||
WIDGETS["bluetooth"].draw();
|
const newWidth = WIDGETS.bluetooth.getWidth();
|
||||||
|
if (WIDGETS.bluetooth.width != newWidth) {
|
||||||
|
WIDGETS.bluetooth.width = newWidth;
|
||||||
|
Bangle.drawWidgets();
|
||||||
|
} else {
|
||||||
|
WIDGETS.bluetooth.draw();
|
||||||
|
}
|
||||||
}};
|
}};
|
||||||
NRF.on('connect',WIDGETS["bluetooth"].changed);
|
WIDGETS.bluetooth.width = WIDGETS.bluetooth.getWidth();
|
||||||
NRF.on('disconnect',WIDGETS["bluetooth"].changed);
|
NRF.on('connect',WIDGETS.bluetooth.changed);
|
||||||
|
NRF.on('disconnect',WIDGETS.bluetooth.changed);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue