Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-08-18 11:48:32 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-08-18 11:48:32 (GMT)
commit09a95d23f6712e2e83a18e54875d0c9b897d617c (patch)
treecef54850b889e8724373572189b18a38d9b4fc7e /src
parentd1944e61be72d2231a4518a88ed2020be4a35a89 (diff)
parent7363fc1f72ee74d2da534eb16de608634e1b7398 (diff)
Merge branch 'master' of gitorious@git.sugarlabs.org:sugar/mainline
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/desktop/meshbox.py32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py
index de1f18d..c37bba1 100644
--- a/src/jarabe/desktop/meshbox.py
+++ b/src/jarabe/desktop/meshbox.py
@@ -76,7 +76,7 @@ class AccessPointView(CanvasPulsingIcon):
self._flags = 0
self._wpa_flags = 0
self._rsn_flags = 0
- self._mode = 0
+ self._mode = network.NM_802_11_MODE_UNKNOWN
self._device_caps = 0
self._device_state = None
self._connection = None
@@ -158,8 +158,12 @@ class AccessPointView(CanvasPulsingIcon):
self._update_state()
def _update_properties(self, properties):
+ if 'Mode' in properties:
+ self._mode = properties['Mode']
+ self._color = None
if 'Ssid' in properties:
self._name = properties['Ssid']
+ self._color = None
if 'Strength' in properties:
self._strength = properties['Strength']
if 'Flags' in properties:
@@ -168,18 +172,22 @@ class AccessPointView(CanvasPulsingIcon):
self._wpa_flags = properties['WpaFlags']
if 'RsnFlags' in properties:
self._rsn_flags = properties['RsnFlags']
- if 'Mode' in properties:
- self._mode = properties['Mode']
-
- sh = hashlib.sha1()
- data = self._name + hex(self._flags)
- sh.update(data)
- h = hash(sh.digest())
- idx = h % len(xocolor.colors)
-
- self._color = XoColor('%s,%s' % (xocolor.colors[idx][0],
- xocolor.colors[idx][1]))
+ if self._color == None:
+ if self._mode == network.NM_802_11_MODE_ADHOC:
+ encoded_color = self._name.split("#", 1)
+ if len(encoded_color) == 2:
+ self._color = XoColor('#' + encoded_color[1])
+ if self._mode == network.NM_802_11_MODE_INFRA:
+ sha_hash = hashlib.sha1()
+ data = self._name + hex(self._flags)
+ sha_hash.update(data)
+ digest = hash(sha_hash.digest())
+ index = digest % len(xocolor.colors)
+
+ self._color = XoColor('%s,%s' %
+ (xocolor.colors[index][0],
+ xocolor.colors[index][1]))
self._update()
def __get_active_ap_reply_cb(self, ap):