diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-12 09:51:48 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-03-12 09:51:48 (GMT) |
commit | 158d933a104d1fa707731005941447e0b7ecc977 (patch) | |
tree | 2225ee66f4a295fb01b31798e8176f0a7250ae55 /shell | |
parent | a1411040f15a12a08b48dd8ef5ac44cd534459ba (diff) |
Complete the UI for the battery
Diffstat (limited to 'shell')
-rw-r--r-- | shell/model/devices/battery.py | 15 | ||||
-rw-r--r-- | shell/model/devices/devicesmodel.py | 2 | ||||
-rw-r--r-- | shell/view/devices/battery.py | 13 |
3 files changed, 24 insertions, 6 deletions
diff --git a/shell/model/devices/battery.py b/shell/model/devices/battery.py index 3e8d434..a4f37f1 100644 --- a/shell/model/devices/battery.py +++ b/shell/model/devices/battery.py @@ -1,11 +1,20 @@ +import gobject + from model.devices import device class Device(device.Device): + __gproperties__ = { + 'level' : (int, None, None, 0, 100, 0, + gobject.PARAM_READABLE) + } + def __init__(self): device.Device.__init__(self) + self._level = 0 + + def do_get_property(self, pspec): + if pspec.name == 'level': + return self._level def get_type(self): return 'battery' - - def get_level(self): - return 0 diff --git a/shell/model/devices/devicesmodel.py b/shell/model/devices/devicesmodel.py index 735b063..df5e6fa 100644 --- a/shell/model/devices/devicesmodel.py +++ b/shell/model/devices/devicesmodel.py @@ -21,7 +21,7 @@ class DevicesModel(gobject.GObject): gobject.GObject.__init__(self) self._devices = {} - #self.add_device(battery.Device()) + self.add_device(battery.Device()) self._observe_network_manager() diff --git a/shell/view/devices/battery.py b/shell/view/devices/battery.py index 520f94c..6a667a8 100644 --- a/shell/view/devices/battery.py +++ b/shell/view/devices/battery.py @@ -7,5 +7,14 @@ class DeviceView(canvasicon.CanvasIcon): canvasicon.CanvasIcon.__init__(self) self._model = model - icon_name = canvasicon.get_icon_state(_ICON_NAME, 60) - self.props.icon_name = icon_name + model.connect('notify::strength', 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): + self._update_level() + |