From 203d0177277aa619c65a033c27d7dea7d17e6a95 Mon Sep 17 00:00:00 2001 From: thyttan <6uuxstm66@mozmail.com⁩> Date: Mon, 13 Mar 2023 21:33:56 +0100 Subject: [PATCH] Add function for pausing the timeout on long touch. Remove some superfluous code. --- apps/quicklaunch/ChangeLog | 1 + apps/quicklaunch/app.js | 13 +++++++++---- apps/quicklaunch/boot.js | 5 +---- apps/quicklaunch/metadata.json | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/apps/quicklaunch/ChangeLog b/apps/quicklaunch/ChangeLog index 7796ff84d..0465a77e7 100644 --- a/apps/quicklaunch/ChangeLog +++ b/apps/quicklaunch/ChangeLog @@ -13,3 +13,4 @@ 0.12: Stackable extension screens. After updating, please visit the quicklaunch settings page to prompt an automatic update of the quicklaunch.json settings file with new key names. +0.13: Touch and hold to pause the timeout to clock temporarily. diff --git a/apps/quicklaunch/app.js b/apps/quicklaunch/app.js index f6cacd457..50b49efaa 100644 --- a/apps/quicklaunch/app.js +++ b/apps/quicklaunch/app.js @@ -17,6 +17,7 @@ let trace = settings.trace; let touchHandler = (_,e) => { + if (e.type == 2) return; let R = Bangle.appRect; if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return; trace = leaveTrace(trace+"t"); // t=tap. @@ -24,20 +25,24 @@ }; let swipeHandler = (lr,ud) => { + print("swipe", lr,ud); if (lr == -1) trace = leaveTrace(trace+"l"); // l=left, if (lr == 1) trace = leaveTrace(trace+"r"); // r=right, if (ud == -1) trace = leaveTrace(trace+"u"); // u=up, if (ud == 1) trace = leaveTrace(trace+"d"); // d=down. - if (lr == -1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (lr == 1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (ud == -1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (ud == 1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } + if (settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } + }; + + let onLongTouchDoPause = (e)=>{ + if (e.b == 1 && timeoutToClock) {clearTimeout(timeoutToClock); timeoutToClock = false;} + if (e.b == 0 && !timeoutToClock) updateTimeoutToClock(); }; Bangle.setUI({ mode: "custom", touch: touchHandler, swipe : swipeHandler, + drag : onLongTouchDoPause, remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} // Compatibility with Fastload Utils. }); diff --git a/apps/quicklaunch/boot.js b/apps/quicklaunch/boot.js index b1dc59884..4252b8057 100644 --- a/apps/quicklaunch/boot.js +++ b/apps/quicklaunch/boot.js @@ -32,9 +32,6 @@ if (lr == 1) trace = leaveTrace("r"); // r=right, if (ud == -1) trace = leaveTrace("u"); // u=up, if (ud == 1) trace = leaveTrace("d"); // d=down. - if (lr == -1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (lr == 1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (ud == -1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } - if (ud == 1 && settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } + if (settings[trace+"app"] && settings[trace+"app"].src){ if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src); } }); } diff --git a/apps/quicklaunch/metadata.json b/apps/quicklaunch/metadata.json index a74d7c65f..945d98002 100644 --- a/apps/quicklaunch/metadata.json +++ b/apps/quicklaunch/metadata.json @@ -2,7 +2,7 @@ "id": "quicklaunch", "name": "Quick Launch", "icon": "app.png", - "version": "0.12", + "version": "0.13", "description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.", "type": "bootloader", "tags": "tools, system",