wid_edit: clean up removed widgets from settings file on boot
parent
66120e31e4
commit
80a1513030
|
|
@ -5,10 +5,16 @@ Bangle.loadWidgets = function() {
|
|||
try { eval(require("Storage").read(widget)); }
|
||||
catch (e) {print(widget,e);}
|
||||
});
|
||||
const o = require("Storage").readJSON("wid_edit.json", 1) || {},
|
||||
c = o.custom || {};
|
||||
const s = require("Storage").readJSON("wid_edit.json", 1) || {},
|
||||
c = s.custom || {};
|
||||
let u = false; // do we need to write updated settings?
|
||||
for (const w in c){
|
||||
if (!(w in WIDGETS)) continue;
|
||||
if (!(w in WIDGETS)) {
|
||||
// widget no longer exists: remove it from settings file
|
||||
delete c[w];
|
||||
u = true;
|
||||
continue;
|
||||
}
|
||||
let _W = {};
|
||||
// store default area/sortorder in _WIDGETS
|
||||
if (c[w].area) _W.area = WIDGETS[w].area;
|
||||
|
|
@ -16,7 +22,11 @@ Bangle.loadWidgets = function() {
|
|||
Object.assign(WIDGETS[w], c[w]);
|
||||
_WIDGETS[w] = _W;
|
||||
}
|
||||
if (!Object.keys(_WIDGETS).length) delete _WIDGETS; // no need for this
|
||||
if (!Object.keys(_WIDGETS).length) delete _WIDGETS; // no need for this after all
|
||||
if (u) {
|
||||
s.custom = c;
|
||||
require("Storage").writeJSON("wid_edit.json", s);
|
||||
}
|
||||
const W = WIDGETS;
|
||||
WIDGETS = {};
|
||||
Object.keys(W)
|
||||
|
|
|
|||
Loading…
Reference in New Issue