diff options
Diffstat (limited to 'shell/view/home/MeshBox.py')
-rw-r--r-- | shell/view/home/MeshBox.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/shell/view/home/MeshBox.py b/shell/view/home/MeshBox.py index 4d6bde4..0760c3c 100644 --- a/shell/view/home/MeshBox.py +++ b/shell/view/home/MeshBox.py @@ -36,6 +36,9 @@ from view.BuddyIcon import BuddyIcon from view.pulsingicon import PulsingIcon from view.home.snowflakelayout import SnowflakeLayout +from hardware.nmclient import NM_802_11_CAP_PROTO_WEP, NM_802_11_CAP_PROTO_WPA, NM_802_11_CAP_PROTO_WPA2 + + _ICON_NAME = 'network-wireless' class AccessPointView(PulsingIcon): @@ -49,20 +52,21 @@ class AccessPointView(PulsingIcon): model.connect('notify::name', self._name_changed_cb) model.connect('notify::state', self._state_changed_cb) - import sha - sh = sha.new() - data = self._model.props.name + hex(self._model.props.capabilities) + \ - hex(self._model.props.mode) - sh.update(data) - h = hash(sh.digest()) - idx = h % len(xocolor._colors) - self._device_stroke = xocolor._colors[idx][0] - self._device_fill = xocolor._colors[idx][1] + (stroke, fill) = model.get_nm_network().get_colors() + self._device_stroke = stroke + self._device_fill = fill self._update_icon() self._update_name() self._update_state() + # Update badge + caps = model.props.capabilities + if model.get_nm_network().is_favorite(): + self.props.badge_name = "badge-star" + elif (caps & NM_802_11_CAP_PROTO_WEP) or (caps & NM_802_11_CAP_PROTO_WPA) or (caps & NM_802_11_CAP_PROTO_WPA2): + self.props.badge_name = "badge-locked" + def _strength_changed_cb(self, model, pspec): self._update_icon() @@ -88,7 +92,7 @@ class AccessPointView(PulsingIcon): def _update_icon(self): icon_name = get_icon_state(_ICON_NAME, self._model.props.strength) if icon_name: - self.props.icon_name = icon_name + self.props.icon_name = icon_name def _update_state(self): if self._model.props.state == accesspointmodel.STATE_CONNECTING: |