diff --git a/panels/network/wireless-security/eap-method-fast.c b/panels/network/wireless-security/eap-method-fast.c index 4ec3696fd..74666a39f 100644 --- a/panels/network/wireless-security/eap-method-fast.c +++ b/panels/network/wireless-security/eap-method-fast.c @@ -220,7 +220,7 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data) eap_method_add_to_size_group (eap, method->size_group); gtk_container_add (GTK_CONTAINER (vbox), eap_widget); - wireless_security_changed_cb (combo, method->sec_parent); + wireless_security_notify_changed (method->sec_parent); } static GtkWidget * @@ -318,7 +318,13 @@ pac_toggled_cb (GtkWidget *widget, gpointer user_data) gtk_widget_set_sensitive (provision_combo, enabled); - wireless_security_changed_cb (widget, method->sec_parent); + wireless_security_notify_changed (method->sec_parent); +} + +static void +changed_cb (EAPMethodFAST *self) +{ + wireless_security_notify_changed (self->sec_parent); } EAPMethodFAST * @@ -376,9 +382,7 @@ eap_method_fast_new (WirelessSecurity *ws_parent, } } gtk_widget_set_sensitive (widget, provisioning_enabled); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_provision_checkbutton")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), provisioning_enabled); @@ -387,18 +391,14 @@ eap_method_fast_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_anon_identity_entry")); if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_fast_pac_file_button")); g_assert (widget); gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE); gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget), _("Choose a PAC file")); - g_signal_connect (G_OBJECT (widget), "selection-changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "selection-changed", G_CALLBACK (changed_cb), method); filter = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter, "*.pac"); diff --git a/panels/network/wireless-security/eap-method-leap.c b/panels/network/wireless-security/eap-method-leap.c index bc6f56673..91b24d02b 100644 --- a/panels/network/wireless-security/eap-method-leap.c +++ b/panels/network/wireless-security/eap-method-leap.c @@ -182,6 +182,12 @@ destroy (EAPMethod *parent) g_signal_handlers_disconnect_by_data (method->show_password, method); } +static void +changed_cb (EAPMethodLEAP *self) +{ + wireless_security_notify_changed (self->ws_parent); +} + EAPMethodLEAP * eap_method_leap_new (WirelessSecurity *ws_parent, NMConnection *connection, @@ -222,9 +228,7 @@ eap_method_leap_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_leap_username_entry")); g_assert (widget); method->username_entry = GTK_ENTRY (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); if (secrets_only) gtk_widget_set_sensitive (widget, FALSE); @@ -232,9 +236,7 @@ eap_method_leap_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_leap_password_entry")); g_assert (widget); method->password_entry = GTK_ENTRY (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); /* Create password-storage popup menu for password entry under entry's secondary icon */ if (connection) diff --git a/panels/network/wireless-security/eap-method-peap.c b/panels/network/wireless-security/eap-method-peap.c index bc0ea7d94..aec1ea821 100644 --- a/panels/network/wireless-security/eap-method-peap.c +++ b/panels/network/wireless-security/eap-method-peap.c @@ -223,7 +223,7 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data) eap_method_add_to_size_group (eap, method->size_group); gtk_container_add (GTK_CONTAINER (vbox), eap_widget); - wireless_security_changed_cb (combo, method->sec_parent); + wireless_security_notify_changed (method->sec_parent); } static GtkWidget * @@ -321,6 +321,12 @@ update_secrets (EAPMethod *parent, NMConnection *connection) I_METHOD_COLUMN); } +static void +changed_cb (EAPMethodPEAP *self) +{ + wireless_security_notify_changed (self->sec_parent); +} + EAPMethodPEAP * eap_method_peap_new (WirelessSecurity *ws_parent, NMConnection *connection, @@ -360,9 +366,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent, g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) ca_cert_not_required_toggled, parent); - g_signal_connect (G_OBJECT (widget), "toggled", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method); widget_ca_not_required_checkbox = widget; widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")); @@ -370,9 +374,7 @@ eap_method_peap_new (WirelessSecurity *ws_parent, gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE); gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget), _("Choose a Certificate Authority certificate")); - g_signal_connect (G_OBJECT (widget), "selection-changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "selection-changed", G_CALLBACK (changed_cb), method); filter = eap_method_default_file_chooser_filter_new (FALSE); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter); if (connection && s_8021x) { @@ -404,16 +406,12 @@ eap_method_peap_new (WirelessSecurity *ws_parent, gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 2); } } - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_anon_identity_entry")); if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); if (secrets_only) { widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_peap_anon_identity_label")); diff --git a/panels/network/wireless-security/eap-method-simple.c b/panels/network/wireless-security/eap-method-simple.c index 0c40ef115..e58a27a66 100644 --- a/panels/network/wireless-security/eap-method-simple.c +++ b/panels/network/wireless-security/eap-method-simple.c @@ -197,7 +197,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection) static gboolean stuff_changed (EAPMethodSimple *method) { - wireless_security_changed_cb (NULL, method->ws_parent); + wireless_security_notify_changed (method->ws_parent); method->idle_func_id = 0; return FALSE; } @@ -277,6 +277,12 @@ destroy (EAPMethod *parent) nm_clear_g_source (&method->idle_func_id); } +static void +changed_cb (EAPMethodSimple *self) +{ + wireless_security_notify_changed (self->ws_parent); +} + EAPMethodSimple * eap_method_simple_new (WirelessSecurity *ws_parent, NMConnection *connection, @@ -320,9 +326,7 @@ eap_method_simple_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_simple_username_entry")); g_assert (widget); method->username_entry = GTK_ENTRY (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); if (method->flags & EAP_METHOD_SIMPLE_FLAG_SECRETS_ONLY) gtk_widget_set_sensitive (widget, FALSE); @@ -330,9 +334,7 @@ eap_method_simple_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_simple_password_entry")); g_assert (widget); method->password_entry = GTK_ENTRY (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); /* Create password-storage popup menu for password entry under entry's secondary icon */ if (connection) diff --git a/panels/network/wireless-security/eap-method-tls.c b/panels/network/wireless-security/eap-method-tls.c index 24c45f27f..c8c75666d 100644 --- a/panels/network/wireless-security/eap-method-tls.c +++ b/panels/network/wireless-security/eap-method-tls.c @@ -34,6 +34,7 @@ struct _EAPMethodTLS { EAPMethod parent; + WirelessSecurity *sec_parent; gboolean editing_connection; }; @@ -332,6 +333,12 @@ static void reset_filter (GtkWidget *widget, GParamSpec *spec, gpointer user_dat typedef const char * (*PathFunc) (NMSetting8021x *setting); typedef NMSetting8021xCKScheme (*SchemeFunc) (NMSetting8021x *setting); +static void +changed_cb (EAPMethodTLS *self) +{ + wireless_security_notify_changed (self->sec_parent); +} + static void setup_filepicker (GtkFileChooserButton *button, const char *title, @@ -368,9 +375,7 @@ setup_filepicker (GtkFileChooserButton *button, private_key_picker_helper (parent, filename, FALSE); } - g_signal_connect (button, "selection-changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (button, "selection-changed", G_CALLBACK (changed_cb), parent); filter = eap_method_default_file_chooser_filter_new (privkey); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (button), filter); @@ -450,6 +455,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent, NM_SETTING_802_1X_PHASE2_PRIVATE_KEY_PASSWORD : NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD; method = (EAPMethodTLS *) parent; + method->sec_parent = ws_parent; method->editing_connection = secrets_only ? FALSE : TRUE; if (connection) @@ -460,15 +466,11 @@ eap_method_tls_new (WirelessSecurity *ws_parent, g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) ca_cert_not_required_toggled, parent); - g_signal_connect (G_OBJECT (widget), "toggled", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_identity_entry")); g_assert (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); if (s_8021x && nm_setting_802_1x_get_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_identity (s_8021x)); @@ -504,9 +506,7 @@ eap_method_tls_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry")); g_assert (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); /* Create password-storage popup menu for password entry under entry's secondary icon */ nma_utils_setup_password_storage (widget, 0, (NMSetting *) s_8021x, parent->password_flags_name, diff --git a/panels/network/wireless-security/eap-method-ttls.c b/panels/network/wireless-security/eap-method-ttls.c index c93145c0d..195d30110 100644 --- a/panels/network/wireless-security/eap-method-ttls.c +++ b/panels/network/wireless-security/eap-method-ttls.c @@ -216,7 +216,7 @@ inner_auth_combo_changed_cb (GtkWidget *combo, gpointer user_data) eap_method_add_to_size_group (eap, method->size_group); gtk_container_add (GTK_CONTAINER (vbox), eap_widget); - wireless_security_changed_cb (combo, method->sec_parent); + wireless_security_notify_changed (method->sec_parent); } static GtkWidget * @@ -376,6 +376,12 @@ update_secrets (EAPMethod *parent, NMConnection *connection) I_METHOD_COLUMN); } +static void +changed_cb (EAPMethodTTLS *self) +{ + wireless_security_notify_changed (self->sec_parent); +} + EAPMethodTTLS * eap_method_ttls_new (WirelessSecurity *ws_parent, NMConnection *connection, @@ -415,9 +421,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent, g_signal_connect (G_OBJECT (widget), "toggled", (GCallback) ca_cert_not_required_toggled, parent); - g_signal_connect (G_OBJECT (widget), "toggled", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "toggled", G_CALLBACK (changed_cb), method); widget_ca_not_required_checkbox = widget; widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")); @@ -425,9 +429,7 @@ eap_method_ttls_new (WirelessSecurity *ws_parent, gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE); gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget), _("Choose a Certificate Authority certificate")); - g_signal_connect (G_OBJECT (widget), "selection-changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "selection-changed", G_CALLBACK (changed_cb), method); filter = eap_method_default_file_chooser_filter_new (FALSE); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter); if (connection && s_8021x) { @@ -444,15 +446,11 @@ eap_method_ttls_new (WirelessSecurity *ws_parent, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_anon_identity_entry")); if (s_8021x && nm_setting_802_1x_get_anonymous_identity (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_anonymous_identity (s_8021x)); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_ttls_domain_match_entry")); if (s_8021x && nm_setting_802_1x_get_domain_suffix_match (s_8021x)) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_domain_suffix_match (s_8021x)); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - ws_parent); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), method); widget = inner_auth_combo_init (method, connection, s_8021x, secrets_only); inner_auth_combo_changed_cb (widget, (gpointer) method); diff --git a/panels/network/wireless-security/wireless-security.c b/panels/network/wireless-security/wireless-security.c index 15ceb2b54..a235352c3 100644 --- a/panels/network/wireless-security/wireless-security.c +++ b/panels/network/wireless-security/wireless-security.c @@ -86,9 +86,8 @@ wireless_security_set_changed_notify (WirelessSecurity *sec, } void -wireless_security_changed_cb (GtkWidget *ignored, gpointer user_data) +wireless_security_notify_changed (WirelessSecurity *sec) { - WirelessSecurity *sec = WIRELESS_SECURITY (user_data); WirelessSecurityPrivate *priv = sec->priv; if (priv->changed_notify) @@ -434,7 +433,7 @@ ws_802_1x_auth_combo_changed (GtkWidget *combo, gtk_widget_grab_focus (eap_default_widget); } - wireless_security_changed_cb (combo, WIRELESS_SECURITY (sec)); + wireless_security_notify_changed (WIRELESS_SECURITY (sec)); } void diff --git a/panels/network/wireless-security/wireless-security.h b/panels/network/wireless-security/wireless-security.h index d093962e9..065a8fc8e 100644 --- a/panels/network/wireless-security/wireless-security.h +++ b/panels/network/wireless-security/wireless-security.h @@ -102,7 +102,7 @@ WirelessSecurity *wireless_security_init (gsize obj_size, WSDestroyFunc destroy, const char *ui_resource); -void wireless_security_changed_cb (GtkWidget *entry, gpointer user_data); +void wireless_security_notify_changed (WirelessSecurity *sec); void wireless_security_clear_ciphers (NMConnection *connection); diff --git a/panels/network/wireless-security/ws-leap.c b/panels/network/wireless-security/ws-leap.c index b24c2bc5f..95548c6ad 100644 --- a/panels/network/wireless-security/ws-leap.c +++ b/panels/network/wireless-security/ws-leap.c @@ -146,6 +146,12 @@ update_secrets (WirelessSecurity *parent, NMConnection *connection) (HelperSecretFunc) nm_setting_wireless_security_get_leap_password); } +static void +changed_cb (WirelessSecurityLEAP *self) +{ + wireless_security_notify_changed ((WirelessSecurity *) self); +} + WirelessSecurityLEAP * ws_leap_new (NMConnection *connection, gboolean secrets_only) { @@ -184,9 +190,7 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only) widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "leap_password_entry")); g_assert (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - sec); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec); /* Create password-storage popup menu for password entry under entry's secondary icon */ nma_utils_setup_password_storage (widget, 0, (NMSetting *) wsec, sec->password_flags_name, @@ -197,9 +201,7 @@ ws_leap_new (NMConnection *connection, gboolean secrets_only) widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "leap_username_entry")); g_assert (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - sec); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec); if (wsec) gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_wireless_security_get_leap_username (wsec)); diff --git a/panels/network/wireless-security/ws-wep-key.c b/panels/network/wireless-security/ws-wep-key.c index 8b3078318..ad0042a3d 100644 --- a/panels/network/wireless-security/ws-wep-key.c +++ b/panels/network/wireless-security/ws-wep-key.c @@ -78,7 +78,7 @@ key_index_combo_changed_cb (GtkWidget *combo, WirelessSecurity *parent) gtk_entry_set_text (GTK_ENTRY (entry), sec->keys[key_index]); sec->cur_index = key_index; - wireless_security_changed_cb (combo, parent); + wireless_security_notify_changed (parent); } static void @@ -250,6 +250,12 @@ update_secrets (WirelessSecurity *parent, NMConnection *connection) gtk_entry_set_text (GTK_ENTRY (widget), sec->keys[sec->cur_index]); } +static void +changed_cb (WirelessSecurityWEPKey *self) +{ + wireless_security_notify_changed ((WirelessSecurity *) self); +} + WirelessSecurityWEPKey * ws_wep_key_new (NMConnection *connection, NMWepKeyType type, @@ -307,9 +313,7 @@ ws_wep_key_new (NMConnection *connection, } } - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - sec); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec); g_signal_connect (G_OBJECT (widget), "insert-text", (GCallback) wep_entry_filter_cb, sec); @@ -348,9 +352,7 @@ ws_wep_key_new (NMConnection *connection, widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "auth_method_combo")); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), is_shared_key ? 1 : 0); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - sec); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec); /* Don't show auth method for adhoc (which always uses open-system) or * when in "simple" mode. diff --git a/panels/network/wireless-security/ws-wpa-psk.c b/panels/network/wireless-security/ws-wpa-psk.c index 702ff7d4b..ae3fde94e 100644 --- a/panels/network/wireless-security/ws-wpa-psk.c +++ b/panels/network/wireless-security/ws-wpa-psk.c @@ -174,6 +174,12 @@ update_secrets (WirelessSecurity *parent, NMConnection *connection) (HelperSecretFunc) nm_setting_wireless_security_get_psk); } +static void +changed_cb (WirelessSecurityWPAPSK *self) +{ + wireless_security_notify_changed ((WirelessSecurity *) self); +} + WirelessSecurityWPAPSK * ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only) { @@ -199,9 +205,7 @@ ws_wpa_psk_new (NMConnection *connection, gboolean secrets_only) widget = GTK_WIDGET (gtk_builder_get_object (parent->builder, "wpa_psk_entry")); g_assert (widget); - g_signal_connect (G_OBJECT (widget), "changed", - (GCallback) wireless_security_changed_cb, - sec); + g_signal_connect_swapped (widget, "changed", G_CALLBACK (changed_cb), sec); gtk_entry_set_width_chars (GTK_ENTRY (widget), 28); /* Create password-storage popup menu for password entry under entry's secondary icon */