def _connect(self): # Activate existing connection, if there is one connection = network.find_connection_by_ssid(self._ssid) if connection: logging.debug('Activating existing connection for SSID %r', self._ssid) connection.activate(self._device) return # Otherwise, create new connection and activate it logging.debug('Creating new connection for SSID %r', self._ssid) settings = Settings() settings.connection.id = self._display_name settings.connection.uuid = str(uuid.uuid4()) settings.connection.type = '802-11-wireless' settings.wireless.ssid = self._ssid if self._mode == network.NM_802_11_MODE_INFRA: settings.wireless.mode = 'infrastructure' settings.connection.autoconnect = True elif self._mode == network.NM_802_11_MODE_ADHOC: settings.wireless.mode = 'adhoc' settings.wireless.band = 'bg' settings.ip4_config = IP4Config() settings.ip4_config.method = 'link-local' wireless_security = self._get_security() settings.wireless_security = wireless_security if wireless_security is not None: settings.wireless.security = '802-11-wireless-security' network.add_and_activate_connection(self._device, settings, self.get_first_ap().model)
def _update_badge(self): if self._mode != network.NM_802_11_MODE_ADHOC: if network.find_connection_by_ssid(self._ssid) is not None: self.props.badge_name = 'emblem-favorite' self._palette_icon.props.badge_name = 'emblem-favorite' elif self._flags == network.NM_802_11_AP_FLAGS_PRIVACY: self.props.badge_name = 'emblem-locked' self._palette_icon.props.badge_name = 'emblem-locked' else: self.props.badge_name = None self._palette_icon.props.badge_name = None else: self.props.badge_name = None self._palette_icon.props.badge_name = None
def _update_badge(self): badge = None favorite = False if self._mode != network.NM_802_11_MODE_ADHOC: locked = (self._flags == network.NM_802_11_AP_FLAGS_PRIVACY) connection = network.find_connection_by_ssid(self._ssid) if connection is not None: favorite = True self._connect_removed(connection) if locked: badge = 'emblem-favorite-locked' else: badge = 'emblem-favorite' elif locked: badge = 'emblem-locked' self.props.badge_name = self._palette_icon.props.badge_name = badge self._forget_item.set_visible(favorite)