diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 13:30:17 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-02-25 13:30:17 (GMT) |
commit | f907ceeae67f0a42ddd4a1b4e17ddcaf5cfa8ae8 (patch) | |
tree | 0e3a24fa368dfd68a093a7d32a656f7bcdd2d89e /shell/model | |
parent | 81e2e9ed8db11aff7daab714b7328b099cc73d8a (diff) |
Display strength of wireless device/networks
Diffstat (limited to 'shell/model')
-rw-r--r-- | shell/model/MeshModel.py | 18 | ||||
-rw-r--r-- | shell/model/devices/device.py | 5 | ||||
-rw-r--r-- | shell/model/devices/wirelessnetwork.py | 20 |
3 files changed, 38 insertions, 5 deletions
diff --git a/shell/model/MeshModel.py b/shell/model/MeshModel.py index 7c86bbc..c2d42ba 100644 --- a/shell/model/MeshModel.py +++ b/shell/model/MeshModel.py @@ -22,11 +22,23 @@ from sugar.activity import bundleregistry from model.BuddyModel import BuddyModel from hardware import hardwaremanager -class AccessPointModel: +class AccessPointModel(gobject.GObject): + __gproperties__ = { + 'strength' : (int, None, None, 0, 100, 0, + gobject.PARAM_READABLE) + } + def __init__(self, nm_device, nm_network): + gobject.GObject.__init__(self) self._nm_network = nm_network self._nm_device = nm_device + self._nm_network.connect('strength-changed', + self._strength_changed_cb) + + def _strength_changed_cb(self, nm_network): + self.notity('strength') + def get_id(self): return self._nm_network.get_op() @@ -39,6 +51,10 @@ class AccessPointModel: def get_nm_network(self): return self._nm_network + def do_get_property(self, pspec): + if pspec.name == 'strength': + return self._nm_network.get_strength() + class ActivityModel: def __init__(self, activity, bundle, service): self._service = service diff --git a/shell/model/devices/device.py b/shell/model/devices/device.py index 02afd3c..32bee0d 100644 --- a/shell/model/devices/device.py +++ b/shell/model/devices/device.py @@ -1,7 +1,10 @@ +import gobject + from sugar import util -class Device(object): +class Device(gobject.GObject): def __init__(self): + gobject.GObject.__init__(self) self._id = util.unique_id() def get_type(self): diff --git a/shell/model/devices/wirelessnetwork.py b/shell/model/devices/wirelessnetwork.py index 97f16cd..efbc1b1 100644 --- a/shell/model/devices/wirelessnetwork.py +++ b/shell/model/devices/wirelessnetwork.py @@ -1,15 +1,29 @@ +import gobject + from model.devices import device class Device(device.Device): + __gproperties__ = { + 'strength' : (int, None, None, 0, 100, 0, + gobject.PARAM_READABLE) + } + def __init__(self, nm_device): device.Device.__init__(self) self._nm_device = nm_device + self._nm_device.connect('strength-changed', + self._strength_changed_cb) + + def _strength_changed_cb(self, nm_device): + self.notity('strength') + + def do_get_property(self, pspec): + if pspec.name == 'strength': + return self._nm_device.get_strength() + def get_type(self): return 'wirelessnetwork' def get_id(self): return self._nm_device.get_op() - - def get_level(self): - return self._nm_device.get_strength() |