Beispiel #1
0
    def save_settings(self):
        """ Save settings common to wired and wireless settings dialogs. """
        if self.chkbox_static_ip.get_active():
            self.set_net_prop("ip", noneToString(self.txt_ip.get_text()))
            self.set_net_prop("netmask", noneToString(self.txt_netmask.get_text()))
            self.set_net_prop("gateway", noneToString(self.txt_gateway.get_text()))
        else:
            self.set_net_prop("ip", '')
            self.set_net_prop("netmask", '')
            self.set_net_prop("gateway", '')

        if self.chkbox_static_dns.get_active() and \
           not self.chkbox_global_dns.get_active():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain', noneToString(self.txt_domain.get_text()))
            self.set_net_prop("search_domain", noneToString(self.txt_search_dom.get_text()))
            self.set_net_prop("dns1", noneToString(self.txt_dns_1.get_text()))
            self.set_net_prop("dns2", noneToString(self.txt_dns_2.get_text()))
            self.set_net_prop("dns3", noneToString(self.txt_dns_3.get_text()))
        elif self.chkbox_static_dns.get_active() and \
             self.chkbox_global_dns.get_active():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', True)
        else:
            self.set_net_prop('use_static_dns', False)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain', '')
            self.set_net_prop("search_domain", '')
            self.set_net_prop("dns1", '')
            self.set_net_prop("dns2", '')
            self.set_net_prop("dns3", '')
        self.set_net_prop('use_dhcphostname',
                          self.chkbox_use_dhcp_hostname.get_active())
        self.set_net_prop("dhcphostname",noneToString(self.txt_dhcp_hostname.get_text()))
Beispiel #2
0
    def save_settings(self):
        # Check encryption info
        if self.encryption_chkbox.get_state():
            encrypt_info = self.encryption_info
            encrypt_methods = self.encrypt_types
            self.set_net_prop("enctype",
                               encrypt_methods[self.encryption_combo.get_focus()[1] ]['type'])
            self.set_net_prop("encryption_enabled", True)
            # Make sure all required fields are filled in.
            for entry_info in encrypt_info.itervalues():
                if entry_info[0].get_edit_text() == "" \
                    and entry_info[1] == 'required':
                    error(self.ui, self.parent,"%s (%s)" \
                            % (_('Required encryption information is missing.'),
                                entry_info[0].get_caption()[0:-2] )
                          )
                    return False

            for entry_key, entry_info in encrypt_info.iteritems():
                self.set_net_prop(entry_key, noneToString(entry_info[0].
                                                   get_edit_text()))
        else:
            self.set_net_prop("enctype", "None")
            self.set_net_prop("encryption_enabled", False)
        
        AdvancedSettingsDialog.save_settings(self)
        if self.set_default.get_state():
            wired.UnsetWiredDefault()
        if self.set_default.get_state():
            bool = True
        else:
            bool = False
        wired.SetWiredProperty("default",bool)
        wired.SaveWiredNetworkProfile(self.prof_name)
        return True
Beispiel #3
0
    def refresh_networks(self, widget=None, fresh=True, hidden=None):
        """ Refreshes the network list.

        If fresh=True, scans for wireless networks and displays the results.
        If a ethernet connection is available, or the user has chosen to,
        displays a Wired Network entry as well.
        If hidden isn't None, will scan for networks after running
        iwconfig <wireless interface> essid <hidden>.

        """
        if fresh:
            if hidden:
                wireless.SetHiddenNetworkESSID(noneToString(hidden))
            self.refresh_clicked()
            return
        print "refreshing..."
        self.network_list.set_sensitive(False)
        self._remove_items_from_vbox(self.network_list)
        self.wait_for_events()
        printLine = False  # We don't print a separator by default.
        if self._wired_showing:
            printLine = True
        num_networks = wireless.GetNumberOfNetworks()
        instruct_label = self.wTree.get_object("label_instructions")
        if num_networks > 0:
            skip_never_connect = not daemon.GetShowNeverConnect()
            instruct_label.show()
            for x in xrange(0, num_networks):
                if skip_never_connect and \
                  misc.to_bool(get_wireless_prop(x, 'never')):
                    continue
                if printLine:
                    sep = gtk.HSeparator()
                    self.network_list.pack_start(sep, padding=10, fill=False,
                                                 expand=False)
                    sep.show()
                else:
                    printLine = True
                tempnet = WirelessNetworkEntry(x)
                self.network_list.pack_start(tempnet, False, False)
                tempnet.connect_button.connect("clicked",
                                               self.connect, "wireless", x,
                                               tempnet)
                tempnet.disconnect_button.connect("clicked",
                                                  self.disconnect, "wireless",
                                                  x, tempnet)
                tempnet.advanced_button.connect("clicked",
                                                self.edit_advanced, "wireless",
                                                x, tempnet)
        else:
            instruct_label.hide()
            if wireless.GetKillSwitchEnabled():
                label = gtk.Label(_('Wireless Kill Switch Enabled') + ".")
            else:
                label = gtk.Label(_('No wireless networks found.'))
            self.network_list.pack_start(label)
            label.show()
        self.update_connect_buttons(force_check=True)
        self.network_list.set_sensitive(True)
        self.refreshing = False
