From 09a95d23f6712e2e83a18e54875d0c9b897d617c Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Tue, 18 Aug 2009 11:48:32 +0000 Subject: Merge branch 'master' of gitorious@git.sugarlabs.org:sugar/mainline --- (limited to 'src') 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): -- cgit v0.9.1