Add badges to infrastructure access points in mesh view
This commit is contained in:
parent
96df28dcaf
commit
17c48f2d25
1
NEWS
1
NEWS
@ -1,3 +1,4 @@
|
|||||||
|
* Add badges to infrastructure access points in mesh view (dcbw)
|
||||||
* Add palette to Wireless device on Home view showing channel (dcbw)
|
* Add palette to Wireless device on Home view showing channel (dcbw)
|
||||||
|
|
||||||
Snapshot 23ad88db0c
|
Snapshot 23ad88db0c
|
||||||
|
@ -92,14 +92,16 @@ class Network(gobject.GObject):
|
|||||||
gobject.TYPE_NONE, ([]))
|
gobject.TYPE_NONE, ([]))
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, op):
|
def __init__(self, client, op):
|
||||||
gobject.GObject.__init__(self)
|
gobject.GObject.__init__(self)
|
||||||
|
self._client = client
|
||||||
self._op = op
|
self._op = op
|
||||||
self._ssid = None
|
self._ssid = None
|
||||||
self._mode = None
|
self._mode = None
|
||||||
self._strength = 0
|
self._strength = 0
|
||||||
self._caps = 0
|
self._caps = 0
|
||||||
self._valid = False
|
self._valid = False
|
||||||
|
self._favorite = False
|
||||||
self._state = NETWORK_STATE_NOTCONNECTED
|
self._state = NETWORK_STATE_NOTCONNECTED
|
||||||
|
|
||||||
obj = sys_bus.get_object(NM_SERVICE, self._op)
|
obj = sys_bus.get_object(NM_SERVICE, self._op)
|
||||||
@ -130,6 +132,12 @@ class Network(gobject.GObject):
|
|||||||
self.emit('initialized', self._valid)
|
self.emit('initialized', self._valid)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
fav_nets = []
|
||||||
|
if self._client.nminfo:
|
||||||
|
fav_nets = self._client.nminfo.get_networks()
|
||||||
|
if self._ssid in fav_nets:
|
||||||
|
self._favorite = True
|
||||||
|
|
||||||
self._valid = True
|
self._valid = True
|
||||||
logging.debug("Net(%s): caps 0x%X" % (self._ssid, self._caps))
|
logging.debug("Net(%s): caps 0x%X" % (self._ssid, self._caps))
|
||||||
self.emit('initialized', self._valid)
|
self.emit('initialized', self._valid)
|
||||||
@ -184,6 +192,9 @@ class Network(gobject.GObject):
|
|||||||
def is_valid(self):
|
def is_valid(self):
|
||||||
return self._valid
|
return self._valid
|
||||||
|
|
||||||
|
def is_favorite(self):
|
||||||
|
return self._favorite
|
||||||
|
|
||||||
class Device(gobject.GObject):
|
class Device(gobject.GObject):
|
||||||
__gsignals__ = {
|
__gsignals__ = {
|
||||||
'initialized': (gobject.SIGNAL_RUN_FIRST,
|
'initialized': (gobject.SIGNAL_RUN_FIRST,
|
||||||
@ -204,8 +215,9 @@ class Device(gobject.GObject):
|
|||||||
([gobject.TYPE_PYOBJECT]))
|
([gobject.TYPE_PYOBJECT]))
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, op):
|
def __init__(self, client, op):
|
||||||
gobject.GObject.__init__(self)
|
gobject.GObject.__init__(self)
|
||||||
|
self._client = client
|
||||||
self._op = op
|
self._op = op
|
||||||
self._iface = None
|
self._iface = None
|
||||||
self._type = DEVICE_TYPE_UNKNOWN
|
self._type = DEVICE_TYPE_UNKNOWN
|
||||||
@ -273,7 +285,7 @@ class Device(gobject.GObject):
|
|||||||
|
|
||||||
def _update_networks(self, net_ops, active_op):
|
def _update_networks(self, net_ops, active_op):
|
||||||
for op in net_ops:
|
for op in net_ops:
|
||||||
net = Network(op)
|
net = Network(self._client, op)
|
||||||
self._networks[op] = net
|
self._networks[op] = net
|
||||||
net.connect('initialized', lambda *args: self._net_initialized_cb(active_op, *args))
|
net.connect('initialized', lambda *args: self._net_initialized_cb(active_op, *args))
|
||||||
|
|
||||||
@ -348,7 +360,7 @@ class Device(gobject.GObject):
|
|||||||
def network_appeared(self, network):
|
def network_appeared(self, network):
|
||||||
if self._networks.has_key(network):
|
if self._networks.has_key(network):
|
||||||
return
|
return
|
||||||
net = Network(network)
|
net = Network(self._client, network)
|
||||||
self._networks[network] = net
|
self._networks[network] = net
|
||||||
net.connect('initialized', lambda *args: self._net_initialized_cb(None, *args))
|
net.connect('initialized', lambda *args: self._net_initialized_cb(None, *args))
|
||||||
|
|
||||||
@ -503,7 +515,7 @@ class NMClient(gobject.GObject):
|
|||||||
def _add_device(self, dev_op):
|
def _add_device(self, dev_op):
|
||||||
if self._devices.has_key(dev_op):
|
if self._devices.has_key(dev_op):
|
||||||
return
|
return
|
||||||
dev = Device(dev_op)
|
dev = Device(self, dev_op)
|
||||||
self._devices[dev_op] = dev
|
self._devices[dev_op] = dev
|
||||||
dev.connect('init-failed', self._dev_init_failed_cb)
|
dev.connect('init-failed', self._dev_init_failed_cb)
|
||||||
dev.connect('initialized', self._dev_initialized_cb)
|
dev.connect('initialized', self._dev_initialized_cb)
|
||||||
|
@ -63,7 +63,6 @@ class Device(device.Device):
|
|||||||
nm_state = self._nm_device.get_state()
|
nm_state = self._nm_device.get_state()
|
||||||
return device._nm_state_to_state[nm_state]
|
return device._nm_state_to_state[nm_state]
|
||||||
elif pspec.name == 'frequency':
|
elif pspec.name == 'frequency':
|
||||||
print "freq: %s" % self._nm_device.get_frequency()
|
|
||||||
return self._nm_device.get_frequency()
|
return self._nm_device.get_frequency()
|
||||||
|
|
||||||
def get_type(self):
|
def get_type(self):
|
||||||
|
@ -36,6 +36,9 @@ from view.BuddyIcon import BuddyIcon
|
|||||||
from view.pulsingicon import PulsingIcon
|
from view.pulsingicon import PulsingIcon
|
||||||
from view.home.snowflakelayout import SnowflakeLayout
|
from view.home.snowflakelayout import SnowflakeLayout
|
||||||
|
|
||||||
|
from hardware.nmclient import NM_802_11_CAP_PROTO_WEP, NM_802_11_CAP_PROTO_WPA, NM_802_11_CAP_PROTO_WPA2
|
||||||
|
|
||||||
|
|
||||||
_ICON_NAME = 'network-wireless'
|
_ICON_NAME = 'network-wireless'
|
||||||
|
|
||||||
class AccessPointView(PulsingIcon):
|
class AccessPointView(PulsingIcon):
|
||||||
@ -57,6 +60,13 @@ class AccessPointView(PulsingIcon):
|
|||||||
self._update_name()
|
self._update_name()
|
||||||
self._update_state()
|
self._update_state()
|
||||||
|
|
||||||
|
# Update badge
|
||||||
|
caps = model.props.capabilities
|
||||||
|
if model.get_nm_network().is_favorite():
|
||||||
|
self.props.badge_name = "badge-star"
|
||||||
|
elif (caps & NM_802_11_CAP_PROTO_WEP) or (caps & NM_802_11_CAP_PROTO_WPA) or (caps & NM_802_11_CAP_PROTO_WPA2):
|
||||||
|
self.props.badge_name = "badge-locked"
|
||||||
|
|
||||||
def _strength_changed_cb(self, model, pspec):
|
def _strength_changed_cb(self, model, pspec):
|
||||||
self._update_icon()
|
self._update_icon()
|
||||||
|
|
||||||
@ -82,7 +92,7 @@ class AccessPointView(PulsingIcon):
|
|||||||
def _update_icon(self):
|
def _update_icon(self):
|
||||||
icon_name = get_icon_state(_ICON_NAME, self._model.props.strength)
|
icon_name = get_icon_state(_ICON_NAME, self._model.props.strength)
|
||||||
if icon_name:
|
if icon_name:
|
||||||
self.props.icon_name = icon_name
|
self.props.icon_name = icon_name
|
||||||
|
|
||||||
def _update_state(self):
|
def _update_state(self):
|
||||||
if self._model.props.state == accesspointmodel.STATE_CONNECTING:
|
if self._model.props.state == accesspointmodel.STATE_CONNECTING:
|
||||||
|
Loading…
Reference in New Issue
Block a user