Beispiel #4
0
    def save_settings(self):
        """ Save settings to disk. """
        # Check encryption info
        if self.encryption_chkbox.get_state():
            encrypt_info = self.encryption_info
            encrypt_methods = self.encrypt_types
            self.set_net_prop(
                "enctype",
                encrypt_methods[self.encryption_combo.get_focus()[1]]['type']
            )
            # Make sure all required fields are filled in.
            for entry_info in encrypt_info.itervalues():
                if entry_info[0].get_edit_text() == "" \
                    and entry_info[1] == 'required':
                    error(
                        self.ui,
                        self.parent,
                        "%s (%s)" % (
                            _('Required encryption information is missing.'),
                            entry_info[0].get_caption()[0:-2]
                        )
                    )
                    return False

            for entry_key, entry_info in encrypt_info.iteritems():
                self.set_net_prop(entry_key, noneToString(entry_info[0].
                                                   get_edit_text()))
        elif not self.encryption_chkbox.get_state() and \
             wireless.GetWirelessProperty(self.networkid, "encryption"):
            # Encrypt checkbox is off, but the network needs it.
            error(
                self.ui,
                self.parent,
                _('This network requires encryption to be enabled.')
            )
            return False
        else:
            self.set_net_prop("enctype", "None")
        AdvancedSettingsDialog.save_settings(self)

        # Save the autoconnect setting.  This is not where it originally was
        # in the GTK UI.
        self.set_net_prop("automatic", self.autoconnect_chkbox.get_state())

        if self.global_settings_chkbox.get_state():
            self.set_net_prop('use_settings_globally', True)
        else:
            self.set_net_prop('use_settings_globally', False)
            wireless.RemoveGlobalEssidEntry(self.networkid)

        self.set_net_prop(
            'bitrate',
            self.bitrates[self.bitrate_combo.get_focus()[1]]
        )
        self.set_net_prop(
            'allow_lower_bitrates',
            self.allow_lower_bitrates_chkbox.get_state()
        )
        wireless.SaveWirelessNetworkProfile(self.networkid)
        return True
Beispiel #5
0
Datei: gui.py Projekt: wmak/wicd
    def refresh_networks(self, widget=None, fresh=True, hidden=None):
        """ Refreshes the network list.

        If fresh=True, scans for wireless networks and displays the results.
        If a ethernet connection is available, or the user has chosen to,
        displays a Wired Network entry as well.
        If hidden isn't None, will scan for networks after running
        iwconfig <wireless interface> essid <hidden>.

        """
        if fresh:
            if hidden:
                wireless.SetHiddenNetworkESSID(noneToString(hidden))
            self.refresh_clicked()
            return
        print "refreshing..."
        self.network_list.set_sensitive(False)
        self._remove_items_from_vbox(self.network_list)
        self.wait_for_events()
        printLine = False  # We don't print a separator by default.
        if self._wired_showing:
            printLine = True
        num_networks = wireless.GetNumberOfNetworks()
        instruct_label = self.wTree.get_object("label_instructions")
        if num_networks > 0:
            skip_never_connect = not daemon.GetShowNeverConnect()
            instruct_label.show()
            for x in xrange(0, num_networks):
                if skip_never_connect and \
                  misc.to_bool(get_wireless_prop(x, 'never')):
                    continue
                if printLine:
                    sep = gtk.HSeparator()
                    self.network_list.pack_start(sep,
                                                 padding=10,
                                                 fill=False,
                                                 expand=False)
                    sep.show()
                else:
                    printLine = True
                tempnet = WirelessNetworkEntry(x)
                self.network_list.pack_start(tempnet, False, False)
                tempnet.connect_button.connect("clicked", self.connect,
                                               "wireless", x, tempnet)
                tempnet.disconnect_button.connect("clicked", self.disconnect,
                                                  "wireless", x, tempnet)
                tempnet.advanced_button.connect("clicked", self.edit_advanced,
                                                "wireless", x, tempnet)
        else:
            instruct_label.hide()
            if wireless.GetKillSwitchEnabled():
                label = gtk.Label(_('Wireless Kill Switch Enabled') + ".")
            else:
                label = gtk.Label(_('No wireless networks found.'))
            self.network_list.pack_start(label)
            label.show()
        self.update_connect_buttons(force_check=True)
        self.network_list.set_sensitive(True)
        self.refreshing = False
Beispiel #6
0
Datei: gui.py Projekt: mcagl/wicd
    def forget_network(self, widget=None):
        """
        Shows a dialog that lists saved wireless networks, and lets the user
        delete them.
        """
        wireless.ReloadConfig()
        dialog = gtk.Dialog(title = _('List of saved networks'),
                            flags = gtk.DIALOG_MODAL,
                            buttons=(gtk.STOCK_DELETE, 1, gtk.STOCK_OK, 2))
        dialog.set_has_separator(True)
        dialog.set_size_request(400, 200)

        networks = gtk.ListStore(str, str)
        for entry in wireless.GetSavedWirelessNetworks():
            if entry[1] != 'None':
                networks.append(entry)
            else:
                networks.append((entry[0], _('Global settings for this ESSID')))
        tree = gtk.TreeView(model=networks)
        tree.get_selection().set_mode(gtk.SELECTION_MULTIPLE)

        cell = gtk.CellRendererText()

        column = gtk.TreeViewColumn(_('ESSID'), cell, text = 0)
        tree.append_column(column)

        column = gtk.TreeViewColumn(_('BSSID'), cell, text = 1)
        tree.append_column(column)

        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.add(tree)
        dialog.vbox.pack_start(scroll)
        dialog.vbox.set_spacing(5)
        dialog.show_all()
        response = dialog.run()
        if response == 1:
            model, pathlist = tree.get_selection().get_selected_rows()
            to_remove = dict(essid=[], bssid=[])
            if pathlist:
                for row in pathlist:
                    iter = model.get_iter(path=row)
                    to_remove['essid'].append(misc.noneToString(model.get_value(iter, 0)))
                    to_remove['bssid'].append(model.get_value(iter, 1))

                confirm = gtk.MessageDialog(
                        flags = gtk.DIALOG_MODAL,
                        type = gtk.MESSAGE_INFO,
                        buttons = gtk.BUTTONS_YES_NO,
                        message_format = _('Are you sure you want to discard' +
                            ' settings for the selected networks?')
                    )
                confirm.format_secondary_text('\n'.join(to_remove['essid']))
                response = confirm.run()
                if response == gtk.RESPONSE_YES:
                    map(wireless.DeleteWirelessNetwork, to_remove['bssid'])
                    wireless.ReloadConfig()
                confirm.destroy()
        dialog.destroy()
Beispiel #7
0
 def raise_hidden_network_dialog(self):
     dialog = InputDialog(('header',_('Select Hidden Network ESSID')),7,30,_('Scan'))
     exitcode,hidden = dialog.run(ui,self.frame)
     if exitcode != -1:
         # That dialog will sit there for a while if I don't get rid of it
         self.update_ui()
         wireless.SetHiddenNetworkESSID(misc.noneToString(hidden))
         wireless.Scan(False)
     wireless.SetHiddenNetworkESSID("")
