Adds settings page for hiding launchers and clocks

master
Martin Boonk 2021-12-13 22:48:20 +01:00
parent b541a4b6a7
commit a42b609d23
4 changed files with 60 additions and 3 deletions

View File

@ -3305,8 +3305,10 @@
"storage": [
{"name":"dtlaunch.app.js","url":"app-b1.js", "supports": ["BANGLEJS"]},
{"name":"dtlaunch.app.js","url":"app-b2.js", "supports": ["BANGLEJS2"]},
{"name":"dtlaunch.settings.js","url":"settings.js"},
{"name":"dtlaunch.img","url":"app-icon.js","evaluate":true}
]
],
"data": [{"name":"dtlaunch.json"}]
},
{
"id": "HRV",

View File

@ -2,6 +2,11 @@
*
*/
var settings = Object.assign({
showClocks: true,
showLaunchers: true,
}, require('Storage').readJSON("dtlaunch.json", true) || {});
function wdog(handle,timeout){
if(handle !== undefined){
wdog.handle = handle;
@ -17,7 +22,13 @@ function wdog(handle,timeout){
wdog(load,120000)
var s = require("Storage");
var apps = s.list(/\.info$/).map(app=>{var a=s.readJSON(app,1);return a&&{name:a.name,type:a.type,icon:a.icon,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || app.type=="clock" || !app.type));
var apps = s.list(/\.info$/).map(app=>{
var a=s.readJSON(app,1);
return a && {
name:a.name, type:a.type, icon:a.icon, sortorder:a.sortorder, src:a.src
};}).filter(
app=>app && (app.type=="app" || (app.type=="clock" && settings.showClocks) || (app.type=="launch" && settings.showLaunchers) || !app.type));
apps.sort((a,b)=>{
var n=(0|a.sortorder)-(0|b.sortorder);
if (n) return n; // do sortorder first

View File

@ -2,8 +2,19 @@
*
*/
var settings = Object.assign({
showClocks: true,
showLaunchers: true,
}, require('Storage').readJSON("dtlaunch.json", true) || {});
var s = require("Storage");
var apps = s.list(/\.info$/).map(app=>{var a=s.readJSON(app,1);return a&&{name:a.name,type:a.type,icon:a.icon,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || app.type=="clock" || !app.type));
var apps = s.list(/\.info$/).map(app=>{
var a=s.readJSON(app,1);
return a && {
name:a.name, type:a.type, icon:a.icon, sortorder:a.sortorder, src:a.src
};}).filter(
app=>app && (app.type=="app" || (app.type=="clock" && settings.showClocks) || (app.type=="launch" && settings.showLaunchers) || !app.type));
apps.sort((a,b)=>{
var n=(0|a.sortorder)-(0|b.sortorder);
if (n) return n; // do sortorder first

33
apps/dtlaunch/settings.js Normal file
View File

@ -0,0 +1,33 @@
(function(back) {
var FILE = "dtlaunch.json";
var settings = Object.assign({
showClocks: true,
showLaunchers: true
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
E.showMenu({
"" : { "title" : "Desktop launcher" },
"< Back" : () => back(),
'Show clocks': {
value: settings.showClocks,
format: v => v?"On":"Off",
onchange: v => {
settings.showClocks = v;
writeSettings();
}
},
'Show launchers': {
value: settings.showLaunchers,
format: v => v?"On":"Off",
onchange: v => {
settings.showLaunchers = v;
writeSettings();
}
},
});
})