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

Commit132c1a0

Browse files
settings.py: make compatible with non-touchsceen (keypad) devices
1 parent70b219e commit132c1a0

File tree

1 file changed

+21
-4
lines changed
  • internal_filesystem/builtin/apps/com.micropythonos.settings/assets

1 file changed

+21
-4
lines changed

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

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,19 @@ def onResume(self, screen):
5959

6060
# Create settings entries
6161
screen.clean()
62+
# Get the group for focusable objects
63+
focusgroup=lv.group_get_default()
64+
ifnotfocusgroup:
65+
print("WARNING: could not get default focusgroup")
66+
6267
forsettinginself.settings:
6368
#print(f"setting {setting.get('title')} has changed_callback {setting.get('changed_callback')}")
6469
# Container for each setting
6570
setting_cont=lv.obj(screen)
6671
setting_cont.set_width(lv.pct(100))
6772
setting_cont.set_height(lv.SIZE_CONTENT)
6873
setting_cont.set_style_border_width(1,0)
69-
setting_cont.set_style_border_side(lv.BORDER_SIDE.BOTTOM,0)
74+
#setting_cont.set_style_border_side(lv.BORDER_SIDE.BOTTOM, 0)
7075
setting_cont.set_style_pad_all(mpos.ui.pct_of_display_width(2),0)
7176
setting_cont.add_flag(lv.obj.FLAG.CLICKABLE)
7277
setting["cont"]=setting_cont# Store container reference for visibility control
@@ -84,9 +89,10 @@ def onResume(self, screen):
8489
value.set_style_text_color(lv.color_hex(0x666666),0)
8590
value.set_pos(0,20)
8691
setting["value_label"]=value# Store reference for updating
87-
setting_cont.add_event_cb(
88-
lambdae,s=setting:self.startSettingActivity(s),lv.EVENT.CLICKED,None
89-
)
92+
setting_cont.add_event_cb(lambdae,s=setting:self.startSettingActivity(s),lv.EVENT.CLICKED,None)
93+
setting_cont.add_event_cb(lambdae,container=setting_cont:self.focus_container(container),lv.EVENT.FOCUSED,None)
94+
setting_cont.add_event_cb(lambdae,container=setting_cont:self.defocus_container(container),lv.EVENT.DEFOCUSED,None)
95+
focusgroup.add_obj(setting_cont)
9096

9197
defstartSettingActivity(self,setting):
9298
intent=Intent(activity_class=SettingActivity)
@@ -97,6 +103,17 @@ def startSettingActivity(self, setting):
97103
defget_timezone_tuples():
98104
return [(tz,tz)fortzinmpos.time.get_timezones()]
99105

106+
deffocus_container(self,container):
107+
print(f"container{container} focused, setting border...")
108+
container.set_style_border_color(lv.theme_get_color_primary(None),lv.PART.MAIN)
109+
container.set_style_border_width(1,lv.PART.MAIN)
110+
container.scroll_to_view(lv.ANIM.ON)# scroll to bring it into view
111+
112+
defdefocus_container(self,container):
113+
print(f"container{container} defocused, unsetting border...")
114+
container.set_style_border_width(0,lv.PART.MAIN)
115+
116+
100117
# Used to edit one setting:
101118
classSettingActivity(Activity):
102119

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp