Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/model/devices/devicesmodel.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/model/devices/devicesmodel.py')
-rw-r--r--shell/model/devices/devicesmodel.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/shell/model/devices/devicesmodel.py b/shell/model/devices/devicesmodel.py
index 2eab979..01db871 100644
--- a/shell/model/devices/devicesmodel.py
+++ b/shell/model/devices/devicesmodel.py
@@ -5,6 +5,7 @@ from model.devices import wirednetwork
from model.devices import wirelessnetwork
from model.devices import battery
from hardware import hardwaremanager
+from hardware import nmclient
class DevicesModel(gobject.GObject):
__gsignals__ = {
@@ -26,16 +27,22 @@ class DevicesModel(gobject.GObject):
def _observe_network_manager(self):
network_manager = hardwaremanager.get_network_manager()
+
for device in network_manager.get_devices():
self._check_network_device(device)
+ network_manager.connect('device-activated',
+ self._network_device_added_cb)
+
+ def _network_device_added_cb(self, network_manager, device):
+ self._check_network_device(device)
+
def _check_network_device(self, device):
if not device.is_valid():
return
- if device.get_type() == DEVICE_TYPE_802_11_WIRELESS:
- if device.get_active():
- self._add_device(device)
+ if device.get_type() == nmclient.DEVICE_TYPE_802_11_WIRELESS:
+ self.add_device(wirelessnetwork.Device(device))
def __iter__(self):
return iter(self._devices)