promenu: fix settings being overwritten by alarm/settings apps
parent
4bad06714a
commit
0d18a1fd76
|
|
@ -1,7 +1,7 @@
|
||||||
var _a, _b;
|
var _a, _b;
|
||||||
var settings = (require("Storage").readJSON("promenu.settings.json", true) || {});
|
var S = (require("Storage").readJSON("promenu.settings.json", true) || {});
|
||||||
(_a = settings.naturalScroll) !== null && _a !== void 0 ? _a : (settings.naturalScroll = false);
|
(_a = S.naturalScroll) !== null && _a !== void 0 ? _a : (S.naturalScroll = false);
|
||||||
(_b = settings.wrapAround) !== null && _b !== void 0 ? _b : (settings.wrapAround = true);
|
(_b = S.wrapAround) !== null && _b !== void 0 ? _b : (S.wrapAround = true);
|
||||||
E.showMenu = function (items) {
|
E.showMenu = function (items) {
|
||||||
var RectRnd = function (x1, y1, x2, y2, r) {
|
var RectRnd = function (x1, y1, x2, y2, r) {
|
||||||
var pp = [];
|
var pp = [];
|
||||||
|
|
@ -168,7 +168,7 @@ E.showMenu = function (items) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var lastSelected = selected;
|
var lastSelected = selected;
|
||||||
if (settings.wrapAround) {
|
if (S.wrapAround) {
|
||||||
selected = (selected + dir + menuItems.length) % menuItems.length;
|
selected = (selected + dir + menuItems.length) % menuItems.length;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
@ -210,7 +210,7 @@ E.showMenu = function (items) {
|
||||||
},
|
},
|
||||||
}, function (dir) {
|
}, function (dir) {
|
||||||
if (dir)
|
if (dir)
|
||||||
l.move(settings.naturalScroll ? -dir : dir);
|
l.move(S.naturalScroll ? -dir : dir);
|
||||||
else
|
else
|
||||||
l.select();
|
l.select();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,9 @@ const enum Consts {
|
||||||
NAME_SCROLL_PAD = 5,
|
NAME_SCROLL_PAD = 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
const settings = (require("Storage").readJSON("promenu.settings.json", true) || {}) as PromenuSettings;
|
const S = (require("Storage").readJSON("promenu.settings.json", true) || {}) as PromenuSettings;
|
||||||
settings.naturalScroll ??= false;
|
S.naturalScroll ??= false;
|
||||||
settings.wrapAround ??= true;
|
S.wrapAround ??= true;
|
||||||
|
|
||||||
|
|
||||||
E.showMenu = (items?: Menu): MenuInstance => {
|
E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
const RectRnd = (x1: number, y1: number, x2: number, y2: number, r: number) => {
|
const RectRnd = (x1: number, y1: number, x2: number, y2: number, r: number) => {
|
||||||
|
|
@ -217,7 +216,7 @@ E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
const lastSelected = selected;
|
const lastSelected = selected;
|
||||||
if (settings.wrapAround) {
|
if (S.wrapAround) {
|
||||||
selected = (selected + dir + /*keep +ve*/menuItems.length) % menuItems.length;
|
selected = (selected + dir + /*keep +ve*/menuItems.length) % menuItems.length;
|
||||||
} else {
|
} else {
|
||||||
selected = E.clip(selected + dir, 0, menuItems.length - 1);
|
selected = E.clip(selected + dir, 0, menuItems.length - 1);
|
||||||
|
|
@ -258,7 +257,7 @@ E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
},
|
},
|
||||||
} as SetUIArg<"updown">,
|
} as SetUIArg<"updown">,
|
||||||
dir => {
|
dir => {
|
||||||
if (dir) l.move(settings.naturalScroll ? -dir : dir);
|
if (dir) l.move(S.naturalScroll ? -dir : dir);
|
||||||
else l.select();
|
else l.select();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,3 +8,5 @@ type BangleEvents = {
|
||||||
["#ondrag"]?: BangleHandler<DragCallback>,
|
["#ondrag"]?: BangleHandler<DragCallback>,
|
||||||
["#onstroke"]?: BangleHandler<(event: { xy: Uint8Array, stroke?: string }) => void>,
|
["#onstroke"]?: BangleHandler<(event: { xy: Uint8Array, stroke?: string }) => void>,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
declare var settings: {}; // settings is commonly used by apps, so declare it here to avoid overwriting it in boot/clkinfo/widgets/etc
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue