예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
 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
예제 #4
0
 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
예제 #5
0
 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)
예제 #6
0
 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)