diff options
author | Daniel Drake <dsd@laptop.org> | 2010-07-07 16:07:12 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2010-07-08 14:56:23 (GMT) |
commit | 6588e2339f2e192f2eaf07b8e8e65c53183a802c (patch) | |
tree | b83e452a9c165fd148242ed75886a97c679165da | |
parent | 70e87707e943302217a0b829c463e89dd0e4d40c (diff) |
Indicate inactive state in mesh device icon
When the mesh is not active, grey out the mesh device icon and update
the palette text.
Also remove the "Create new network" option from the mesh device
palette.
-rw-r--r-- | extensions/deviceicon/network.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py index 202c563..2572198 100644 --- a/extensions/deviceicon/network.py +++ b/extensions/deviceicon/network.py @@ -594,16 +594,17 @@ class OlpcMeshDeviceView(ToolButton): self._channel = 0 self._icon = PulsingIcon(icon_name=self._ICON_NAME) - self._icon.props.pulse_color = xocolor.XoColor( \ + self._inactive_color = xocolor.XoColor( \ "%s,%s" % (style.COLOR_BUTTON_GREY.get_svg(), style.COLOR_TRANSPARENT.get_svg())) - self._icon.props.base_color = profile.get_color() + self._icon.props.pulse_color = profile.get_color() + self._icon.props.base_color = self._inactive_color self.set_icon_widget(self._icon) self._icon.show() self.set_palette_invoker(FrameWidgetInvoker(self)) - self._palette = WirelessPalette(_("Mesh Network")) + self._palette = WirelessPalette(_("Mesh Network"), can_create=False) self._palette.connect('deactivate-connection', self.__deactivate_connection) self.set_palette(self._palette) @@ -662,7 +663,14 @@ class OlpcMeshDeviceView(ToolButton): self._update_text() def _update_text(self): - text = _("Mesh Network") + " " + str(self._channel) + state = self._device_state + if state in (network.DEVICE_STATE_PREPARE, network.DEVICE_STATE_CONFIG, + network.DEVICE_STATE_NEED_AUTH, + network.DEVICE_STATE_IP_CONFIG, + network.DEVICE_STATE_ACTIVATED): + text = _("Mesh Network") + " " + str(self._channel) + else: + text = _("Mesh Network") self._palette.props.primary_text = text def _update(self): @@ -672,12 +680,20 @@ class OlpcMeshDeviceView(ToolButton): network.DEVICE_STATE_CONFIG, network.DEVICE_STATE_NEED_AUTH, network.DEVICE_STATE_IP_CONFIG]: + self._icon.props.base_color = self._inactive_color + self._icon.props.pulse_color = profile.get_color() self._palette.set_connecting() self._icon.props.pulsing = True elif state == network.DEVICE_STATE_ACTIVATED: address = self._device_props.Get(_NM_DEVICE_IFACE, 'Ip4Address') self._palette.set_connected_with_channel(self._channel, address) + self._icon.props.base_color = profile.get_color() self._icon.props.pulsing = False + else: + self._icon.props.base_color = self._inactive_color + self._icon.props.pulsing = False + self._palette.set_disconnected() + self._update_text() def __deactivate_connection(self, palette, data=None): obj = self._bus.get_object(_NM_SERVICE, _NM_PATH) |