1
0
mirror of https://github.com/gryf/wicd.git synced 2025-12-24 23:22:27 +01:00

add checkbox to GTK UI to make using the DHCP Hostname optional

This commit is contained in:
Adam Blackburn
2009-11-26 21:42:39 -06:00
parent 9d4e73b3c6
commit 7d5e97da15
2 changed files with 21 additions and 3 deletions

View File

@@ -130,10 +130,10 @@ class LabelEntry(gtk.HBox):
gtk.HBox.__init__(self)
self.entry = gtk.Entry()
self.entry.set_size_request(200, -1)
self.label = SmallLabel()
self.label = LeftAlignedLabel()
self.label.set_text(text)
self.label.set_size_request(170, -1)
self.pack_start(self.label, fill=False, expand=False)
self.pack_start(self.label, fill=True, expand=True)
self.pack_start(self.entry, fill=False, expand=False)
self.label.show()
self.entry.show()

View File

@@ -74,7 +74,11 @@ class AdvancedSettingsDialog(gtk.Dialog):
self.txt_dns_1 = LabelEntry(language['dns'] + ' 1')
self.txt_dns_2 = LabelEntry(language['dns'] + ' 2')
self.txt_dns_3 = LabelEntry(language['dns'] + ' 3')
dhcp_hostname_hbox = gtk.HBox(False, 0)
self.chkbox_use_dhcp_hostname = gtk.CheckButton()
self.txt_dhcp_hostname = LabelEntry("DHCP Hostname")
dhcp_hostname_hbox.pack_start(self.chkbox_use_dhcp_hostname)
dhcp_hostname_hbox.pack_start(self.txt_dhcp_hostname)
self.chkbox_static_ip = gtk.CheckButton(language['use_static_ip'])
self.chkbox_static_dns = gtk.CheckButton(language['use_static_dns'])
self.chkbox_global_dns = gtk.CheckButton(language['use_global_dns'])
@@ -106,7 +110,7 @@ class AdvancedSettingsDialog(gtk.Dialog):
self.vbox.pack_start(self.txt_dns_1, fill=False, expand=False)
self.vbox.pack_start(self.txt_dns_2, fill=False, expand=False)
self.vbox.pack_start(self.txt_dns_3, fill=False, expand=False)
self.vbox.pack_start(self.txt_dhcp_hostname, fill=False, expand=False)
self.vbox.pack_start(dhcp_hostname_hbox, fill=False, expand=False)
self.vbox.pack_end(self.button_hbox, fill=False, expand=False, padding=5)
@@ -114,6 +118,8 @@ class AdvancedSettingsDialog(gtk.Dialog):
self.chkbox_static_ip.connect("toggled", self.toggle_ip_checkbox)
self.chkbox_static_dns.connect("toggled", self.toggle_dns_checkbox)
self.chkbox_global_dns.connect("toggled", self.toggle_global_dns_checkbox)
self.chkbox_use_dhcp_hostname.connect('toggled',
self.toggle_dhcp_hostname_checkbox)
# Start with all disabled, then they will be enabled later.
self.chkbox_static_ip.set_active(False)
@@ -192,6 +198,10 @@ class AdvancedSettingsDialog(gtk.Dialog):
w.set_sensitive(False)
self.chkbox_global_dns.set_active(False)
def toggle_dhcp_hostname_checkbox(self, widget=None):
self.txt_dhcp_hostname.set_sensitive(
self.chkbox_use_dhcp_hostname.get_active())
def toggle_global_dns_checkbox(self, widget=None):
""" Set the DNS entries' sensitivity based on the Global checkbox. """
global_dns_active = daemon.GetUseGlobalDNS()
@@ -241,6 +251,8 @@ class AdvancedSettingsDialog(gtk.Dialog):
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()))
@@ -405,11 +417,17 @@ class WirelessSettingsDialog(AdvancedSettingsDialog):
self.chkbox_global_settings.set_active(bool(wireless.GetWirelessProperty(networkID,
'use_settings_globally')))
self.chkbox_use_dhcp_hostname.set_active(
bool(wireless.GetWirelessProperty(networkID, 'use_dhcphostname')))
dhcphname = wireless.GetWirelessProperty(networkID,"dhcphostname")
if dhcphname is None:
dhcphname = os.uname()[1]
self.txt_dhcp_hostname.set_text(dhcphname)
self.toggle_dhcp_hostname_checkbox()
activeID = -1 # Set the menu to this item when we are done
user_enctype = wireless.GetWirelessProperty(networkID, "enctype")
for x, enc_type in enumerate(self.encrypt_types):