Beispiel #8
0
    def save_settings(self):
        """ Save settings common to wired and wireless settings dialogs. """
        if self.static_ip_cb.get_state():
            for i in [
                self.ip_edit,
                self.netmask_edit,
                self.gateway_edit
            ]:
                i.set_edit_text(i.get_edit_text().strip())

            self.set_net_prop("ip", noneToString(self.ip_edit.get_edit_text()))
            self.set_net_prop("netmask",
                noneToString(self.netmask_edit.get_edit_text()))
            self.set_net_prop("gateway",
                noneToString(self.gateway_edit.get_edit_text()))
        else:
            self.set_net_prop("ip", '')
            self.set_net_prop("netmask", '')
            self.set_net_prop("gateway", '')

        if self.static_dns_cb.get_state() and \
           not self.global_dns_cb.get_state():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', False)
            # Strip addressses before checking them in the daemon.
            for i in [
                self.dns1,
                self.dns2,
                self.dns3,
                self.dns_dom_edit,
                self.search_dom_edit
            ]:
                i.set_edit_text(i.get_edit_text().strip())
            self.set_net_prop('dns_domain',
                noneToString(self.dns_dom_edit.get_edit_text()))
            self.set_net_prop("search_domain",
                noneToString(self.search_dom_edit.get_edit_text()))
            self.set_net_prop("dns1", noneToString(self.dns1.get_edit_text()))
            self.set_net_prop("dns2", noneToString(self.dns2.get_edit_text()))
            self.set_net_prop("dns3", noneToString(self.dns3.get_edit_text()))
        elif self.static_dns_cb.get_state() and \
             self.global_dns_cb.get_state():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', True)
        else:
            self.set_net_prop('use_static_dns', False)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain', '')
            self.set_net_prop("search_domain", '')
            self.set_net_prop("dns1", '')
            self.set_net_prop("dns2", '')
            self.set_net_prop("dns3", '')
        self.set_net_prop('dhcphostname', self.dhcp_h.get_edit_text())
        self.set_net_prop('usedhcphostname', self.use_dhcp_h.get_state())
Beispiel #9
0
 def raise_hidden_network_dialog(self):
     dialog = InputDialog(('header', language["select_hidden_essid"]), 7,
                          30, language['scan'])
     exitcode, hidden = dialog.run(ui, self.frame)
     if exitcode != -1:
         # That dialog will sit there for a while if I don't get rid of it
         self.update_ui()
         wireless.SetHiddenNetworkESSID(misc.noneToString(hidden))
         wireless.Scan(False)
     wireless.SetHiddenNetworkESSID("")
Beispiel #10
0
 def update_neverconnect(self, widget=None):
     """ Called when the neverconnect checkbox is toggled. """
     wireless.SetWirelessProperty(self.networkID, "never",
                     noneToString(self.chkbox_neverconnect.get_active()))
     wireless.SaveWirelessNetworkProperty(self.networkID, "never")
     if self.chkbox_neverconnect.get_active():
         self.chkbox_autoconnect.set_sensitive(False)
         self.connect_button.set_sensitive(False)
     else:
         self.chkbox_autoconnect.set_sensitive(True)
         self.connect_button.set_sensitive(True)
Beispiel #11
0
 def raise_hidden_network_dialog(self):
     """ Show hidden network dialog. """
     dialog = InputDialog(('header', _('Select Hidden Network ESSID')), 7,
                          30, _('Scan'))
     exitcode, hidden = dialog.run(ui, self.frame)
     if exitcode != -1:
         # That dialog will sit there for a while if I don't get rid of it
         self.update_ui()
         wireless.SetHiddenNetworkESSID(misc.noneToString(hidden))
         wireless.Scan(False)
     wireless.SetHiddenNetworkESSID("")
Beispiel #12
0
    def save_settings(self):
        """ Save settings common to wired and wireless settings dialogs. """
        if self.static_ip_cb.get_state():
            for i in [self.ip_edit, self.netmask_edit, self.gateway_edit]:
                i.set_edit_text(i.get_edit_text().strip())

            self.set_net_prop("ip", noneToString(self.ip_edit.get_edit_text()))
            self.set_net_prop("netmask",
                              noneToString(self.netmask_edit.get_edit_text()))
            self.set_net_prop("gateway",
                              noneToString(self.gateway_edit.get_edit_text()))
        else:
            self.set_net_prop("ip", '')
            self.set_net_prop("netmask", '')
            self.set_net_prop("gateway", '')

        if self.static_dns_cb.get_state() and \
           not self.global_dns_cb.get_state():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', False)
            # Strip addressses before checking them in the daemon.
            for i in [
                    self.dns1, self.dns2, self.dns3, self.dns_dom_edit,
                    self.search_dom_edit
            ]:
                i.set_edit_text(i.get_edit_text().strip())
            self.set_net_prop('dns_domain',
                              noneToString(self.dns_dom_edit.get_edit_text()))
            self.set_net_prop(
                "search_domain",
                noneToString(self.search_dom_edit.get_edit_text()))
            self.set_net_prop("dns1", noneToString(self.dns1.get_edit_text()))
            self.set_net_prop("dns2", noneToString(self.dns2.get_edit_text()))
            self.set_net_prop("dns3", noneToString(self.dns3.get_edit_text()))
        elif self.static_dns_cb.get_state() and \
             self.global_dns_cb.get_state():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', True)
        else:
            self.set_net_prop('use_static_dns', False)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain', '')
            self.set_net_prop("search_domain", '')
            self.set_net_prop("dns1", '')
            self.set_net_prop("dns2", '')
            self.set_net_prop("dns3", '')
        self.set_net_prop('dhcphostname', self.dhcp_h.get_edit_text())
        self.set_net_prop('usedhcphostname', self.use_dhcp_h.get_state())
Beispiel #13
0
    def save_settings(self):
        """ Save settings to disk. """
        # Check encryption info
        if self.encryption_chkbox.get_state():
            encrypt_info = self.encryption_info
            encrypt_methods = self.encrypt_types
            self.set_net_prop(
                "enctype",
                encrypt_methods[self.encryption_combo.get_focus()[1]]['type'])
            # Make sure all required fields are filled in.
            for entry_info in encrypt_info.values():
                if entry_info[0].get_edit_text() == "" \
                    and entry_info[1] == 'required':
                    error(
                        self.ui, self.parent, "%s (%s)" %
                        (_('Required encryption information is missing.'),
                         entry_info[0].get_caption()[0:-2]))
                    return False

            for entry_key, entry_info in encrypt_info.items():
                self.set_net_prop(entry_key,
                                  noneToString(entry_info[0].get_edit_text()))
        elif not self.encryption_chkbox.get_state() and \
             wireless.GetWirelessProperty(self.networkid, "encryption"):
            # Encrypt checkbox is off, but the network needs it.
            error(self.ui, self.parent,
                  _('This network requires encryption to be enabled.'))
            return False
        else:
            self.set_net_prop("enctype", "None")
        AdvancedSettingsDialog.save_settings(self)

        # Save the autoconnect setting.  This is not where it originally was
        # in the GTK UI.
        self.set_net_prop("automatic", self.autoconnect_chkbox.get_state())

        if self.global_settings_chkbox.get_state():
            self.set_net_prop('use_settings_globally', True)
        else:
            self.set_net_prop('use_settings_globally', False)
            wireless.RemoveGlobalEssidEntry(self.networkid)

        self.set_net_prop('bitrate',
                          self.bitrates[self.bitrate_combo.get_focus()[1]])
        self.set_net_prop('allow_lower_bitrates',
                          self.allow_lower_bitrates_chkbox.get_state())
        wireless.SaveWirelessNetworkProfile(self.networkid)
        return True
Beispiel #14
0
    def save_settings(self):
        """ Save settings common to wired and wireless settings dialogs. """
        if self.chkbox_static_ip.get_active():
            self.set_net_prop("ip", noneToString(self.txt_ip.get_text()))
            self.set_net_prop("netmask",
                              noneToString(self.txt_netmask.get_text()))
            self.set_net_prop("gateway",
                              noneToString(self.txt_gateway.get_text()))
        else:
            self.set_net_prop("ip", '')
            self.set_net_prop("netmask", '')
            self.set_net_prop("gateway", '')

        if self.chkbox_static_dns.get_active() and \
           not self.chkbox_global_dns.get_active():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain',
                              noneToString(self.txt_domain.get_text()))
            self.set_net_prop("search_domain",
                              noneToString(self.txt_search_dom.get_text()))
            self.set_net_prop("dns1", noneToString(self.txt_dns_1.get_text()))
            self.set_net_prop("dns2", noneToString(self.txt_dns_2.get_text()))
            self.set_net_prop("dns3", noneToString(self.txt_dns_3.get_text()))
        elif self.chkbox_static_dns.get_active() and \
             self.chkbox_global_dns.get_active():
            self.set_net_prop('use_static_dns', True)
            self.set_net_prop('use_global_dns', True)
        else:
            self.set_net_prop('use_static_dns', False)
            self.set_net_prop('use_global_dns', False)
            self.set_net_prop('dns_domain', '')
            self.set_net_prop("search_domain", '')
            self.set_net_prop("dns1", '')
            self.set_net_prop("dns2", '')
            self.set_net_prop("dns3", '')
        self.set_net_prop('use_dhcphostname',
                          self.chkbox_use_dhcp_hostname.get_active())
        self.set_net_prop("dhcphostname",
                          noneToString(self.txt_dhcp_hostname.get_text()))
