mirror of https://github.com/espruino/BangleApps
Merge pull request #3647 from bobrippling/feat/drained-menu-pos
drained: restore menu positionpull/3652/head
commit
ff107da1b2
|
@ -58,6 +58,7 @@ var draw = function () {
|
||||||
}, 60000 - (date.getTime() % 60000));
|
}, 60000 - (date.getTime() % 60000));
|
||||||
};
|
};
|
||||||
var reload = function () {
|
var reload = function () {
|
||||||
|
var scroller;
|
||||||
var showMenu = function () {
|
var showMenu = function () {
|
||||||
var menu = {
|
var menu = {
|
||||||
"Restore to full power": drainedRestore,
|
"Restore to full power": drainedRestore,
|
||||||
|
@ -69,9 +70,12 @@ var reload = function () {
|
||||||
menu["Settings"] = function () { return load("setting.app.js"); };
|
menu["Settings"] = function () { return load("setting.app.js"); };
|
||||||
menu["Recovery"] = function () { return Bangle.showRecoveryMenu(); };
|
menu["Recovery"] = function () { return Bangle.showRecoveryMenu(); };
|
||||||
menu["Exit menu"] = reload;
|
menu["Exit menu"] = reload;
|
||||||
|
if (scroller) {
|
||||||
|
menu[""] = { selected: scroller.scroll };
|
||||||
|
}
|
||||||
if (nextDraw)
|
if (nextDraw)
|
||||||
clearTimeout(nextDraw);
|
clearTimeout(nextDraw);
|
||||||
E.showMenu(menu);
|
(scroller = E.showMenu(menu).scroller);
|
||||||
};
|
};
|
||||||
Bangle.setUI({
|
Bangle.setUI({
|
||||||
mode: "custom",
|
mode: "custom",
|
||||||
|
|
|
@ -78,8 +78,9 @@ const draw = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const reload = () => {
|
const reload = () => {
|
||||||
|
let scroller: MenuInstance["scroller"] | undefined;
|
||||||
const showMenu = () => {
|
const showMenu = () => {
|
||||||
const menu: { [k: string]: () => void } = {
|
const menu: Menu = {
|
||||||
"Restore to full power": drainedRestore,
|
"Restore to full power": drainedRestore,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -92,8 +93,12 @@ const reload = () => {
|
||||||
menu["Recovery"] = () => Bangle.showRecoveryMenu();
|
menu["Recovery"] = () => Bangle.showRecoveryMenu();
|
||||||
menu["Exit menu"] = reload;
|
menu["Exit menu"] = reload;
|
||||||
|
|
||||||
|
if(scroller){
|
||||||
|
menu[""] = { selected: scroller.scroll };
|
||||||
|
}
|
||||||
|
|
||||||
if(nextDraw) clearTimeout(nextDraw);
|
if(nextDraw) clearTimeout(nextDraw);
|
||||||
E.showMenu(menu);
|
({ scroller } = E.showMenu(menu));
|
||||||
};
|
};
|
||||||
|
|
||||||
Bangle.setUI({
|
Bangle.setUI({
|
||||||
|
|
|
@ -69,6 +69,14 @@ type MenuInstance = {
|
||||||
draw: () => void;
|
draw: () => void;
|
||||||
move: (n: number) => void;
|
move: (n: number) => void;
|
||||||
select: () => void;
|
select: () => void;
|
||||||
|
scroller?: MenuScroller; // BangleJS 2
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu scroller.
|
||||||
|
*/
|
||||||
|
type MenuScroller = {
|
||||||
|
scroll: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
declare const BTN1: Pin;
|
declare const BTN1: Pin;
|
||||||
|
@ -14828,4 +14836,4 @@ declare module "Storage" {
|
||||||
* @url http://www.espruino.com/Reference#l_Storage_open
|
* @url http://www.espruino.com/Reference#l_Storage_open
|
||||||
*/
|
*/
|
||||||
function open(name: string, mode: "r" | "w" | "a"): StorageFile;
|
function open(name: string, mode: "r" | "w" | "a"): StorageFile;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue