Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model
diff options
context:
space:
mode:
authorMarco 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)
commitf907ceeae67f0a42ddd4a1b4e17ddcaf5cfa8ae8 (patch)
tree0e3a24fa368dfd68a093a7d32a656f7bcdd2d89e /shell/model
parent81e2e9ed8db11aff7daab714b7328b099cc73d8a (diff)
Display strength of wireless device/networks
Diffstat (limited to 'shell/model')
-rw-r--r--shell/model/MeshModel.py18
-rw-r--r--shell/model/devices/device.py5
-rw-r--r--shell/model/devices/wirelessnetwork.py20
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()