From 67992dc4bbf2db70af61029427ab11fe8711a352 Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sat, 4 Jun 2022 13:48:40 +0200 Subject: [PATCH 1/2] Allow reading custom themes from files --- apps/setting/settings.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/apps/setting/settings.js b/apps/setting/settings.js index 150251e7d..c502387d7 100644 --- a/apps/setting/settings.js +++ b/apps/setting/settings.js @@ -221,7 +221,8 @@ function showThemeMenu() { Bangle.drawWidgets(); m.draw(); } - var m = E.showMenu({ + + var themesMenu = { '':{title:/*LANG*/'Theme'}, '< Back': ()=>showSystemMenu(), /*LANG*/'Dark BW': ()=>{ @@ -239,9 +240,26 @@ function showThemeMenu() { fgH:cl("#000"), bgH:cl("#0ff"), dark:false }); - }, - /*LANG*/'Customize': ()=>showCustomThemeMenu(), - }); + } + }; + + require("Storage").list(/^.*\.theme$/).forEach( + n => { + let newTheme = require("Storage").readJSON(n); + themesMenu[newTheme.name ? newTheme.name : n] = () => { + upd({ + fg:cl(newTheme.fg), bg:cl(newTheme.bg), + fg2:cl(newTheme.fg2), bg2:cl(newTheme.bg2), + fgH:cl(newTheme.fgH), bgH:cl(newTheme.bgH), + dark:newTheme.dark + }); + }; + } + ); + + themesMenu[/*LANG*/'Customize'] = () => showCustomThemeMenu(); + + var m = E.showMenu(themesMenu); function showCustomThemeMenu() { function setT(t, v) { From 9cc603e4bf2dcd1e2b18a6b9fa93d38b1d1697ff Mon Sep 17 00:00:00 2001 From: Martin Boonk Date: Sun, 5 Jun 2022 15:09:19 +0200 Subject: [PATCH 2/2] Update metadata and changelog --- apps/setting/ChangeLog | 1 + apps/setting/metadata.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/setting/ChangeLog b/apps/setting/ChangeLog index eca2b7938..fb8ab7274 100644 --- a/apps/setting/ChangeLog +++ b/apps/setting/ChangeLog @@ -50,3 +50,4 @@ UI improvements to Locale and Date & Time menu 0.45: Add calibrate battery option 0.46: Fix regression after making 'calibrate battery' only for Bangle.js 2 +0.48: Allow reading custom themes from files diff --git a/apps/setting/metadata.json b/apps/setting/metadata.json index 183290a85..17519730e 100644 --- a/apps/setting/metadata.json +++ b/apps/setting/metadata.json @@ -1,7 +1,7 @@ { "id": "setting", "name": "Settings", - "version": "0.46", + "version": "0.48", "description": "A menu for setting up Bangle.js", "icon": "settings.png", "tags": "tool,system",