Beispiel #15
0
    def save_settings(self, networkid):
        # Check encryption info
        encrypt_info = self.encryption_info
        if self.chkbox_encryption.get_active():
            print "setting encryption info..."
            encrypt_methods = self.encrypt_types
            self.set_net_prop(
                "enctype",
                encrypt_methods[self.combo_encryption.get_active()]['type'])
            # Make sure all required fields are filled in.
            for entry_info in encrypt_info.itervalues():
                if entry_info[0].entry.get_text() == "" and \
                   entry_info[1] == 'required':
                    error(
                        self, "%s (%s)" % (language['encrypt_info_missing'],
                                           entry_info[0].label.get_label()))
                    return False
            # Now save all the entries.
            for entry_key, entry_info in encrypt_info.iteritems():
                self.set_net_prop(entry_key,
                                  noneToString(entry_info[0].entry.get_text()))
        elif not self.chkbox_encryption.get_active() and \
             wireless.GetWirelessProperty(networkid, "encryption"):
            # Encrypt checkbox is off, but the network needs it.
            error(self, language['enable_encryption'])
            return False
        else:
            print "no encryption specified..."
            self.set_net_prop("enctype", "None")
        AdvancedSettingsDialog.save_settings(self)

        if self.chkbox_global_settings.get_active():
            self.set_net_prop('use_settings_globally', True)
        else:
            self.set_net_prop('use_settings_globally', False)
            wireless.RemoveGlobalEssidEntry(networkid)

        wireless.SaveWirelessNetworkProfile(networkid)
        return True
Beispiel #16
0
 def save_settings(self, networkid):
     # Check encryption info
     encrypt_info = self.encryption_info
     if self.chkbox_encryption.get_active():
         print "setting encryption info..."
         encrypt_methods = self.encrypt_types
         self.set_net_prop("enctype",
                            encrypt_methods[self.combo_encryption.get_active()]['type'])
         # Make sure all required fields are filled in.
         for entry_info in encrypt_info.itervalues():
             if entry_info[0].entry.get_text() == "" and \
                entry_info[1] == 'required':
                 error(self, "%s (%s)" % (language['encrypt_info_missing'], 
                                          entry_info[0].label.get_label())
                       )
                 return False
         # Now save all the entries.
         for entry_key, entry_info in encrypt_info.iteritems():
             self.set_net_prop(entry_key, 
                               noneToString(entry_info[0].entry.get_text()))
     elif not self.chkbox_encryption.get_active() and \
          wireless.GetWirelessProperty(networkid, "encryption"):
         # Encrypt checkbox is off, but the network needs it.
         error(self, language['enable_encryption'])
         return False
     else:
         print "no encryption specified..."
         self.set_net_prop("enctype", "None")
     AdvancedSettingsDialog.save_settings(self)
     
     if self.chkbox_global_settings.get_active():
         self.set_net_prop('use_settings_globally', True)
     else:
         self.set_net_prop('use_settings_globally', False)
         wireless.RemoveGlobalEssidEntry(networkid)
         
     wireless.SaveWirelessNetworkProfile(networkid)
     return True
