From 42624c7102d049800ebc8e6bbc7fcb478d3a3ee3 Mon Sep 17 00:00:00 2001 From: "Peter F. Patel-Schneider" Date: Fri, 16 Apr 2021 04:43:22 -0400 Subject: [PATCH] ui: write persisted value when changing from ignoring a setting --- lib/solaar/ui/config_panel.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/solaar/ui/config_panel.py b/lib/solaar/ui/config_panel.py index 04f37f00..79df06ec 100644 --- a/lib/solaar/ui/config_panel.py +++ b/lib/solaar/ui/config_panel.py @@ -374,10 +374,14 @@ def _change_click(eb, button, arg): _change_icon(new_allowed, icon) if device.persister: # remember the new setting sensitivity device.persister.set_sensitivity(name, new_allowed) - if allowed == _SENSITIVITY_IGNORE: # get current value of setting if it was being ignored + if allowed == _SENSITIVITY_IGNORE: # update setting if it was being ignored setting = next((s for s in device.settings if s.name == name), None) if setting: - _read_async(setting, True, control.get_parent(), bool(device.online), control.get_sensitive()) + persisted = device.persister.get(setting.name) if device.persister else None + if persisted is not None: + _write_async(setting, persisted, control.get_parent()) + else: + _read_async(setting, True, control.get_parent(), bool(device.online), control.get_sensitive()) return True