Ticket #7: apcolor.patch

File apcolor.patch, 3.1 KB (added by marcopg, 15 years ago)
  • src/jarabe/desktop/meshbox.py

    diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py
    index eaf2792..c95956b 100644
    a b class AccessPointView(CanvasPulsingIcon): 
    6161        self._bus = dbus.SystemBus()
    6262        self._device = device
    6363        self._model = model
     64        self._palette_icon = None
    6465        self._disconnect_item = None
    6566        self._connect_item = None
    6667        self._greyed_out = False
    class AccessPointView(CanvasPulsingIcon): 
    7071        self._wpa_flags = 0
    7172        self._device_state = None
    7273        self._active = True
     74        self._color = None
    7375
    7476        self.connect('activated', self._activate_cb)
    7577
    class AccessPointView(CanvasPulsingIcon): 
    108110
    109111    def _create_palette(self):
    110112        icon_name = get_icon_state(_ICON_NAME, self._strength)
    111         palette_icon = Icon(icon_name=icon_name,
    112                             icon_size=style.STANDARD_ICON_SIZE,
    113                             badge_name=self.props.badge_name)
    114         palette_icon.props.xo_color = XoColor('%s,%s' % self._compute_color())
     113        self._palette_icon = Icon(icon_name=icon_name,
     114                                  icon_size=style.STANDARD_ICON_SIZE,
     115                                  badge_name=self.props.badge_name)
    115116                                             
    116117        p = palette.Palette(primary_text=self._name,
    117                             icon=palette_icon)
     118                            icon=self._palette_icon)
    118119
    119120        self._connect_item = MenuItem(_('Connect'), 'dialog-ok')
    120121        self._connect_item.connect('activate', self._activate_cb)
    class AccessPointView(CanvasPulsingIcon): 
    150151        if 'WpaFlags' in props:
    151152            self._wpa_flags = props['WpaFlags']
    152153
    153         self._update()
    154 
    155     def _compute_color(self):
    156154        sh = sha.new()
    157155        data = self._name + hex(self._flags)
    158156        sh.update(data)
    159157        h = hash(sh.digest())
    160158        idx = h % len(xocolor.colors)
    161159
    162         # stroke, fill
    163         return (xocolor.colors[idx][0], xocolor.colors[idx][1])
     160        self._color = XoColor('%s,%s' % (xocolor.colors[idx][0],
     161                                         xocolor.colors[idx][1]))
     162
     163        self._update()
    164164
    165165    def __get_active_ap_reply_cb(self, ap):
    166166        self._active = (ap == self._model.object_path)
    class AccessPointView(CanvasPulsingIcon): 
    191191        self._palette.props.primary_text = self._name
    192192
    193193        self._update_state()
     194        self._update_color()
    194195
    195196    def _update_state(self):
    196197        if self._active:
    class AccessPointView(CanvasPulsingIcon): 
    231232            self._palette.props.secondary_text = None
    232233            self.props.pulsing = False
    233234
     235    def _update_color(self):
    234236        if self._greyed_out:
    235237            self.props.pulsing = False
    236238            self.props.base_color = XoColor('#D5D5D5,#D5D5D5')
    237239        else:
    238             self.props.base_color = XoColor('%s,%s' % self._compute_color())
     240            self.props.base_color = self._color
     241
     242        self._palette_icon.props.xo_color = self._color
    239243
    240244    def _disconnect_activate_cb(self, item):
    241245        pass