ui: handle situation when read of a setting fails
This commit is contained in:
parent
1a874c39d7
commit
97d214f667
|
@ -41,7 +41,12 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def _read_async(setting, force_read, sbox, device_is_online, sensitive):
|
def _read_async(setting, force_read, sbox, device_is_online, sensitive):
|
||||||
def _do_read(s, force, sb, online, sensitive):
|
def _do_read(s, force, sb, online, sensitive):
|
||||||
v = s.read(not force)
|
try:
|
||||||
|
v = s.read(not force)
|
||||||
|
except Exception as e:
|
||||||
|
v = None
|
||||||
|
if logger.isEnabledFor(logging.WARNING):
|
||||||
|
logger.warning("%s: error reading so use None (%s): %s", s.name, s._device, repr(e))
|
||||||
GLib.idle_add(_update_setting_item, sb, v, online, sensitive, True, priority=99)
|
GLib.idle_add(_update_setting_item, sb, v, online, sensitive, True, priority=99)
|
||||||
|
|
||||||
_ui_async(_do_read, setting, force_read, sbox, device_is_online, sensitive)
|
_ui_async(_do_read, setting, force_read, sbox, device_is_online, sensitive)
|
||||||
|
@ -564,6 +569,8 @@ class HeteroKeyControl(Gtk.HBox, Control):
|
||||||
if k in self._items:
|
if k in self._items:
|
||||||
(lblbox, box) = self._items[k]
|
(lblbox, box) = self._items[k]
|
||||||
box.set_value(v)
|
box.set_value(v)
|
||||||
|
else:
|
||||||
|
self.sbox._failed.set_visible(True)
|
||||||
self.setup_visibles(value.ID if value is not None else 0)
|
self.setup_visibles(value.ID if value is not None else 0)
|
||||||
|
|
||||||
def setup_visibles(self, ID):
|
def setup_visibles(self, ID):
|
||||||
|
|
Loading…
Reference in New Issue