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
This commit is contained in:
Dan Winship 2013-02-13 15:14:24 -05:00
parent 9b15b77abf
commit 510998041a
2 changed files with 22 additions and 0 deletions

View file

@ -84,6 +84,14 @@ method_changed (GtkComboBox *combo, CEPageIP4 *page)
ce_page_changed (CE_PAGE (page)); ce_page_changed (CE_PAGE (page));
} }
static void
switch_toggled (GObject *object,
GParamSpec *pspec,
CEPage *page)
{
ce_page_changed (page);
}
static void static void
update_separator (GtkWidget **separator, update_separator (GtkWidget **separator,
GtkWidget *child, GtkWidget *child,
@ -397,6 +405,7 @@ add_dns_section (CEPageIP4 *page)
gtk_container_add (GTK_CONTAINER (frame), list); gtk_container_add (GTK_CONTAINER (frame), list);
page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch")); 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)); 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)); 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); gtk_container_add (GTK_CONTAINER (frame), list);
page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch")); 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)); 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)); add_section_toolbar (page, widget, G_CALLBACK (add_empty_route_row));
@ -588,6 +598,7 @@ connect_ip4_page (CEPageIP4 *page)
add_routes_section (page); add_routes_section (page);
page->enabled = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "switch_enable")); 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); str_method = nm_setting_ip4_config_get_method (page->setting);
disabled = g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0; disabled = g_strcmp0 (str_method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0;

View file

@ -86,6 +86,14 @@ method_changed (GtkComboBox *combo, CEPageIP6 *page)
ce_page_changed (CE_PAGE (page)); ce_page_changed (CE_PAGE (page));
} }
static void
switch_toggled (GObject *object,
GParamSpec *pspec,
CEPage *page)
{
ce_page_changed (page);
}
static void static void
update_separator (GtkWidget **separator, update_separator (GtkWidget **separator,
GtkWidget *child, GtkWidget *child,
@ -401,6 +409,7 @@ add_dns_section (CEPageIP6 *page)
gtk_container_add (GTK_CONTAINER (frame), list); gtk_container_add (GTK_CONTAINER (frame), list);
page->auto_dns = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_dns_switch")); 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)); 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)); 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); gtk_container_add (GTK_CONTAINER (frame), list);
page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch")); 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)); 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)); add_section_toolbar (page, widget, G_CALLBACK (add_empty_route_row));
@ -586,6 +596,7 @@ connect_ip6_page (CEPageIP6 *page)
add_routes_section (page); add_routes_section (page);
page->enabled = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "switch_enable")); 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); str_method = nm_setting_ip6_config_get_method (page->setting);
disabled = g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0; disabled = g_strcmp0 (str_method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0;