Skip to content

Commit 0ff2ff2

Browse files
Save and restore display brightness setting
1 parent 2ed83f8 commit 0ff2ff2

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

internal_filesystem/lib/mpos/ui/__init__.py

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -264,19 +264,32 @@ def create_drawer(display=None):
264264
drawer.add_event_cb(drawer_swipe_cb, lv.EVENT.PRESSED, None)
265265
drawer.add_event_cb(drawer_swipe_cb, lv.EVENT.RELEASED, None)
266266
slider_label=lv.label(drawer)
267-
slider_label.set_text(f"Brightness: {100}%") # should be restored this from configuration by settings manager
267+
prefs = mpos.config.SharedPreferences("com.micropythonos.settings")
268+
brightness_int = prefs.get_int("display_brightness", 100)
269+
if display:
270+
display.set_backlight(brightness_int)
271+
slider_label.set_text(f"Brightness: {brightness_int}%")
268272
slider_label.align(lv.ALIGN.TOP_MID,0,lv.pct(4))
269273
slider=lv.slider(drawer)
270274
slider.set_range(1,100)
271-
slider.set_value(100,False)
275+
slider.set_value(int(brightness_int),False)
272276
slider.set_width(lv.pct(80))
273277
slider.align_to(slider_label,lv.ALIGN.OUT_BOTTOM_MID,0,10)
274-
def slider_event(e):
275-
value=slider.get_value()
276-
slider_label.set_text(f"Brightness: {value}%")
278+
def brightness_slider_changed(e):
279+
brightness_int = slider.get_value()
280+
slider_label.set_text(f"Brightness: {brightness_int}%")
277281
if display:
278-
display.set_backlight(value)
279-
slider.add_event_cb(slider_event,lv.EVENT.VALUE_CHANGED,None)
282+
display.set_backlight(brightness_int)
283+
def brightness_slider_released(e):
284+
brightness_int = slider.get_value()
285+
prefs = mpos.config.SharedPreferences("com.micropythonos.settings")
286+
old_brightness_int = prefs.get_int("display_brightness")
287+
if old_brightness_int != brightness_int:
288+
editor = prefs.edit()
289+
editor.put_int("display_brightness", brightness_int)
290+
editor.commit()
291+
slider.add_event_cb(brightness_slider_changed,lv.EVENT.VALUE_CHANGED,None)
292+
slider.add_event_cb(brightness_slider_released,lv.EVENT.RELEASED,None)
280293
wifi_btn=lv.button(drawer)
281294
wifi_btn.set_size(lv.pct(40),lv.pct(20))
282295
wifi_btn.align(lv.ALIGN.LEFT_MID,0,0)

0 commit comments

Comments
 (0)