diff --git a/lib/solaar/ui/window.py b/lib/solaar/ui/window.py index 2490006e..7d9de7f2 100644 --- a/lib/solaar/ui/window.py +++ b/lib/solaar/ui/window.py @@ -658,10 +658,12 @@ def _update_device_panel(device, panel, buttons, full=False): if battery_level is None: icon_name = _icons.battery() - panel._battery._icon.set_sensitive(False) panel._battery._icon.set_from_icon_name(icon_name, _INFO_ICON_SIZE) - panel._battery._text.set_sensitive(True) + panel._battery._icon.set_sensitive(False) + panel._battery._text.set_sensitive(is_online) + panel._battery._label.set_text(_('Battery')) panel._battery._text.set_markup('%s' % _('unknown')) + panel._battery.set_tooltip_text(_('Battery information unknown.')) else: charging = device.status.get(_K.BATTERY_CHARGING) icon_name = _icons.battery(battery_level, charging) @@ -669,16 +671,23 @@ def _update_device_panel(device, panel, buttons, full=False): panel._battery._icon.set_sensitive(True) if battery_voltage is not None: + panel._battery._label.set_text(_('Battery Voltage')) text = '%(battery_voltage)dmV' % {'battery_voltage': battery_voltage} + tooltip_text = _('Voltage reported by battery') elif isinstance(battery_level, _NamedInt): + panel._battery._label.set_text(_('Battery Level')) text = _(str(battery_level)) + tooltip_text = _('Approximate level reported by battery') else: + panel._battery._label.set_text(_('Battery Level')) text = '%(battery_percent)d%%' % {'battery_percent': battery_level} + tooltip_text = _('Approximate level reported by battery') if battery_next_level is not None: if isinstance(battery_next_level, _NamedInt): - text += ' (' + _('next ') + _(str(battery_next_level)) + ')' + text += ' (' + _('next reported ') + _(str(battery_next_level)) + ')' else: - text += ' (' + _('next ') + ('%d%%' % battery_next_level) + ')' + text += ' (' + _('next reported ') + ('%d%%' % battery_next_level) + ')' + tooltip_text = tooltip_text + _(' and next level to be reported.') if is_online: if charging: text += ' (%s)' % _('charging') @@ -686,6 +695,7 @@ def _update_device_panel(device, panel, buttons, full=False): text += ' (%s)' % _('last known') panel._battery._text.set_sensitive(is_online) panel._battery._text.set_markup(text) + panel._battery.set_tooltip_text(tooltip_text) if is_online: not_secure = device.status.get(_K.LINK_ENCRYPTED) is False