mirror of https://github.com/espruino/BangleApps
teminalclock: ClockFace update: Hide widgets instead of not loading them
Also use ClockFace_menu for hideWidget & powerSave settingspull/2469/head
parent
2512268b98
commit
3bba0b6dab
|
@ -5,3 +5,5 @@
|
|||
0.05: Add altitude display (only Bangle.js 2)
|
||||
0.06: Add power related settings to control the HR and pressure(altitude) sensor from the watchface
|
||||
0.07: Use ClockFace module and rework the settings to be able to personnalize the order of the lines
|
||||
0.08: Hide widgets instead of not loading them at all
|
||||
Use Clockface_menu for widgets and power saving settings
|
||||
|
|
|
@ -32,7 +32,8 @@ const clock = new ClockFace({
|
|||
this.unlock_precision = 1;
|
||||
if (this.HRMinConfidence === undefined) this.HRMinConfidence = 50;
|
||||
if (this.PowerOnInterval === undefined) this.PowerOnInterval = 15;
|
||||
if (this.powerSaving===undefined) this.powerSaving = true;
|
||||
if (this.powerSave===undefined) this.powerSave = this.powerSaving; // migrate old setting
|
||||
if (this.powerSave===undefined) this.powerSave = true;
|
||||
["L2", "L3", "L4", "L5", "L6", "L7", "L8", "L9"].forEach(k => {
|
||||
if (this[k]===undefined){
|
||||
if(k == "L2") this[k] = "Date";
|
||||
|
@ -55,7 +56,7 @@ const clock = new ClockFace({
|
|||
});
|
||||
|
||||
// set the services (HRM, pressure sensor, etc....)
|
||||
if(!this.powerSaving){
|
||||
if(!this.powerSave){
|
||||
turnOnServices();
|
||||
} else{
|
||||
setInterval(turnOnServices, this.PowerOnInterval*60000); // every PowerOnInterval min
|
||||
|
@ -156,7 +157,7 @@ function turnOnServices(){
|
|||
if(clock.showAltitude){
|
||||
Bangle.setBarometerPower(true, "terminalclock");
|
||||
}
|
||||
if(clock.powerSaving){
|
||||
if(clock.powerSave){
|
||||
setTimeout(function () {
|
||||
turnOffServices();
|
||||
}, 45000);
|
||||
|
@ -194,7 +195,7 @@ Clock related functions but not in the ClockFace module
|
|||
---------------------------------------------------- */
|
||||
|
||||
function unlock(){
|
||||
if(clock.powerSaving){
|
||||
if(clock.powerSave){
|
||||
turnOnServices();
|
||||
}
|
||||
clock.precision = clock.unlock_precision;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"name": "Terminal Clock",
|
||||
"shortName":"Terminal Clock",
|
||||
"description": "A terminal cli like clock displaying multiple sensor data",
|
||||
"version":"0.07",
|
||||
"version":"0.08",
|
||||
"icon": "app.png",
|
||||
"type": "clock",
|
||||
"tags": "clock",
|
||||
|
|
|
@ -2,11 +2,8 @@
|
|||
var FILE = "terminalclock.json";
|
||||
// Load settings
|
||||
var settings = Object.assign({
|
||||
// ClockFace lib
|
||||
loadWidgets: true,
|
||||
// TerminalClock specific
|
||||
HRMinConfidence: 50,
|
||||
powerSaving: true,
|
||||
PowerOnInterval: 15,
|
||||
L2: 'Date',
|
||||
L3: 'HR',
|
||||
|
@ -17,6 +14,18 @@
|
|||
L8: 'Empty',
|
||||
L9: 'Empty',
|
||||
}, require('Storage').readJSON(FILE, true) || {});
|
||||
// ClockFace lib: migrate "don't load widgets" to "hide widgets"
|
||||
if (!("hideWidgets" in settings)) {
|
||||
if (("loadWidgets" in settings) && !settings.loadWidgets) settings.hideWidgets = 1;
|
||||
else settings.hideWidgets = 0;
|
||||
}
|
||||
delete settings.loadWidgets;
|
||||
// ClockFace lib: migrate `powerSaving` to `powerSave`
|
||||
if (!("powerSave" in settings)) {
|
||||
if ("powerSaving" in settings) settings.powerSave = settings.powerSaving;
|
||||
else settings.powerSave = true;
|
||||
}
|
||||
delete settings.powerSaving;
|
||||
|
||||
function writeSettings() {
|
||||
require('Storage').writeJSON(FILE, settings);
|
||||
|
@ -63,25 +72,16 @@
|
|||
writeSettings();
|
||||
}
|
||||
},
|
||||
'Show widgets': {
|
||||
value: settings.loadWidgets,
|
||||
onchange: v => {
|
||||
settings.loadWidgets = v;
|
||||
writeSettings();
|
||||
}
|
||||
},
|
||||
'Power saving': {
|
||||
value: settings.powerSaving,
|
||||
onchange: v => {
|
||||
settings.powerSaving = v;
|
||||
writeSettings();
|
||||
setTimeout(function() {
|
||||
E.showMenu(getMainMenu());
|
||||
},0);
|
||||
}
|
||||
}
|
||||
};
|
||||
if(settings.powerSaving){
|
||||
const save = (key, v) => {
|
||||
settings[key] = v;
|
||||
writeSettings();
|
||||
};
|
||||
require("ClockFace_menu").addItems(mainMenu, save, {
|
||||
hideWidgets: settings.hideWidgets,
|
||||
powerSave: settings.powerSave,
|
||||
});
|
||||
if(settings.powerSave){
|
||||
mainMenu['Power on interval'] = {
|
||||
value: settings.PowerOnInterval,
|
||||
min: 3, max: 60,
|
||||
|
|
Loading…
Reference in New Issue