diff options
author | James Cameron <quozl@laptop.org> | 2010-03-31 22:17:19 (GMT) |
---|---|---|
committer | Sayamindu Dasgupta <sayamindu@gmail.com> | 2010-03-31 22:17:19 (GMT) |
commit | fcb1cec3fedfda3115f2ca72adeef53d81d500aa (patch) | |
tree | f934d0d8620cd529bff24711c3d5175e83fedbd4 /extensions | |
parent | a51b942bdc3333f8ca178b49521877abe98e4740 (diff) |
Fix AP association failure after removing encryption (dlo #9977)
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/cpsection/network/model.py | 12 | ||||
-rw-r--r-- | extensions/cpsection/network/view.py | 8 | ||||
-rw-r--r-- | extensions/deviceicon/network.py | 22 |
3 files changed, 27 insertions, 15 deletions
diff --git a/extensions/cpsection/network/model.py b/extensions/cpsection/network/model.py index d22bf69..1db7832 100644 --- a/extensions/cpsection/network/model.py +++ b/extensions/cpsection/network/model.py @@ -18,6 +18,7 @@ import logging import dbus from gettext import gettext as _ +from jarabe.model import network import gconf import os @@ -75,7 +76,7 @@ def get_radio_nm(): bus = dbus.SystemBus() try: obj = bus.get_object(_NM_SERVICE, _NM_PATH) - nm_props = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') + nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) except dbus.DBusException: raise ReadError('%s service not available' % _NM_SERVICE) @@ -98,7 +99,7 @@ def set_radio_nm(state): bus = dbus.SystemBus() try: obj = bus.get_object(_NM_SERVICE, _NM_PATH) - nm_props = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') + nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) except dbus.DBusException: raise ReadError('%s service not available' % _NM_SERVICE) nm_props.Set(_NM_IFACE, 'WirelessEnabled', True) @@ -106,7 +107,7 @@ def set_radio_nm(state): bus = dbus.SystemBus() try: obj = bus.get_object(_NM_SERVICE, _NM_PATH) - nm_props = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') + nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) except dbus.DBusException: raise ReadError('%s service not available' % _NM_SERVICE) nm_props.Set(_NM_IFACE, 'WirelessEnabled', False) @@ -172,7 +173,10 @@ def clear_registration(): def clear_networks(): """Clear saved passwords and network configurations. """ - pass + network.clear_connections() + +def count_networks(): + return network.count_connections() def get_publish_information(): client = gconf.client_get_default() diff --git a/extensions/cpsection/network/view.py b/extensions/cpsection/network/view.py index ef28f00..c387667 100644 --- a/extensions/cpsection/network/view.py +++ b/extensions/cpsection/network/view.py @@ -101,6 +101,8 @@ class Network(SectionView): self._clear_history_button = gtk.Button() self._clear_history_button.set_label(_('Discard network history')) box_clear_history.pack_start(self._clear_history_button, expand=False) + if self._model.count_networks() == 0: + self._clear_history_button.set_sensitive(False) self._clear_history_button.show() box_wireless.pack_start(box_clear_history, expand=False) box_clear_history.show() @@ -208,7 +210,9 @@ class Network(SectionView): self._radio_alert.props.msg = detail self._radio_valid = False else: - self._radio_valid = True + self._radio_valid = True + if self._model.count_networks() != 0: + self._clear_history_button.set_sensitive(True) self._validate() return False @@ -239,3 +243,5 @@ class Network(SectionView): def __network_configuration_reset_cb(self, widget): self._model.clear_networks() + if self._model.count_networks() == 0: + self._clear_history_button.set_sensitive(False) diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py index dc14f9c..f790c91 100644 --- a/extensions/deviceicon/network.py +++ b/extensions/deviceicon/network.py @@ -243,8 +243,7 @@ class WirelessDeviceView(ToolButton): self.set_palette(self._palette) self._palette.set_group_id('frame') - self._device_props = dbus.Interface(self._device, - 'org.freedesktop.DBus.Properties') + self._device_props = dbus.Interface(self._device, dbus.PROPERTIES_IFACE) self._device_props.GetAll(_NM_DEVICE_IFACE, byte_arrays=True, reply_handler=self.__get_device_props_reply_cb, error_handler=self.__get_device_props_error_cb) @@ -285,7 +284,7 @@ class WirelessDeviceView(ToolButton): return self._active_ap_op = active_ap_op active_ap = self._bus.get_object(_NM_SERVICE, active_ap_op) - props = dbus.Interface(active_ap, 'org.freedesktop.DBus.Properties') + props = dbus.Interface(active_ap, dbus.PROPERTIES_IFACE) props.GetAll(_NM_ACCESSPOINT_IFACE, byte_arrays=True, reply_handler=self.__get_all_ap_props_reply_cb, @@ -399,17 +398,21 @@ class WirelessDeviceView(ToolButton): self._icon.props.base_color = self._color def __deactivate_connection_cb(self, palette, data=None): + connection = network.find_connection(self._name) + if connection: + if self._mode == network.NM_802_11_MODE_INFRA: + connection.set_disconnected() + if self._active_ap_op is not None: obj = self._bus.get_object(_NM_SERVICE, _NM_PATH) netmgr = dbus.Interface(obj, _NM_IFACE) - netmgr_props = dbus.Interface( - netmgr, 'org.freedesktop.DBus.Properties') + netmgr_props = dbus.Interface(netmgr, dbus.PROPERTIES_IFACE) active_connections_o = netmgr_props.Get(_NM_IFACE, 'ActiveConnections') for conn_o in active_connections_o: obj = self._bus.get_object(_NM_IFACE, conn_o) - props = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') + props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) ap_op = props.Get(_NM_ACTIVE_CONN_IFACE, 'SpecificObject') if ap_op == self._active_ap_op: netmgr.DeactivateConnection(conn_o) @@ -510,7 +513,7 @@ class WiredDeviceObserver(object): self._device_view = None self._tray = tray - props = dbus.Interface(self._device, 'org.freedesktop.DBus.Properties') + props = dbus.Interface(self._device, dbus.PROPERTIES_IFACE) props.GetAll(_NM_DEVICE_IFACE, byte_arrays=True, reply_handler=self.__get_device_props_reply_cb, error_handler=self.__get_device_props_error_cb) @@ -538,8 +541,7 @@ class WiredDeviceObserver(object): def _update_state(self, state): if state == network.DEVICE_STATE_ACTIVATED: - props = dbus.Interface(self._device, - 'org.freedesktop.DBus.Properties') + props = dbus.Interface(self._device, dbus.PROPERTIES_IFACE) address = props.Get(_NM_DEVICE_IFACE, 'Ip4Address') speed = props.Get(_NM_WIRED_IFACE, 'Speed') self._device_view = WiredDeviceView(speed, address) @@ -584,7 +586,7 @@ class NetworkManagerObserver(object): def _check_device(self, device_op): nm_device = self._bus.get_object(_NM_SERVICE, device_op) - props = dbus.Interface(nm_device, 'org.freedesktop.DBus.Properties') + props = dbus.Interface(nm_device, dbus.PROPERTIES_IFACE) device_type = props.Get(_NM_DEVICE_IFACE, 'DeviceType') if device_type == network.DEVICE_TYPE_802_3_ETHERNET: |