ui: write persisted value when changing from ignoring a setting

This commit is contained in:
Peter F. Patel-Schneider 2021-04-16 04:43:22 -04:00
parent 087b99a2de
commit 42624c7102
1 changed files with 6 additions and 2 deletions

View File

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