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()))
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
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
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
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()
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("")
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())
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("")
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)
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("")
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())
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
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()))
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
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
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
def test_none_to_string_2(self): self.assertEquals(misc.noneToString(''), 'None')
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()
def test_none_to_string_3(self): self.assertEquals(misc.noneToString(None), 'None')
def test_none_to_string_3(self): self.assertEqual(misc.noneToString(None), 'None')
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")
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")