@@ -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