diff --git a/daemon.py b/daemon.py index 287a1fc..49fe5ae 100644 --- a/daemon.py +++ b/daemon.py @@ -1206,34 +1206,52 @@ class ConnectionWizard(dbus.service.Object): return "100: Loaded Profile" @dbus.service.method('org.wicd.daemon.config') - def WriteWindowSize(self, width, height): + def WriteWindowSize(self, width, height, win_name): """Write the desired default window size""" + if win_name == "main": + height_str = "window_height" + width_str = "window_width" + else: + height_str = "pref_height" + width_str = "pref_width" config = ConfigParser.ConfigParser() config.read(self.app_conf) if config.has_section("Settings"): - config.set("Settings", "window_width", width) - config.set("Settings", "window_height", height) + config.set("Settings", width_str, width) + config.set("Settings", height_str, height) config.write(open(self.app_conf, "w")) @dbus.service.method('org.wicd.daemon.config') - def ReadWindowSize(self): + def ReadWindowSize(self, win_name): """Returns a list containing the desired default window size Attempts to read the default size from the config file, and if that fails, returns a default of 605 x 400. """ + if win_name == "main": + default_width = 605 + default_height = 400 + width_str = "window_width" + height_str = "window_height" + else: + default_width = 125 + default_height = 590 + width_str = "pref_width" + height_str = "pref_height" + + config = ConfigParser.ConfigParser() config.read(self.app_conf) if config.has_section("Settings"): - if config.has_option("Settings", "window_width"): - width = config.get("Settings", "window_width") + if config.has_option("Settings", width_str): + width = config.get("Settings", width_str) else: - width = 605 - if config.has_option("Settings", "window_height"): - height = config.get("Settings", "window_height") + width = default_width + if config.has_option("Settings", height_str): + height = config.get("Settings", height_str) else: - height = 400 + height = default_height size = [] size.append(int(width)) size.append(int(height)) diff --git a/data/wicd.glade b/data/wicd.glade index f08f13e..2513c2e 100644 --- a/data/wicd.glade +++ b/data/wicd.glade @@ -446,600 +446,619 @@ Preferences + 125 + 590 + . GDK_WINDOW_TYPE_HINT_DIALOG True - + True True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + GTK_POLICY_NEVER + GTK_POLICY_AUTOMATIC - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 + GTK_RESIZE_QUEUE - + True + True - - 75 + True - WPA Supplicant Driver: - - - - - - - - False - False - 1 - - - - - True - - - 260 - True - Wireless Interface: - - - - - 200 - True - True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + + + True + + + 75 + True + WPA Supplicant Driver: + + + + + + + + False + False + 1 + + + + + True + + + 260 + True + Wireless Interface: + + + + + 200 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + False + 1 + + + + + False + False + 1 + + + + + True + + + 260 + True + Wired Interface: + + + + + 200 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + False + 1 + + + + + False + False + 2 + + + + + True + True + Use global DNS servers + True + 0 + True + + + False + 3 + + + + + True + + + 170 + True + DNS 1 + + + False + False + + + + + 200 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + False + 1 + + + + + False + False + 4 + + + + + True + + + 170 + True + DNS 2 + + + False + False + + + + + 200 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + False + 1 + + + + + False + False + 5 + + + + + True + + + 170 + True + DNS 3 + + + False + False + + + + + 200 + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + False + 1 + + + + + False + 6 + + + + + True + True + Always show wired interface + True + 0 + True + + + False + False + 7 + + + + + True + True + Automatically reconnect on connection loss + True + 0 + True + + + False + False + 8 + + + + + True + True + Enable Debug Mode + True + 0 + True + + + False + False + 9 + + + + + True + True + Use dBm to measure signal strength + True + 0 + True + + + False + False + 10 + + + + + 2 + 8 + True + + + False + 11 + + + + + True + Wired Autoconnect Setting: + True + + + False + False + 12 + + + + + True + True + Use default profile on wired autoconnect + True + 0 + True + True + + + False + 13 + + + + + True + True + Prompt for profile on wired autoconnect + True + 0 + True + True + pref_use_def_radio + + + False + 14 + + + + + True + True + Use last profile on wired autoconnect + True + 0 + True + True + pref_use_def_radio + + + False + 15 + + + + + + + True + General Settings + + + tab + False + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + DHCP Client: + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Automatic (recommended) + 0 + True + True + + + 1 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + dhclient + 0 + True + True + dhcp_auto_radio + + + 2 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + dhcpcd + 0 + True + True + dhcp_auto_radio + + + 3 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + pump + 0 + True + True + dhcp_auto_radio + + + 4 + + + + + False + False + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + 4 + 1 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Wired Link Detection: + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Automatic (recommended) + 0 + True + True + + + 1 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + ethtool + 0 + True + True + link_auto_radio + + + 2 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + mii-tool + 0 + True + True + link_auto_radio + + + 3 + + + + + False + False + 2 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + 4 + 3 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Route Table Flushing: + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Automatic (recommended) + 0 + True + True + + + 1 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + ip + 0 + True + True + flush_auto_radio + + + 2 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + route + 0 + True + True + flush_auto_radio + + + 3 + + + + + False + False + 4 + + - False - False 1 - - - False - False - 1 - - - - - True - - 260 + True - Wired Interface: - - - - - 200 - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + External Programs - False - False + tab 1 + False - - False - False - 2 - - - - - True - True - Use global DNS servers - True - 0 - True - - - False - 3 - - - - - True - - - 170 - True - DNS 1 - - - False - False - - - - - 200 - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - False - False - 1 - - - - - False - False - 4 - - - - - True - - - 170 - True - DNS 2 - - - False - False - - - - - 200 - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - False - False - 1 - - - - - False - False - 5 - - - - - True - - - 170 - True - DNS 3 - - - False - False - - - - - 200 - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - False - False - 1 - - - - - False - 6 - - - - - True - True - Always show wired interface - True - 0 - True - - - False - False - 7 - - - - - True - True - Automatically reconnect on connection loss - True - 0 - True - - - False - False - 8 - - - - - True - True - Enable Debug Mode - True - 0 - True - - - False - False - 9 - - - - - True - True - Use dBm to measure signal strength - True - 0 - True - - - False - False - 10 - - - - - 2 - 8 - True - - - False - 11 - - - - - True - Wired Autoconnect Setting: - True - - - False - False - 12 - - - - - True - True - Use default profile on wired autoconnect - True - 0 - True - True - - - False - 13 - - - - - True - True - Prompt for profile on wired autoconnect - True - 0 - True - True - pref_use_def_radio - - - False - 14 - - - - - True - True - Use last profile on wired autoconnect - True - 0 - True - True - pref_use_def_radio - - - False - 15 - - - - True - General Settings - - - tab - False - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - DHCP Client: - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Automatic (recommended) - 0 - True - True - - - 1 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - dhclient - 0 - True - True - dhcp_auto_radio - - - 2 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - dhcpcd - 0 - True - True - dhcp_auto_radio - - - 3 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - pump - 0 - True - True - dhcp_auto_radio - - - 4 - - - - - False - False - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - False - 4 - 1 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 5 - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Wired Link Detection: - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Automatic (recommended) - 0 - True - True - - - 1 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - ethtool - 0 - True - True - link_auto_radio - - - 2 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - mii-tool - 0 - True - True - link_auto_radio - - - 3 - - - - - False - False - 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - False - 4 - 3 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Route Table Flushing: - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Automatic (recommended) - 0 - True - True - - - 1 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - ip - 0 - True - True - flush_auto_radio - - - 2 - - - - - True - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - route - 0 - True - True - flush_auto_radio - - - 3 - - - - - False - False - 4 - - - - - 1 - - - - - True - External Programs - - - tab - 1 - False - - 2 @@ -1050,7 +1069,7 @@ True GTK_BUTTONBOX_END - + True True True @@ -1060,7 +1079,7 @@ - + True True True diff --git a/gui.py b/gui.py index fc2b341..4e30abe 100644 --- a/gui.py +++ b/gui.py @@ -392,7 +392,7 @@ class AdvancedSettingsDialog(gtk.Dialog): def toggle_ip_checkbox(self, widget=None): """Toggle entries/checkboxes based on the static IP checkbox. """ # Should disable the static IP text boxes, and also enable the DNS - #checkbox when disabled and disable when enabled. + # checkbox when disabled and disable when enabled. if self.chkbox_static_ip.get_active(): self.chkbox_static_dns.set_active(True) self.chkbox_static_dns.set_sensitive(False) @@ -1167,6 +1167,7 @@ class appGui: self.is_visible = True self.pulse_active = False self.standalone = standalone + self.wpadrivercombo = None self.window.connect('delete_event', self.exit) @@ -1179,7 +1180,7 @@ class appGui: else: self.wTree.get_widget("iface_menu_enable_wired").hide() - size = config.ReadWindowSize() + size = config.ReadWindowSize("main") width = size[0] height = size[1] if width > -1 and height > -1: @@ -1255,6 +1256,11 @@ class appGui: """ Displays a general settings dialog. """ dialog = self.wTree.get_widget("pref_dialog") dialog.set_title(language['preferences']) + size = config.ReadWindowSize("pref") + width = size[0] + height = size[1] + if width > -1 and height > -1: + dialog.resize(int(width), int(height)) wiredcheckbox = self.wTree.get_widget("pref_always_check") wiredcheckbox.set_label(language['wired_always_on']) wiredcheckbox.set_active(wired.GetAlwaysShowWiredInterface()) @@ -1442,8 +1448,10 @@ class appGui: else: flush_tool = misc.ROUTE daemon.SetFlushTool(flush_tool) - + dialog.hide() + [width, height] = dialog.get_size() + config.WriteWindowSize(width, height, "pref") def set_label(self, glade_str, label): """ Sets the label for the given widget in wicd.glade. """ @@ -1903,7 +1911,7 @@ class appGui: """ self.window.hide() [width, height] = self.window.get_size() - config.WriteWindowSize(width, height) + config.WriteWindowSize(width, height, "main") if self.standalone: self.window.destroy()