Beispiel #17
0
    def save_settings(self):
        """ Save settings to disk. """
        # Check encryption info
        if self.encryption_chkbox.get_state():
            encrypt_info = self.encryption_info
            encrypt_methods = self.encrypt_types
            self.set_net_prop(
                "enctype",
                encrypt_methods[self.encryption_combo.get_focus()[1]]['type'])
            self.set_net_prop("encryption_enabled", True)
            # Make sure all required fields are filled in.
            for entry_info in encrypt_info.values():
                if entry_info[0].get_edit_text() == "" \
                  and entry_info[1] == 'required':
                    error(
                        self.ui, self.parent, "%s (%s)" %
                        (_('Required encryption information is missing.'),
                         entry_info[0].get_caption()[0:-2]))
                    return False

            for entry_key, entry_info in encrypt_info.items():
                self.set_net_prop(entry_key,
                                  noneToString(entry_info[0].get_edit_text()))
        else:
            self.set_net_prop("enctype", "None")
            self.set_net_prop("encryption_enabled", False)

        AdvancedSettingsDialog.save_settings(self)
        if self.set_default.get_state():
            wired.UnsetWiredDefault()
        if self.set_default.get_state():
            set_default = True
        else:
            set_default = False
        wired.SetWiredProperty("default", set_default)
        wired.SaveWiredNetworkProfile(self.prof_name)
        return True
Beispiel #18
0
 def test_none_to_string_2(self):
     self.assertEquals(misc.noneToString(''), 'None')
Beispiel #19
0
Datei: gui.py Projekt: wmak/wicd
    def forget_network(self, widget=None):
        """
        Shows a dialog that lists saved wireless networks, and lets the user
        delete them.
        """
        wireless.ReloadConfig()
        dialog = gtk.Dialog(title=_('List of saved networks'),
                            flags=gtk.DIALOG_MODAL,
                            buttons=(gtk.STOCK_DELETE, 1, gtk.STOCK_OK, 2))
        dialog.set_has_separator(True)
        dialog.set_size_request(400, 200)

        networks = gtk.ListStore(str, str)
        for entry in wireless.GetSavedWirelessNetworks():
            if entry[1] != 'None':
                networks.append(entry)
            else:
                networks.append(
                    (entry[0], _('Global settings for this ESSID')))
        tree = gtk.TreeView(model=networks)
        tree.get_selection().set_mode(gtk.SELECTION_MULTIPLE)

        cell = gtk.CellRendererText()

        column = gtk.TreeViewColumn(_('ESSID'), cell, text=0)
        tree.append_column(column)

        column = gtk.TreeViewColumn(_('BSSID'), cell, text=1)
        tree.append_column(column)

        scroll = gtk.ScrolledWindow()
        scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        scroll.add(tree)
        # pylint: disable-msg=E1101
        dialog.vbox.pack_start(scroll)
        # pylint: disable-msg=E1101
        dialog.vbox.set_spacing(5)
        dialog.show_all()
        response = dialog.run()
        if response == 1:
            model, pathlist = tree.get_selection().get_selected_rows()
            to_remove = dict(essid=[], bssid=[])
            if pathlist:
                for row in pathlist:
                    it = model.get_iter(path=row)
                    to_remove['essid'].append(
                        misc.noneToString(model.get_value(it, 0)))
                    to_remove['bssid'].append(model.get_value(it, 1))

                confirm = gtk.MessageDialog(
                    flags=gtk.DIALOG_MODAL,
                    type=gtk.MESSAGE_INFO,
                    buttons=gtk.BUTTONS_YES_NO,
                    message_format=_('Are you sure you want to discard' +
                                     ' settings for the selected networks?'))
                confirm.format_secondary_text('\n'.join(to_remove['essid']))
                response = confirm.run()
                if response == gtk.RESPONSE_YES:
                    for x in to_remove['bssid']:
                        wireless.DeleteWirelessNetwork(x)
                    wireless.ReloadConfig()
                confirm.destroy()
        dialog.destroy()
Beispiel #20
0
 def test_none_to_string_3(self):
     self.assertEquals(misc.noneToString(None), 'None')
Beispiel #21
0
 def test_none_to_string_3(self):
     self.assertEqual(misc.noneToString(None), 'None')
Beispiel #22
0
 def update_autoconnect(self, widget=None):
     """ Called when the autoconnect checkbox is toggled. """
     wireless.SetWirelessProperty(
         self.networkID, "automatic",
         noneToString(self.chkbox_autoconnect.get_active()))
     wireless.SaveWirelessNetworkProperty(self.networkID, "automatic")
Beispiel #23
0
 def update_autoconnect(self, widget=None):
     """ Called when the autoconnect checkbox is toggled. """
     wireless.SetWirelessProperty(self.networkID, "automatic",
                                  noneToString(self.chkbox_autoconnect.
                                               get_active()))
     wireless.SaveWirelessNetworkProperty(self.networkID, "automatic")