Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/devices/battery.py
blob: 2047331cb7835a9b9d27ac86ce1e38544f7b9316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from sugar.graphics import canvasicon
from sugar.graphics import units

_ICON_NAME = 'device-battery'

class DeviceView(canvasicon.CanvasIcon):
    def __init__(self, model):
        canvasicon.CanvasIcon.__init__(self, scale=units.MEDIUM_ICON_SCALE)
        self._model = model

        model.connect('notify::level', self._level_changed_cb)

        self._update_level()

    def _update_level(self):
        self.props.icon_name = canvasicon.get_icon_state(
                                    _ICON_NAME, self._model.props.level)

    def _level_changed_cb(self, pspec, param):
        self._update_level()