diff options
author | Dan Winship <danw@gnome.org> | 2013-02-13 15:14:24 -0500 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-02-14 14:43:13 -0500 |
commit | 510998041afa1310059a5123ea8cfbeb33f36c1d (patch) | |
tree | 675a444df1af91e3f40da90e509daaaecd932d30 | |
parent | 9b15b77abfedd07e423b5b9ac881074827873a00 (diff) | |
download | gnome-control-center-510998041afa1310059a5123ea8cfbeb33f36c1d.tar.gz |
network: mark connection editor changed when editing IPv4/IPv6 pages
When this got rewritten to be different from nm-connection-editor's,
some of the ce_page_changed() calls accidentally got dropped, so
certain changes on these pages would not cause the "Apply" button to
become sensitive.
https://bugzilla.gnome.org/show_bug.cgi?id=693659
-rw-r--r-- | panels/network/connection-editor/ce-page-ip4.c | 11 | ||||
-rw-r--r-- | panels/network/connection-editor/ce-page-ip6.c | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/panels/network/connection-editor/ce-page-ip4.c b/panels/network/connection-editor/ce-page-ip4.c index e58ab06ae..2cd5cc258 100644 --- a/panels/network/connection-editor/ce-page-ip4.c +++ b/panels/network/connection-editor/ce-page-ip4.c @@ -85,6 +85,14 @@ method_changed (GtkComboBox *combo, CEPageIP4 *page) } static void +switch_toggled (GObject *object, + GParamSpec *pspec, + CEPage *page) +{ + ce_page_changed (page); +} + +static void update_separator (GtkWidget **separator, GtkWidget *child, GtkWidget *before, @@ -397,6 +405,7 @@ add_dns_section (CEPageIP4 *page) gtk_container_add (GTK_CONTAINER (frame), list); page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch")); gtk_switch_set_active (page->auto_dns, !nm_setting_ip4_config_get_ignore_auto_dns (page->setting)); + g_signal_connect (page->auto_dns, "notify::active", switch_toggled, page); add_section_toolbar (page, widget, G_CALLBACK (add_empty_dns_row)); @@ -535,6 +544,7 @@ add_routes_section (CEPageIP4 *page) gtk_container_add (GTK_CONTAINER (frame), list); page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch")); gtk_switch_set_active (page->auto_routes, !nm_setting_ip4_config_get_ignore_auto_routes (page->setting)); + g_signal_connect (page->auto_routes, "notify::active", switch_toggled, page); add_section_toolbar (page, widget, G_CALLBACK (add_empty_route_row)); @@ -588,6 +598,7 @@ connect_ip4_page (CEPageIP4 *page) add_routes_section (page); page->enabled = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "switch_enable")); + g_signal_connect (page->enabled, "notify::active", switch_toggled, page); str_method = nm_setting_ip4_config_get_method (page->setting); disabled = g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0; diff --git a/panels/network/connection-editor/ce-page-ip6.c b/panels/network/connection-editor/ce-page-ip6.c index 3a4fcd7c1..810a9845a 100644 --- a/panels/network/connection-editor/ce-page-ip6.c +++ b/panels/network/connection-editor/ce-page-ip6.c @@ -87,6 +87,14 @@ method_changed (GtkComboBox *combo, CEPageIP6 *page) } static void +switch_toggled (GObject *object, + GParamSpec *pspec, + CEPage *page) +{ + ce_page_changed (page); +} + +static void update_separator (GtkWidget **separator, GtkWidget *child, GtkWidget *before, @@ -401,6 +409,7 @@ add_dns_section (CEPageIP6 *page) gtk_container_add (GTK_CONTAINER (frame), list); page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch")); gtk_switch_set_active (page->auto_dns, !nm_setting_ip6_config_get_ignore_auto_dns (page->setting)); + g_signal_connect (page->auto_dns, "notify::active", switch_toggled, page); add_section_toolbar (page, widget, G_CALLBACK (add_empty_dns_row)); @@ -543,6 +552,7 @@ add_routes_section (CEPageIP6 *page) gtk_container_add (GTK_CONTAINER (frame), list); page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch")); gtk_switch_set_active (page->auto_routes, !nm_setting_ip6_config_get_ignore_auto_routes (page->setting)); + g_signal_connect (page->auto_routes, "notify::active", switch_toggled, page); add_section_toolbar (page, widget, G_CALLBACK (add_empty_route_row)); @@ -586,6 +596,7 @@ connect_ip6_page (CEPageIP6 *page) add_routes_section (page); page->enabled = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "switch_enable")); + g_signal_connect (page->enabled, "notify::active", switch_toggled, page); str_method = nm_setting_ip6_config_get_method (page->setting); disabled = g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0; |