Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/home/MeshBox.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/view/home/MeshBox.py')
-rw-r--r--shell/view/home/MeshBox.py24
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: