network: Remove shared callback and replace with a method

This commit is contained in:
Robert Ancell 2019-10-15 10:33:17 +13:00 committed by Georges Basile Stavracas Neto
parent f556af6e67
commit 8a3da8b36d
11 changed files with 89 additions and 82 deletions

View file

@ -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");

View file

@ -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)

View file

@ -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"));

View file

@ -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)

View file

@ -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,

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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));

View file

@ -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.

View file

@ -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 */