Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5356ac1

Browse files
Add theme to settings
1 parent3f4ab9c commit5356ac1

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

‎internal_filesystem/apps/com.micropythonos.settings/assets/settings.py‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ def __init__(self):
1818
super().__init__()
1919
self.prefs=None
2020
self.settings= [
21-
{"title":"Light/Dark Theme","key":"light_dark_theme","value_label":None,"cont":None},
22-
{"title":"Theme Color","key":"theme_color","value_label":None,"cont":None,"placeholder":"HTML hex color, like: EC048C"},
23-
{"title":"Reboot into Bootloader","key":"boot_mode","value_label":None,"cont":None},
24-
{"title":"Display Brightness","key":"display_brightness","value_label":None,"cont":None,"placeholder":"A value from 0 to 100."},
25-
{"title":"Timezone","key":"timezone","value_label":None,"cont":None,"placeholder":"Example: Europe/Prague"},
21+
{"title":"Light/Dark Theme","key":"theme_light_dark","value_label":None,"cont":None},
22+
{"title":"Theme Color","key":"theme_primary_color","value_label":None,"cont":None,"placeholder":"HTML hex color, like: EC048C"},
23+
#{"title": "Display Brightness", "key": "display_brightness", "value_label": None, "cont": None, "placeholder": "A value from 0 to 100."},
24+
# Maybe also add font size (but ideally then all fonts should scale up/down)
25+
#{"title": "Reboot into Bootloader", "key": "boot_mode", "value_label": None, "cont": None}, # special that doesn't get saved
26+
#{"title": "Timezone", "key": "timezone", "value_label": None, "cont": None, "placeholder": "Example: Europe/Prague"},
2627
]
2728

2829
defonCreate(self):
@@ -105,7 +106,7 @@ def onCreate(self):
105106
setting_label.align(lv.ALIGN.TOP_LEFT,0,0)
106107
setting_label.set_style_text_font(lv.font_montserrat_26,0)
107108

108-
ifsetting["key"]=="light_dark_theme"orsetting["key"]=="boot_mode":
109+
ifsetting["key"]=="theme_light_dark"orsetting["key"]=="boot_mode":
109110
# Create container for radio buttons
110111
self.radio_container=lv.obj(settings_screen_detail)
111112
self.radio_container.set_width(lv.pct(100))
@@ -237,7 +238,7 @@ def cambutton_cb_unused(self, event):
237238
self.startActivityForResult(Intent(activity_class=CameraApp).putExtra("scanqr_mode",True),self.gotqr_result_callback)
238239

239240
defsave_setting(self,setting):
240-
if (setting["key"]=="light_dark_theme"orsetting["key"]=="boot_mode" )andself.radio_container:
241+
if (setting["key"]=="theme_light_dark"orsetting["key"]=="boot_mode" )andself.radio_container:
241242
ifsetting["key"]=="boot_mode":
242243
options= [("Normal","normal"), ("Bootloader","bootloader")]
243244
else:

‎internal_filesystem/main.py‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@
77
fs_driver.fs_register(fs_drv,'M')
88

99
importmpos.apps
10+
importmpos.config
1011
importmpos.ui
1112

12-
RED=lv.palette_main(lv.PALETTE.RED)
13-
DARKPINK=lv.color_hex(0xEC048C)
14-
MEDIUMPINK=lv.color_hex(0xF480C5)
15-
LIGHTPINK=lv.color_hex(0xF9E9F2)
16-
DARKYELLOW=lv.color_hex(0xFBDC05)
17-
LIGHTYELLOW=lv.color_hex(0xFBE499)
18-
theme=lv.theme_default_init(display._disp_drv,DARKPINK,DARKYELLOW,False,lv.font_montserrat_12)
19-
#theme = lv.theme_default_init(display._disp_drv, DARKPINK, DARKYELLOW, True, lv.font_montserrat_12)
13+
prefs=mpos.config.SharedPreferences("com.micropythonos.settings")
14+
15+
# Load and set theme:
16+
theme_light_dark=prefs.get_string("theme_light_dark","light")# default to a light theme
17+
theme_dark_bool= (theme_light_dark=="dark" )
18+
primary_color=lv.theme_get_color_primary(None)
19+
color_string=prefs.get_string("theme_primary_color")
20+
ifcolor_string:
21+
color_string=color_string.replace("0x","").replace("#","").strip().lower()
22+
color_int=int(color_string,16)
23+
print(f"Setting primary color:{color_int}")
24+
primary_color=lv.color_hex(color_int)
25+
theme=lv.theme_default_init(display._disp_drv,primary_color,lv.color_hex(0xFBDC05),theme_dark_bool,lv.font_montserrat_12)
2026

2127
#display.set_theme(theme)
2228

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp