1
0
Fork 0

start making quicklaunch infinitely extensible

master
thyttan 2023-03-11 01:10:31 +01:00
parent 2b7fcd7704
commit cc15ff9cfa
2 changed files with 29 additions and 18 deletions

View File

@ -11,27 +11,30 @@
let touchHandler = (_,e) => { let touchHandler = (_,e) => {
let R = Bangle.appRect; let R = Bangle.appRect;
if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return; if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return;
if (settings.exttapapp.src){ if (settings.exttapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.exttapapp.src)) reset("exttapapp"); else load(settings.exttapapp.src); } qlTrace += "tap";
if (settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
}; };
let swipeHandler = (lr,ud) => { let swipeHandler = (lr,ud) => {
if (lr == -1 && settings.extleftapp && settings.extleftapp.src){ if (settings.extleftapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extleftapp.src)) reset("extleftapp"); else load(settings.extleftapp.src); } if (lr == -1) qlTrace += "left";
if (lr == 1 && settings.extrightapp && settings.extrightapp.src){ if (settings.extrightapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extrightapp.src)) reset("extrightapp"); else load(settings.extrightapp.src); } if (lr == 1) qlTrace += "right";
if (ud == -1 && settings.extupapp && settings.extupapp.src){ if (settings.extupapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extupapp.src)) reset("extupapp"); else load(settings.extupapp.src); } if (ud == -1) qlTrace += "up";
if (ud == 1 && settings.extdownapp && settings.extdownapp.src){ if (settings.extdownapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extdownapp.src)) reset("extdownapp"); else load(settings.extdownapp.src); } if (ud == 1) qlTrace += "down";
if (lr == -1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (lr == 1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (ud == -1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (ud == 1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
}; };
let removeUI = ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);}
Bangle.setUI({ Bangle.setUI({
mode: "custom", mode: "custom",
touch: touchHandler, touch: touchHandler,
swipe : swipeHandler, swipe : swipeHandler,
remove: removeUI // Compatability with Fastload Utils. remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} // Compatibility with Fastload Utils.
}); });
g.clearRect(Bangle.appRect); g.clearRect(Bangle.appRect);
Bangle.loadWidgets(); // Compatability with Fastload Utils. Bangle.loadWidgets(); // Compatibility with Fastload Utils.
// taken from Icon Launcher with some alterations // taken from Icon Launcher with some alterations
let timeoutToClock; let timeoutToClock;
@ -43,9 +46,11 @@
updateTimeoutToClock(); updateTimeoutToClock();
let R = Bangle.appRect; let R = Bangle.appRect;
// Draw app hints
g.setFont("Vector", 11) g.setFont("Vector", 11)
.setFontAlign(0,1,0).drawString(settings.extupapp.name, R.x+R.w/2, R.y2) .setFontAlign(0,1,0).drawString(settings[qlTrace+"app"].name, R.x+R.w/2, R.y2)
.setFontAlign(0,1,1).drawString(settings.extrightapp.name, R.x, R.y+R.h/2) .setFontAlign(0,1,1).drawString(settings[qlTrace+"app"].name, R.x, R.y+R.h/2)
.setFontAlign(0,-1,0).drawString(settings.extdownapp.name, R.x+R.w/2, R.y) .setFontAlign(0,-1,0).drawString(settings[qlTrace+"app"].name, R.x+R.w/2, R.y)
.setFontAlign(0,1,3).drawString(settings.extleftapp.name, R.x2, R.y+R.h/2); .setFontAlign(0,1,3).drawString(settings[qlTrace+"app"].name, R.x2, R.y+R.h/2);
} }

View File

@ -1,4 +1,5 @@
{ {
// TODO: Change the settings object and settings.js to match qlTrace.
const storage = require("Storage"); const storage = require("Storage");
let settings = storage.readJSON("quicklaunch.json", true) || {}; let settings = storage.readJSON("quicklaunch.json", true) || {};
@ -13,15 +14,20 @@
if (Bangle.CLKINFO_FOCUS) return; if (Bangle.CLKINFO_FOCUS) return;
let R = Bangle.appRect; let R = Bangle.appRect;
if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return; if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return;
if (settings.tapapp.src){ qlTrace = [4]; if (settings.tapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.tapapp.src)) reset("tapapp"); else load(settings.tapapp.src); } qlTrace = "tap";
if (settings.tapapp.src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
}); });
Bangle.on("swipe", (lr,ud) => { Bangle.on("swipe", (lr,ud) => {
if (!Bangle.CLOCK) return; if (!Bangle.CLOCK) return;
if (Bangle.CLKINFO_FOCUS) return; if (Bangle.CLKINFO_FOCUS) return;
if (lr == -1 && settings.leftapp && settings.leftapp.src){ qlTrace = [0]; if (settings.leftapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.leftapp.src)) reset("leftapp"); else load(settings.leftapp.src); } if (lr == -1) qlTrace = "left";
if (lr == 1 && settings.rightapp && settings.rightapp.src){ qlTrace = [1]; if (settings.rightapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.rightapp.src)) reset("rightapp"); else load(settings.rightapp.src); } if (lr == 1) qlTrace = "right";
if (ud == -1 && settings.upapp && settings.upapp.src){ qlTrace = [2]; if (settings.upapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.upapp.src)) reset("upapp"); else load(settings.upapp.src); } if (ud == -1) qlTrace = "up";
if (ud == 1 && settings.downapp && settings.downapp.src){ qlTrace = [3]; if (settings.downapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.downapp.src)) reset("downapp"); else load(settings.downapp.src); } if (ud == 1) qlTrace = "down";
if (lr == -1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (lr == 1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (ud == -1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
if (ud == 1 && settings[qlTrace+"app"] && settings[qlTrace+"app"].src){ if (settings[qlTrace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[qlTrace+"app"].src)) reset(qlTrace+"app"); else load(settings[qlTrace+"app"].src); }
}); });
} }