network: Pass widget references rather than relying on names
The existing code relied on using GtkBuilder, which will no longer work when we switch to GtkTemplate.
This commit is contained in:
parent
823a1dbdaa
commit
4955371660
21 changed files with 173 additions and 232 deletions
|
@ -138,7 +138,7 @@ validate (CEPage *cepage, NMConnection *connection, GError **error)
|
||||||
s_con = nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
|
s_con = nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
|
||||||
nm_connection_add_setting (tmp_connection, nm_setting_duplicate (s_con));
|
nm_connection_add_setting (tmp_connection, nm_setting_duplicate (s_con));
|
||||||
|
|
||||||
ws_802_1x_fill_connection (page->security, "wpa_eap_auth_combo", tmp_connection);
|
ws_802_1x_fill_connection (GTK_COMBO_BOX (gtk_builder_get_object (page->security->builder, "wpa_eap_auth_combo")), tmp_connection);
|
||||||
|
|
||||||
s_8021x = nm_connection_get_setting (tmp_connection, NM_TYPE_SETTING_802_1X);
|
s_8021x = nm_connection_get_setting (tmp_connection, NM_TYPE_SETTING_802_1X);
|
||||||
nm_connection_add_setting (connection, NM_SETTING (g_object_ref (s_8021x)));
|
nm_connection_add_setting (connection, NM_SETTING (g_object_ref (s_8021x)));
|
||||||
|
|
|
@ -264,10 +264,15 @@ connect_details_page (CEPageDetails *page)
|
||||||
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), strength_label);
|
panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), strength_label);
|
||||||
|
|
||||||
/* set IP entries */
|
/* set IP entries */
|
||||||
if (device_is_active)
|
panel_set_device_widgets (GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_ipv4")),
|
||||||
panel_set_device_widgets (CE_PAGE (page)->builder, page->device);
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "label_ipv4")),
|
||||||
else
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_ipv6")),
|
||||||
panel_set_device_widgets (CE_PAGE (page)->builder, NULL);
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "label_ipv6")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_dns")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "label_dns")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "heading_route")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "label_route")),
|
||||||
|
device_is_active ? page->device : NULL);
|
||||||
|
|
||||||
if (!device_is_active && CE_PAGE (page)->connection)
|
if (!device_is_active && CE_PAGE (page)->connection)
|
||||||
update_last_used (page, CE_PAGE (page)->connection);
|
update_last_used (page, CE_PAGE (page)->connection);
|
||||||
|
|
|
@ -425,7 +425,15 @@ nm_device_mobile_refresh_ui (NetDeviceMobile *device_mobile)
|
||||||
GTK_COMBO_BOX (widget));
|
GTK_COMBO_BOX (widget));
|
||||||
|
|
||||||
/* set IP entries */
|
/* set IP entries */
|
||||||
panel_set_device_widgets (device_mobile->builder, nm_device);
|
panel_set_device_widgets (GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "heading_ipv4")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "label_ipv4")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "heading_ipv6")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "label_ipv6")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "heading_dns")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "label_dns")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "heading_route")),
|
||||||
|
GTK_LABEL (gtk_builder_get_object (device_mobile->builder, "label_route")),
|
||||||
|
nm_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -375,25 +375,18 @@ panel_get_ip6_address_as_string (NMIPConfig *ip6_config)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
panel_set_device_widgets (GtkBuilder *builder, NMDevice *device)
|
panel_set_device_widgets (GtkLabel *heading_ipv4, GtkLabel *label_ipv4,
|
||||||
|
GtkLabel *heading_ipv6, GtkLabel *label_ipv6,
|
||||||
|
GtkLabel *heading_dns, GtkLabel *label_dns,
|
||||||
|
GtkLabel *heading_route, GtkLabel *label_route,
|
||||||
|
NMDevice *device)
|
||||||
{
|
{
|
||||||
GtkWidget *ipv4_heading, *ipv6_heading, *dns_heading, *route_heading;
|
|
||||||
GtkWidget *ipv4_widget, *ipv6_widget, *dns_widget, *route_widget;
|
|
||||||
g_autofree gchar *ipv4_text = NULL;
|
g_autofree gchar *ipv4_text = NULL;
|
||||||
g_autofree gchar *ipv6_text = NULL;
|
g_autofree gchar *ipv6_text = NULL;
|
||||||
g_autofree gchar *dns_text = NULL;
|
g_autofree gchar *dns_text = NULL;
|
||||||
g_autofree gchar *route_text = NULL;
|
g_autofree gchar *route_text = NULL;
|
||||||
gboolean has_ip4, has_ip6;
|
gboolean has_ip4, has_ip6;
|
||||||
|
|
||||||
ipv4_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_ipv4"));
|
|
||||||
ipv4_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_ipv4"));
|
|
||||||
ipv6_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_ipv6"));
|
|
||||||
ipv6_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_ipv6"));
|
|
||||||
dns_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_dns"));
|
|
||||||
dns_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_dns"));
|
|
||||||
route_heading = GTK_WIDGET (gtk_builder_get_object (builder, "heading_route"));
|
|
||||||
route_widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_route"));
|
|
||||||
|
|
||||||
if (device != NULL) {
|
if (device != NULL) {
|
||||||
NMIPConfig *ip4_config, *ip6_config;
|
NMIPConfig *ip4_config, *ip6_config;
|
||||||
|
|
||||||
|
@ -408,19 +401,19 @@ panel_set_device_widgets (GtkBuilder *builder, NMDevice *device)
|
||||||
ipv6_text = panel_get_ip6_address_as_string (ip6_config);
|
ipv6_text = panel_get_ip6_address_as_string (ip6_config);
|
||||||
}
|
}
|
||||||
|
|
||||||
panel_set_device_widget_details (GTK_LABEL (ipv4_heading), GTK_LABEL (ipv4_widget), ipv4_text);
|
panel_set_device_widget_details (heading_ipv4, label_ipv4, ipv4_text);
|
||||||
panel_set_device_widget_details (GTK_LABEL (ipv6_heading), GTK_LABEL (ipv6_widget), ipv6_text);
|
panel_set_device_widget_details (heading_ipv6, label_ipv6, ipv6_text);
|
||||||
panel_set_device_widget_details (GTK_LABEL (dns_heading), GTK_LABEL (dns_widget), dns_text);
|
panel_set_device_widget_details (heading_dns, label_dns, dns_text);
|
||||||
panel_set_device_widget_details (GTK_LABEL (route_heading), GTK_LABEL (route_widget), route_text);
|
panel_set_device_widget_details (heading_route, label_route, route_text);
|
||||||
|
|
||||||
has_ip4 = ipv4_text != NULL;
|
has_ip4 = ipv4_text != NULL;
|
||||||
has_ip6 = ipv6_text != NULL;
|
has_ip6 = ipv6_text != NULL;
|
||||||
if (has_ip4 && has_ip6) {
|
if (has_ip4 && has_ip6) {
|
||||||
gtk_label_set_label (GTK_LABEL (ipv4_heading), _("IPv4 Address"));
|
gtk_label_set_label (heading_ipv4, _("IPv4 Address"));
|
||||||
gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IPv6 Address"));
|
gtk_label_set_label (heading_ipv6, _("IPv6 Address"));
|
||||||
} else if (has_ip4) {
|
} else if (has_ip4) {
|
||||||
gtk_label_set_label (GTK_LABEL (ipv4_heading), _("IP Address"));
|
gtk_label_set_label (heading_ipv4, _("IP Address"));
|
||||||
} else if (has_ip6) {
|
} else if (has_ip6) {
|
||||||
gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IP Address"));
|
gtk_label_set_label (heading_ipv6, _("IP Address"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,10 @@ gchar *panel_device_status_to_localized_string (NMDevice *nm_dev
|
||||||
gboolean panel_set_device_widget_details (GtkLabel *heading,
|
gboolean panel_set_device_widget_details (GtkLabel *heading,
|
||||||
GtkLabel *widget,
|
GtkLabel *widget,
|
||||||
const gchar *value);
|
const gchar *value);
|
||||||
void panel_set_device_widgets (GtkBuilder *builder,
|
void panel_set_device_widgets (GtkLabel *heading_ipv4, GtkLabel *label_ipv4,
|
||||||
|
GtkLabel *heading_ipv6, GtkLabel *label_ipv6,
|
||||||
|
GtkLabel *heading_dns, GtkLabel *label_dns,
|
||||||
|
GtkLabel *heading_route, GtkLabel *label_route,
|
||||||
NMDevice *device);
|
NMDevice *device);
|
||||||
gchar *panel_get_ip4_address_as_string (NMIPConfig *config, const gchar *what);
|
gchar *panel_get_ip4_address_as_string (NMIPConfig *config, const gchar *what);
|
||||||
gchar *panel_get_ip4_dns_as_string (NMIPConfig *config);
|
gchar *panel_get_ip4_dns_as_string (NMIPConfig *config);
|
||||||
|
|
|
@ -299,7 +299,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
eap_method_phase2_update_secrets_helper (parent,
|
eap_method_phase2_update_secrets_helper (parent,
|
||||||
connection,
|
connection,
|
||||||
"eap_fast_inner_auth_combo",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "eap_fast_inner_auth_combo")),
|
||||||
I_METHOD_COLUMN);
|
I_METHOD_COLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,8 +128,7 @@ static void
|
||||||
update_secrets (EAPMethod *parent, NMConnection *connection)
|
update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
helper_fill_secret_entry (connection,
|
helper_fill_secret_entry (connection,
|
||||||
parent->builder,
|
GTK_ENTRY (gtk_builder_get_object (parent->builder, "eap_leap_password_entry")),
|
||||||
"eap_leap_password_entry",
|
|
||||||
NM_TYPE_SETTING_802_1X,
|
NM_TYPE_SETTING_802_1X,
|
||||||
(HelperSecretFunc) nm_setting_802_1x_get_password);
|
(HelperSecretFunc) nm_setting_802_1x_get_password);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,11 +59,13 @@ validate (EAPMethod *parent, GError **error)
|
||||||
gboolean valid = FALSE;
|
gboolean valid = FALSE;
|
||||||
g_autoptr(GError) local_error = NULL;
|
g_autoptr(GError) local_error = NULL;
|
||||||
|
|
||||||
if (!eap_method_validate_filepicker (parent->builder, "eap_peap_ca_cert_button", TYPE_CA_CERT, NULL, NULL, &local_error)) {
|
if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")),
|
||||||
|
TYPE_CA_CERT, NULL, NULL, &local_error)) {
|
||||||
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-PEAP CA certificate: %s"), local_error->message);
|
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-PEAP CA certificate: %s"), local_error->message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (eap_method_ca_cert_required (parent->builder, "eap_peap_ca_cert_not_required_checkbox", "eap_peap_ca_cert_button")) {
|
if (eap_method_ca_cert_required (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")))) {
|
||||||
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-PEAP CA certificate: no certificate specified"));
|
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-PEAP CA certificate: no certificate specified"));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -84,7 +86,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
|
||||||
{
|
{
|
||||||
EAPMethod *parent = user_data;
|
EAPMethod *parent = user_data;
|
||||||
|
|
||||||
eap_method_ca_cert_not_required_toggled (parent->builder, "eap_peap_ca_cert_not_required_checkbox", "eap_peap_ca_cert_button");
|
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_peap_ca_cert_button")));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -314,7 +317,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
eap_method_phase2_update_secrets_helper (parent,
|
eap_method_phase2_update_secrets_helper (parent,
|
||||||
connection,
|
connection,
|
||||||
"eap_peap_inner_auth_combo",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "eap_peap_inner_auth_combo")),
|
||||||
I_METHOD_COLUMN);
|
I_METHOD_COLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -189,8 +189,7 @@ static void
|
||||||
update_secrets (EAPMethod *parent, NMConnection *connection)
|
update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
helper_fill_secret_entry (connection,
|
helper_fill_secret_entry (connection,
|
||||||
parent->builder,
|
GTK_ENTRY (gtk_builder_get_object (parent->builder, "eap_simple_password_entry")),
|
||||||
"eap_simple_password_entry",
|
|
||||||
NM_TYPE_SETTING_802_1X,
|
NM_TYPE_SETTING_802_1X,
|
||||||
(HelperSecretFunc) nm_setting_802_1x_get_password);
|
(HelperSecretFunc) nm_setting_802_1x_get_password);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,13 +73,15 @@ validate (EAPMethod *parent, GError **error)
|
||||||
widget_unset_error (widget);
|
widget_unset_error (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!eap_method_validate_filepicker (parent->builder, "eap_tls_ca_cert_button", TYPE_CA_CERT, NULL, NULL, &ca_cert_error)) {
|
if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")),
|
||||||
|
TYPE_CA_CERT, NULL, NULL, &ca_cert_error)) {
|
||||||
widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
|
widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: %s"), ca_cert_error->message);
|
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: %s"), ca_cert_error->message);
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
}
|
}
|
||||||
} else if (eap_method_ca_cert_required (parent->builder, "eap_tls_ca_cert_not_required_checkbox", "eap_tls_ca_cert_button")) {
|
} else if (eap_method_ca_cert_required (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")))) {
|
||||||
widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
|
widget_set_error (GTK_WIDGET (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
|
||||||
if (ret) {
|
if (ret) {
|
||||||
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: no certificate specified"));
|
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: no certificate specified"));
|
||||||
|
@ -91,8 +93,7 @@ validate (EAPMethod *parent, GError **error)
|
||||||
g_assert (widget);
|
g_assert (widget);
|
||||||
password = gtk_entry_get_text (GTK_ENTRY (widget));
|
password = gtk_entry_get_text (GTK_ENTRY (widget));
|
||||||
|
|
||||||
if (!eap_method_validate_filepicker (parent->builder,
|
if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_private_key_button")),
|
||||||
"eap_tls_private_key_button",
|
|
||||||
TYPE_PRIVATE_KEY,
|
TYPE_PRIVATE_KEY,
|
||||||
password,
|
password,
|
||||||
&format,
|
&format,
|
||||||
|
@ -105,7 +106,8 @@ validate (EAPMethod *parent, GError **error)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
|
if (format != NM_SETTING_802_1X_CK_FORMAT_PKCS12) {
|
||||||
if (!eap_method_validate_filepicker (parent->builder, "eap_tls_user_cert_button", TYPE_CLIENT_CERT, NULL, NULL, &user_cert_error)) {
|
if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_button")),
|
||||||
|
TYPE_CLIENT_CERT, NULL, NULL, &user_cert_error)) {
|
||||||
if (ret) {
|
if (ret) {
|
||||||
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS user-certificate: %s"), user_cert_error->message);
|
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS user-certificate: %s"), user_cert_error->message);
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
|
@ -122,7 +124,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
|
||||||
{
|
{
|
||||||
EAPMethod *parent = user_data;
|
EAPMethod *parent = user_data;
|
||||||
|
|
||||||
eap_method_ca_cert_not_required_toggled (parent->builder, "eap_tls_ca_cert_not_required_checkbox", "eap_tls_ca_cert_button");
|
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -330,8 +333,7 @@ typedef const char * (*PathFunc) (NMSetting8021x *setting);
|
||||||
typedef NMSetting8021xCKScheme (*SchemeFunc) (NMSetting8021x *setting);
|
typedef NMSetting8021xCKScheme (*SchemeFunc) (NMSetting8021x *setting);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setup_filepicker (GtkBuilder *builder,
|
setup_filepicker (GtkFileChooserButton *button,
|
||||||
const char *name,
|
|
||||||
const char *title,
|
const char *title,
|
||||||
WirelessSecurity *ws_parent,
|
WirelessSecurity *ws_parent,
|
||||||
EAPMethod *parent,
|
EAPMethod *parent,
|
||||||
|
@ -341,20 +343,17 @@ setup_filepicker (GtkBuilder *builder,
|
||||||
gboolean privkey,
|
gboolean privkey,
|
||||||
gboolean client_cert)
|
gboolean client_cert)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
GtkFileFilter *filter;
|
GtkFileFilter *filter;
|
||||||
const char *filename = NULL;
|
const char *filename = NULL;
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
|
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (button), TRUE);
|
||||||
g_assert (widget);
|
gtk_file_chooser_button_set_title (button, title);
|
||||||
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), TRUE);
|
|
||||||
gtk_file_chooser_button_set_title (GTK_FILE_CHOOSER_BUTTON (widget), title);
|
|
||||||
|
|
||||||
if (s_8021x && path_func && scheme_func) {
|
if (s_8021x && path_func && scheme_func) {
|
||||||
if (scheme_func (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH) {
|
if (scheme_func (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH) {
|
||||||
filename = path_func (s_8021x);
|
filename = path_func (s_8021x);
|
||||||
if (filename)
|
if (filename)
|
||||||
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), filename);
|
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (button), filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -362,19 +361,19 @@ setup_filepicker (GtkBuilder *builder,
|
||||||
* and desensitize the user cert button.
|
* and desensitize the user cert button.
|
||||||
*/
|
*/
|
||||||
if (privkey) {
|
if (privkey) {
|
||||||
g_signal_connect (G_OBJECT (widget), "selection-changed",
|
g_signal_connect (button, "selection-changed",
|
||||||
(GCallback) private_key_picker_file_set_cb,
|
(GCallback) private_key_picker_file_set_cb,
|
||||||
parent);
|
parent);
|
||||||
if (filename)
|
if (filename)
|
||||||
private_key_picker_helper (parent, filename, FALSE);
|
private_key_picker_helper (parent, filename, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (widget), "selection-changed",
|
g_signal_connect (button, "selection-changed",
|
||||||
(GCallback) wireless_security_changed_cb,
|
(GCallback) wireless_security_changed_cb,
|
||||||
ws_parent);
|
ws_parent);
|
||||||
|
|
||||||
filter = eap_method_default_file_chooser_filter_new (privkey);
|
filter = eap_method_default_file_chooser_filter_new (privkey);
|
||||||
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (widget), filter);
|
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (button), filter);
|
||||||
|
|
||||||
/* For some reason, GTK+ calls set_current_filter (..., NULL) from
|
/* For some reason, GTK+ calls set_current_filter (..., NULL) from
|
||||||
* gtkfilechooserdefault.c::show_and_select_files_finished_loading() on our
|
* gtkfilechooserdefault.c::show_and_select_files_finished_loading() on our
|
||||||
|
@ -382,7 +381,7 @@ setup_filepicker (GtkBuilder *builder,
|
||||||
* it gets cleared.
|
* it gets cleared.
|
||||||
*/
|
*/
|
||||||
if (client_cert)
|
if (client_cert)
|
||||||
g_signal_connect (G_OBJECT (widget), "notify::filter", (GCallback) reset_filter, filter);
|
g_signal_connect (button, "notify::filter", (GCallback) reset_filter, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -406,8 +405,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
}
|
}
|
||||||
|
|
||||||
helper_fill_secret_entry (connection,
|
helper_fill_secret_entry (connection,
|
||||||
parent->builder,
|
GTK_ENTRY (gtk_builder_get_object (parent->builder, "eap_tls_private_key_password_entry")),
|
||||||
"eap_tls_private_key_password_entry",
|
|
||||||
NM_TYPE_SETTING_802_1X,
|
NM_TYPE_SETTING_802_1X,
|
||||||
password_func);
|
password_func);
|
||||||
|
|
||||||
|
@ -474,19 +472,19 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
|
||||||
if (s_8021x && nm_setting_802_1x_get_identity (s_8021x))
|
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));
|
gtk_entry_set_text (GTK_ENTRY (widget), nm_setting_802_1x_get_identity (s_8021x));
|
||||||
|
|
||||||
setup_filepicker (parent->builder, "eap_tls_user_cert_button",
|
setup_filepicker (GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_user_cert_button")),
|
||||||
_("Choose your personal certificate"),
|
_("Choose your personal certificate"),
|
||||||
ws_parent, parent, s_8021x,
|
ws_parent, parent, s_8021x,
|
||||||
phase2 ? nm_setting_802_1x_get_phase2_client_cert_scheme : nm_setting_802_1x_get_client_cert_scheme,
|
phase2 ? nm_setting_802_1x_get_phase2_client_cert_scheme : nm_setting_802_1x_get_client_cert_scheme,
|
||||||
phase2 ? nm_setting_802_1x_get_phase2_client_cert_path : nm_setting_802_1x_get_client_cert_path,
|
phase2 ? nm_setting_802_1x_get_phase2_client_cert_path : nm_setting_802_1x_get_client_cert_path,
|
||||||
FALSE, TRUE);
|
FALSE, TRUE);
|
||||||
setup_filepicker (parent->builder, "eap_tls_ca_cert_button",
|
setup_filepicker (GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_ca_cert_button")),
|
||||||
_("Choose a Certificate Authority certificate"),
|
_("Choose a Certificate Authority certificate"),
|
||||||
ws_parent, parent, s_8021x,
|
ws_parent, parent, s_8021x,
|
||||||
phase2 ? nm_setting_802_1x_get_phase2_ca_cert_scheme : nm_setting_802_1x_get_ca_cert_scheme,
|
phase2 ? nm_setting_802_1x_get_phase2_ca_cert_scheme : nm_setting_802_1x_get_ca_cert_scheme,
|
||||||
phase2 ? nm_setting_802_1x_get_phase2_ca_cert_path : nm_setting_802_1x_get_ca_cert_path,
|
phase2 ? nm_setting_802_1x_get_phase2_ca_cert_path : nm_setting_802_1x_get_ca_cert_path,
|
||||||
FALSE, FALSE);
|
FALSE, FALSE);
|
||||||
setup_filepicker (parent->builder, "eap_tls_private_key_button",
|
setup_filepicker (GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (parent->builder, "eap_tls_private_key_button")),
|
||||||
_("Choose your private key"),
|
_("Choose your private key"),
|
||||||
ws_parent, parent, s_8021x,
|
ws_parent, parent, s_8021x,
|
||||||
phase2 ? nm_setting_802_1x_get_phase2_private_key_scheme : nm_setting_802_1x_get_private_key_scheme,
|
phase2 ? nm_setting_802_1x_get_phase2_private_key_scheme : nm_setting_802_1x_get_private_key_scheme,
|
||||||
|
|
|
@ -59,11 +59,13 @@ validate (EAPMethod *parent, GError **error)
|
||||||
gboolean valid = FALSE;
|
gboolean valid = FALSE;
|
||||||
g_autoptr(GError) local_error = NULL;
|
g_autoptr(GError) local_error = NULL;
|
||||||
|
|
||||||
if (!eap_method_validate_filepicker (parent->builder, "eap_ttls_ca_cert_button", TYPE_CA_CERT, NULL, NULL, &local_error)) {
|
if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")),
|
||||||
|
TYPE_CA_CERT, NULL, NULL, &local_error)) {
|
||||||
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TTLS CA certificate: %s"), local_error->message);
|
g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TTLS CA certificate: %s"), local_error->message);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (eap_method_ca_cert_required (parent->builder, "eap_ttls_ca_cert_not_required_checkbox", "eap_ttls_ca_cert_button")) {
|
if (eap_method_ca_cert_required (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")))) {
|
||||||
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TTLS CA certificate: no certificate specified"));
|
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TTLS CA certificate: no certificate specified"));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -84,7 +86,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer user_data)
|
||||||
{
|
{
|
||||||
EAPMethod *parent = user_data;
|
EAPMethod *parent = user_data;
|
||||||
|
|
||||||
eap_method_ca_cert_not_required_toggled (parent->builder, "eap_ttls_ca_cert_not_required_checkbox", "eap_ttls_ca_cert_button");
|
eap_method_ca_cert_not_required_toggled (GTK_TOGGLE_BUTTON (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_not_required_checkbox")),
|
||||||
|
GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, "eap_ttls_ca_cert_button")));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -369,7 +372,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
eap_method_phase2_update_secrets_helper (parent,
|
eap_method_phase2_update_secrets_helper (parent,
|
||||||
connection,
|
connection,
|
||||||
"eap_ttls_inner_auth_combo",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "eap_ttls_inner_auth_combo")),
|
||||||
I_METHOD_COLUMN);
|
I_METHOD_COLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,22 +104,18 @@ eap_method_update_secrets (EAPMethod *method, NMConnection *connection)
|
||||||
void
|
void
|
||||||
eap_method_phase2_update_secrets_helper (EAPMethod *method,
|
eap_method_phase2_update_secrets_helper (EAPMethod *method,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
const char *combo_name,
|
GtkComboBox *combo,
|
||||||
guint32 column)
|
guint32 column)
|
||||||
{
|
{
|
||||||
GtkWidget *combo;
|
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
|
|
||||||
g_return_if_fail (method != NULL);
|
g_return_if_fail (method != NULL);
|
||||||
g_return_if_fail (connection != NULL);
|
g_return_if_fail (connection != NULL);
|
||||||
g_return_if_fail (combo_name != NULL);
|
g_return_if_fail (combo != NULL);
|
||||||
|
|
||||||
combo = GTK_WIDGET (gtk_builder_get_object (method->builder, combo_name));
|
|
||||||
g_assert (combo);
|
|
||||||
|
|
||||||
/* Let each EAP phase2 method try to update its secrets */
|
/* Let each EAP phase2 method try to update its secrets */
|
||||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
|
model = gtk_combo_box_get_model (combo);
|
||||||
if (gtk_tree_model_get_iter_first (model, &iter)) {
|
if (gtk_tree_model_get_iter_first (model, &iter)) {
|
||||||
do {
|
do {
|
||||||
g_autoptr(EAPMethod) eap = NULL;
|
g_autoptr(EAPMethod) eap = NULL;
|
||||||
|
@ -214,14 +210,12 @@ eap_method_unref (EAPMethod *method)
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
eap_method_validate_filepicker (GtkBuilder *builder,
|
eap_method_validate_filepicker (GtkFileChooser *chooser,
|
||||||
const char *name,
|
|
||||||
guint32 item_type,
|
guint32 item_type,
|
||||||
const char *password,
|
const char *password,
|
||||||
NMSetting8021xCKFormat *out_format,
|
NMSetting8021xCKFormat *out_format,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
g_autofree gchar *filename = NULL;
|
g_autofree gchar *filename = NULL;
|
||||||
g_autoptr(NMSetting8021x) setting = NULL;
|
g_autoptr(NMSetting8021x) setting = NULL;
|
||||||
gboolean success = TRUE;
|
gboolean success = TRUE;
|
||||||
|
@ -231,9 +225,7 @@ eap_method_validate_filepicker (GtkBuilder *builder,
|
||||||
success = FALSE;
|
success = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
|
filename = gtk_file_chooser_get_filename (chooser);
|
||||||
g_assert (widget);
|
|
||||||
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
|
|
||||||
if (!filename) {
|
if (!filename) {
|
||||||
if (item_type != TYPE_CA_CERT) {
|
if (item_type != TYPE_CA_CERT) {
|
||||||
success = FALSE;
|
success = FALSE;
|
||||||
|
@ -267,9 +259,9 @@ out:
|
||||||
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("unspecified error validating eap-method file"));
|
g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("unspecified error validating eap-method file"));
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
widget_unset_error (widget);
|
widget_unset_error (GTK_WIDGET (chooser));
|
||||||
else
|
else
|
||||||
widget_set_error (widget);
|
widget_set_error (GTK_WIDGET (chooser));
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -475,22 +467,14 @@ eap_method_is_encrypted_private_key (const char *path)
|
||||||
* selected.
|
* selected.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
eap_method_ca_cert_required (GtkBuilder *builder, const char *id_ca_cert_not_required_checkbutton, const char *id_ca_cert_chooser)
|
eap_method_ca_cert_required (GtkToggleButton *id_ca_cert_not_required_checkbutton, GtkFileChooser *id_ca_cert_chooser)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
g_assert (id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
|
||||||
|
|
||||||
g_assert (builder && id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
|
if (!gtk_toggle_button_get_active (id_ca_cert_not_required_checkbutton)) {
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_not_required_checkbutton));
|
|
||||||
g_assert (widget && GTK_IS_TOGGLE_BUTTON (widget));
|
|
||||||
|
|
||||||
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
|
|
||||||
g_autofree gchar *filename = NULL;
|
g_autofree gchar *filename = NULL;
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_chooser));
|
filename = gtk_file_chooser_get_filename (id_ca_cert_chooser);
|
||||||
g_assert (widget && GTK_IS_FILE_CHOOSER (widget));
|
|
||||||
|
|
||||||
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
|
|
||||||
if (!filename)
|
if (!filename)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -499,24 +483,18 @@ eap_method_ca_cert_required (GtkBuilder *builder, const char *id_ca_cert_not_req
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
eap_method_ca_cert_not_required_toggled (GtkBuilder *builder, const char *id_ca_cert_not_required_checkbutton, const char *id_ca_cert_chooser)
|
eap_method_ca_cert_not_required_toggled (GtkToggleButton *id_ca_cert_not_required_checkbutton, GtkFileChooser *id_ca_cert_chooser)
|
||||||
{
|
{
|
||||||
g_autofree gchar *filename = NULL;
|
g_autofree gchar *filename = NULL;
|
||||||
g_autofree gchar *filename_old = NULL;
|
g_autofree gchar *filename_old = NULL;
|
||||||
gboolean is_not_required;
|
gboolean is_not_required;
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
g_assert (builder && id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
|
g_assert (id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_not_required_checkbutton));
|
is_not_required = gtk_toggle_button_get_active (id_ca_cert_not_required_checkbutton);
|
||||||
g_assert (widget && GTK_IS_TOGGLE_BUTTON (widget));
|
|
||||||
is_not_required = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
|
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_chooser));
|
filename = gtk_file_chooser_get_filename (id_ca_cert_chooser);
|
||||||
g_assert (widget && GTK_IS_FILE_CHOOSER (widget));
|
filename_old = g_object_steal_data (G_OBJECT (id_ca_cert_chooser), "filename-old");
|
||||||
|
|
||||||
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
|
|
||||||
filename_old = g_object_steal_data (G_OBJECT (widget), "filename-old");
|
|
||||||
if (is_not_required) {
|
if (is_not_required) {
|
||||||
g_free (filename_old);
|
g_free (filename_old);
|
||||||
filename_old = g_steal_pointer (&filename);
|
filename_old = g_steal_pointer (&filename);
|
||||||
|
@ -524,12 +502,12 @@ eap_method_ca_cert_not_required_toggled (GtkBuilder *builder, const char *id_ca_
|
||||||
g_free (filename);
|
g_free (filename);
|
||||||
filename = g_steal_pointer (&filename_old);
|
filename = g_steal_pointer (&filename_old);
|
||||||
}
|
}
|
||||||
gtk_widget_set_sensitive (widget, !is_not_required);
|
gtk_widget_set_sensitive (GTK_WIDGET (id_ca_cert_chooser), !is_not_required);
|
||||||
if (filename)
|
if (filename)
|
||||||
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), filename);
|
gtk_file_chooser_set_filename (id_ca_cert_chooser, filename);
|
||||||
else
|
else
|
||||||
gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (widget));
|
gtk_file_chooser_unselect_all (id_ca_cert_chooser);
|
||||||
g_object_set_data_full (G_OBJECT (widget), "filename-old", g_steal_pointer (&filename_old), g_free);
|
g_object_set_data_full (G_OBJECT (id_ca_cert_chooser), "filename-old", g_steal_pointer (&filename_old), g_free);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Used as both GSettings keys and GObject data tags */
|
/* Used as both GSettings keys and GObject data tags */
|
||||||
|
|
|
@ -102,8 +102,7 @@ gboolean eap_method_is_encrypted_private_key (const char *path);
|
||||||
#define TYPE_CA_CERT 1
|
#define TYPE_CA_CERT 1
|
||||||
#define TYPE_PRIVATE_KEY 2
|
#define TYPE_PRIVATE_KEY 2
|
||||||
|
|
||||||
gboolean eap_method_validate_filepicker (GtkBuilder *builder,
|
gboolean eap_method_validate_filepicker (GtkFileChooser *chooser,
|
||||||
const char *name,
|
|
||||||
guint32 item_type,
|
guint32 item_type,
|
||||||
const char *password,
|
const char *password,
|
||||||
NMSetting8021xCKFormat *out_format,
|
NMSetting8021xCKFormat *out_format,
|
||||||
|
@ -111,15 +110,13 @@ gboolean eap_method_validate_filepicker (GtkBuilder *builder,
|
||||||
|
|
||||||
void eap_method_phase2_update_secrets_helper (EAPMethod *method,
|
void eap_method_phase2_update_secrets_helper (EAPMethod *method,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
const char *combo_name,
|
GtkComboBox *combo,
|
||||||
guint32 column);
|
guint32 column);
|
||||||
|
|
||||||
gboolean eap_method_ca_cert_required (GtkBuilder *builder,
|
gboolean eap_method_ca_cert_required (GtkToggleButton *id_ca_cert_is_not_required_checkbutton,
|
||||||
const char *id_ca_cert_is_not_required_checkbox,
|
GtkFileChooser *id_ca_cert_chooser);
|
||||||
const char *id_ca_cert_chooser);
|
void eap_method_ca_cert_not_required_toggled (GtkToggleButton *id_ca_cert_is_not_required_checkbox,
|
||||||
void eap_method_ca_cert_not_required_toggled (GtkBuilder *builder,
|
GtkFileChooser *id_ca_cert_chooser);
|
||||||
const char *id_ca_cert_is_not_required_checkbox,
|
|
||||||
const char *id_ca_cert_chooser);
|
|
||||||
|
|
||||||
void eap_method_ca_cert_ignore_set (EAPMethod *method,
|
void eap_method_ca_cert_ignore_set (EAPMethod *method,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
|
|
|
@ -26,27 +26,22 @@
|
||||||
|
|
||||||
void
|
void
|
||||||
helper_fill_secret_entry (NMConnection *connection,
|
helper_fill_secret_entry (NMConnection *connection,
|
||||||
GtkBuilder *builder,
|
GtkEntry *entry,
|
||||||
const char *entry_name,
|
|
||||||
GType setting_type,
|
GType setting_type,
|
||||||
HelperSecretFunc func)
|
HelperSecretFunc func)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
NMSetting *setting;
|
NMSetting *setting;
|
||||||
const char *tmp;
|
const char *tmp;
|
||||||
|
|
||||||
g_return_if_fail (connection != NULL);
|
g_return_if_fail (connection != NULL);
|
||||||
g_return_if_fail (builder != NULL);
|
g_return_if_fail (entry != NULL);
|
||||||
g_return_if_fail (entry_name != NULL);
|
|
||||||
g_return_if_fail (func != NULL);
|
g_return_if_fail (func != NULL);
|
||||||
|
|
||||||
setting = nm_connection_get_setting (connection, setting_type);
|
setting = nm_connection_get_setting (connection, setting_type);
|
||||||
if (setting) {
|
if (setting) {
|
||||||
tmp = (*func) (setting);
|
tmp = (*func) (setting);
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (builder, entry_name));
|
gtk_entry_set_text (entry, tmp);
|
||||||
g_assert (widget);
|
|
||||||
gtk_entry_set_text (GTK_ENTRY (widget), tmp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,7 @@
|
||||||
typedef const char * (*HelperSecretFunc)(NMSetting *);
|
typedef const char * (*HelperSecretFunc)(NMSetting *);
|
||||||
|
|
||||||
void helper_fill_secret_entry (NMConnection *connection,
|
void helper_fill_secret_entry (NMConnection *connection,
|
||||||
GtkBuilder *builder,
|
GtkEntry *entry,
|
||||||
const char *entry_name,
|
|
||||||
GType setting_type,
|
GType setting_type,
|
||||||
HelperSecretFunc func);
|
HelperSecretFunc func);
|
||||||
|
|
||||||
|
|
|
@ -387,44 +387,33 @@ wireless_security_clear_ciphers (NMConnection *connection)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ws_802_1x_add_to_size_group (WirelessSecurity *sec,
|
ws_802_1x_add_to_size_group (GtkSizeGroup *size_group,
|
||||||
GtkSizeGroup *size_group,
|
GtkLabel *label,
|
||||||
const char *label_name,
|
GtkComboBox *combo)
|
||||||
const char *combo_name)
|
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
g_autoptr(EAPMethod) eap = NULL;
|
g_autoptr(EAPMethod) eap = NULL;
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, label_name));
|
gtk_size_group_add_widget (size_group, GTK_WIDGET (label));
|
||||||
g_assert (widget);
|
|
||||||
gtk_size_group_add_widget (size_group, widget);
|
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
|
model = gtk_combo_box_get_model (combo);
|
||||||
g_assert (widget);
|
gtk_combo_box_get_active_iter (combo, &iter);
|
||||||
|
|
||||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
|
|
||||||
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
|
|
||||||
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
||||||
g_assert (eap);
|
g_assert (eap);
|
||||||
eap_method_add_to_size_group (eap, size_group);
|
eap_method_add_to_size_group (eap, size_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ws_802_1x_validate (WirelessSecurity *sec, const char *combo_name, GError **error)
|
ws_802_1x_validate (GtkComboBox *combo, GError **error)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
g_autoptr(EAPMethod) eap = NULL;
|
g_autoptr(EAPMethod) eap = NULL;
|
||||||
gboolean valid = FALSE;
|
gboolean valid = FALSE;
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
|
model = gtk_combo_box_get_model (combo);
|
||||||
g_assert (widget);
|
gtk_combo_box_get_active_iter (combo, &iter);
|
||||||
|
|
||||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
|
|
||||||
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
|
|
||||||
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
||||||
g_assert (eap);
|
g_assert (eap);
|
||||||
valid = eap_method_validate (eap, error);
|
valid = eap_method_validate (eap, error);
|
||||||
|
@ -434,10 +423,9 @@ ws_802_1x_validate (WirelessSecurity *sec, const char *combo_name, GError **erro
|
||||||
void
|
void
|
||||||
ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
||||||
WirelessSecurity *sec,
|
WirelessSecurity *sec,
|
||||||
const char *vbox_name,
|
GtkBox *vbox,
|
||||||
GtkSizeGroup *size_group)
|
GtkSizeGroup *size_group)
|
||||||
{
|
{
|
||||||
GtkWidget *vbox;
|
|
||||||
g_autoptr(EAPMethod) eap = NULL;
|
g_autoptr(EAPMethod) eap = NULL;
|
||||||
GList *elt, *children;
|
GList *elt, *children;
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
|
@ -445,9 +433,6 @@ ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
||||||
GtkWidget *eap_widget;
|
GtkWidget *eap_widget;
|
||||||
GtkWidget *eap_default_widget = NULL;
|
GtkWidget *eap_default_widget = NULL;
|
||||||
|
|
||||||
vbox = GTK_WIDGET (gtk_builder_get_object (sec->builder, vbox_name));
|
|
||||||
g_assert (vbox);
|
|
||||||
|
|
||||||
/* Remove any previous wireless security widgets */
|
/* Remove any previous wireless security widgets */
|
||||||
children = gtk_container_get_children (GTK_CONTAINER (vbox));
|
children = gtk_container_get_children (GTK_CONTAINER (vbox));
|
||||||
for (elt = children; elt; elt = g_list_next (elt))
|
for (elt = children; elt; elt = g_list_next (elt))
|
||||||
|
@ -476,16 +461,15 @@ ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
||||||
wireless_security_changed_cb (combo, WIRELESS_SECURITY (sec));
|
wireless_security_changed_cb (combo, WIRELESS_SECURITY (sec));
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *
|
void
|
||||||
ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
||||||
const char *combo_name,
|
GtkComboBox *combo,
|
||||||
const char *combo_label,
|
GtkLabel *label,
|
||||||
GCallback auth_combo_changed_cb,
|
GCallback auth_combo_changed_cb,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
gboolean is_editor,
|
gboolean is_editor,
|
||||||
gboolean secrets_only)
|
gboolean secrets_only)
|
||||||
{
|
{
|
||||||
GtkWidget *combo, *widget;
|
|
||||||
g_autoptr(GtkListStore) auth_model = NULL;
|
g_autoptr(GtkListStore) auth_model = NULL;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
g_autoptr(EAPMethodTLS) em_tls = NULL;
|
g_autoptr(EAPMethodTLS) em_tls = NULL;
|
||||||
|
@ -603,29 +587,21 @@ ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
||||||
active = item;
|
active = item;
|
||||||
item++;
|
item++;
|
||||||
|
|
||||||
combo = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
|
gtk_combo_box_set_model (combo, GTK_TREE_MODEL (auth_model));
|
||||||
g_assert (combo);
|
gtk_combo_box_set_active (combo, active < 0 ? 0 : (guint32) active);
|
||||||
|
|
||||||
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (auth_model));
|
|
||||||
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), active < 0 ? 0 : (guint32) active);
|
|
||||||
|
|
||||||
g_signal_connect (G_OBJECT (combo), "changed", auth_combo_changed_cb, sec);
|
g_signal_connect (G_OBJECT (combo), "changed", auth_combo_changed_cb, sec);
|
||||||
|
|
||||||
if (secrets_only) {
|
if (secrets_only) {
|
||||||
gtk_widget_hide (combo);
|
gtk_widget_hide (GTK_WIDGET (combo));
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_label));
|
gtk_widget_hide (GTK_WIDGET (label));
|
||||||
gtk_widget_hide (widget);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return combo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ws_802_1x_fill_connection (WirelessSecurity *sec,
|
ws_802_1x_fill_connection (GtkComboBox *combo,
|
||||||
const char *combo_name,
|
|
||||||
NMConnection *connection)
|
NMConnection *connection)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
NMSettingWirelessSecurity *s_wireless_sec;
|
NMSettingWirelessSecurity *s_wireless_sec;
|
||||||
NMSetting8021x *s_8021x;
|
NMSetting8021x *s_8021x;
|
||||||
NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
|
NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
|
||||||
|
@ -634,9 +610,8 @@ ws_802_1x_fill_connection (WirelessSecurity *sec,
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
|
||||||
/* Get the EAPMethod object */
|
/* Get the EAPMethod object */
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
|
model = gtk_combo_box_get_model (combo);
|
||||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
|
gtk_combo_box_get_active_iter (combo, &iter);
|
||||||
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
|
|
||||||
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
|
||||||
g_assert (eap);
|
g_assert (eap);
|
||||||
|
|
||||||
|
@ -659,21 +634,16 @@ ws_802_1x_fill_connection (WirelessSecurity *sec,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ws_802_1x_update_secrets (WirelessSecurity *sec,
|
ws_802_1x_update_secrets (GtkComboBox *combo,
|
||||||
const char *combo_name,
|
|
||||||
NMConnection *connection)
|
NMConnection *connection)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
|
||||||
g_return_if_fail (sec != NULL);
|
g_return_if_fail (combo != NULL);
|
||||||
g_return_if_fail (combo_name != NULL);
|
|
||||||
g_return_if_fail (connection != NULL);
|
g_return_if_fail (connection != NULL);
|
||||||
|
|
||||||
widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
|
model = gtk_combo_box_get_model (combo);
|
||||||
g_return_if_fail (widget != NULL);
|
|
||||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
|
|
||||||
|
|
||||||
/* Let each EAP method try to update its secrets */
|
/* Let each EAP method try to update its secrets */
|
||||||
if (gtk_tree_model_get_iter_first (model, &iter)) {
|
if (gtk_tree_model_get_iter_first (model, &iter)) {
|
||||||
|
|
|
@ -119,9 +119,9 @@ void wireless_security_clear_ciphers (NMConnection *connection);
|
||||||
#define AUTH_NAME_COLUMN 0
|
#define AUTH_NAME_COLUMN 0
|
||||||
#define AUTH_METHOD_COLUMN 1
|
#define AUTH_METHOD_COLUMN 1
|
||||||
|
|
||||||
GtkWidget *ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
void ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
||||||
const char *combo_name,
|
GtkComboBox *combo,
|
||||||
const char *combo_label,
|
GtkLabel *label,
|
||||||
GCallback auth_combo_changed_cb,
|
GCallback auth_combo_changed_cb,
|
||||||
NMConnection *connection,
|
NMConnection *connection,
|
||||||
gboolean is_editor,
|
gboolean is_editor,
|
||||||
|
@ -129,22 +129,19 @@ GtkWidget *ws_802_1x_auth_combo_init (WirelessSecurity *sec,
|
||||||
|
|
||||||
void ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
void ws_802_1x_auth_combo_changed (GtkWidget *combo,
|
||||||
WirelessSecurity *sec,
|
WirelessSecurity *sec,
|
||||||
const char *vbox_name,
|
GtkBox *vbox,
|
||||||
GtkSizeGroup *size_group);
|
GtkSizeGroup *size_group);
|
||||||
|
|
||||||
gboolean ws_802_1x_validate (WirelessSecurity *sec, const char *combo_name, GError **error);
|
gboolean ws_802_1x_validate (GtkComboBox *combo, GError **error);
|
||||||
|
|
||||||
void ws_802_1x_add_to_size_group (WirelessSecurity *sec,
|
void ws_802_1x_add_to_size_group (GtkSizeGroup *size_group,
|
||||||
GtkSizeGroup *size_group,
|
GtkLabel *label,
|
||||||
const char *label_name,
|
GtkComboBox *combo);
|
||||||
const char *combo_name);
|
|
||||||
|
|
||||||
void ws_802_1x_fill_connection (WirelessSecurity *sec,
|
void ws_802_1x_fill_connection (GtkComboBox *combo,
|
||||||
const char *combo_name,
|
|
||||||
NMConnection *connection);
|
NMConnection *connection);
|
||||||
|
|
||||||
void ws_802_1x_update_secrets (WirelessSecurity *sec,
|
void ws_802_1x_update_secrets (GtkComboBox *combo,
|
||||||
const char *combo_name,
|
|
||||||
NMConnection *connection);
|
NMConnection *connection);
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WirelessSecurity, wireless_security_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (WirelessSecurity, wireless_security_unref)
|
||||||
|
|
|
@ -46,7 +46,7 @@ destroy (WirelessSecurity *parent)
|
||||||
static gboolean
|
static gboolean
|
||||||
validate (WirelessSecurity *parent, GError **error)
|
validate (WirelessSecurity *parent, GError **error)
|
||||||
{
|
{
|
||||||
return ws_802_1x_validate (parent, "dynamic_wep_auth_combo", error);
|
return ws_802_1x_validate (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")), error);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -58,10 +58,9 @@ add_to_size_group (WirelessSecurity *parent, GtkSizeGroup *group)
|
||||||
g_object_unref (sec->size_group);
|
g_object_unref (sec->size_group);
|
||||||
sec->size_group = g_object_ref (group);
|
sec->size_group = g_object_ref (group);
|
||||||
|
|
||||||
ws_802_1x_add_to_size_group (parent,
|
ws_802_1x_add_to_size_group (sec->size_group,
|
||||||
sec->size_group,
|
GTK_LABEL (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_label")),
|
||||||
"dynamic_wep_auth_label",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")));
|
||||||
"dynamic_wep_auth_combo");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -69,7 +68,7 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
NMSettingWirelessSecurity *s_wireless_sec;
|
NMSettingWirelessSecurity *s_wireless_sec;
|
||||||
|
|
||||||
ws_802_1x_fill_connection (parent, "dynamic_wep_auth_combo", connection);
|
ws_802_1x_fill_connection (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")), connection);
|
||||||
|
|
||||||
s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
|
s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
|
||||||
g_assert (s_wireless_sec);
|
g_assert (s_wireless_sec);
|
||||||
|
@ -85,14 +84,14 @@ auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
|
||||||
|
|
||||||
ws_802_1x_auth_combo_changed (combo,
|
ws_802_1x_auth_combo_changed (combo,
|
||||||
parent,
|
parent,
|
||||||
"dynamic_wep_method_vbox",
|
GTK_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_method_vbox")),
|
||||||
sec->size_group);
|
sec->size_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
ws_802_1x_update_secrets (parent, "dynamic_wep_auth_combo", connection);
|
ws_802_1x_update_secrets (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")), connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
WirelessSecurityDynamicWEP *
|
WirelessSecurityDynamicWEP *
|
||||||
|
@ -101,7 +100,6 @@ ws_dynamic_wep_new (NMConnection *connection,
|
||||||
gboolean secrets_only)
|
gboolean secrets_only)
|
||||||
{
|
{
|
||||||
WirelessSecurity *parent;
|
WirelessSecurity *parent;
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
parent = wireless_security_init (sizeof (WirelessSecurityDynamicWEP),
|
parent = wireless_security_init (sizeof (WirelessSecurityDynamicWEP),
|
||||||
validate,
|
validate,
|
||||||
|
@ -117,14 +115,14 @@ ws_dynamic_wep_new (NMConnection *connection,
|
||||||
wireless_security_set_adhoc_compatible (parent, FALSE);
|
wireless_security_set_adhoc_compatible (parent, FALSE);
|
||||||
wireless_security_set_hotspot_compatible (parent, FALSE);
|
wireless_security_set_hotspot_compatible (parent, FALSE);
|
||||||
|
|
||||||
widget = ws_802_1x_auth_combo_init (parent,
|
ws_802_1x_auth_combo_init (parent,
|
||||||
"dynamic_wep_auth_combo",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")),
|
||||||
"dynamic_wep_auth_label",
|
GTK_LABEL (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_label")),
|
||||||
(GCallback) auth_combo_changed_cb,
|
(GCallback) auth_combo_changed_cb,
|
||||||
connection,
|
connection,
|
||||||
is_editor,
|
is_editor,
|
||||||
secrets_only);
|
secrets_only);
|
||||||
auth_combo_changed_cb (widget, (gpointer) parent);
|
auth_combo_changed_cb (GTK_WIDGET (gtk_builder_get_object (parent->builder, "dynamic_wep_auth_combo")), (gpointer) parent);
|
||||||
|
|
||||||
return (WirelessSecurityDynamicWEP *) parent;
|
return (WirelessSecurityDynamicWEP *) parent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,8 +134,7 @@ static void
|
||||||
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
helper_fill_secret_entry (connection,
|
helper_fill_secret_entry (connection,
|
||||||
parent->builder,
|
GTK_ENTRY (gtk_builder_get_object (parent->builder, "leap_password_entry")),
|
||||||
"leap_password_entry",
|
|
||||||
NM_TYPE_SETTING_WIRELESS_SECURITY,
|
NM_TYPE_SETTING_WIRELESS_SECURITY,
|
||||||
(HelperSecretFunc) nm_setting_wireless_security_get_leap_password);
|
(HelperSecretFunc) nm_setting_wireless_security_get_leap_password);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,7 +47,7 @@ destroy (WirelessSecurity *parent)
|
||||||
static gboolean
|
static gboolean
|
||||||
validate (WirelessSecurity *parent, GError **error)
|
validate (WirelessSecurity *parent, GError **error)
|
||||||
{
|
{
|
||||||
return ws_802_1x_validate (parent, "wpa_eap_auth_combo", error);
|
return ws_802_1x_validate (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")), error);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -59,10 +59,9 @@ add_to_size_group (WirelessSecurity *parent, GtkSizeGroup *group)
|
||||||
g_object_unref (sec->size_group);
|
g_object_unref (sec->size_group);
|
||||||
sec->size_group = g_object_ref (group);
|
sec->size_group = g_object_ref (group);
|
||||||
|
|
||||||
ws_802_1x_add_to_size_group (parent,
|
ws_802_1x_add_to_size_group (sec->size_group,
|
||||||
sec->size_group,
|
GTK_LABEL (gtk_builder_get_object (parent->builder, "wpa_eap_auth_label")),
|
||||||
"wpa_eap_auth_label",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")));
|
||||||
"wpa_eap_auth_combo");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -70,7 +69,7 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
NMSettingWirelessSecurity *s_wireless_sec;
|
NMSettingWirelessSecurity *s_wireless_sec;
|
||||||
|
|
||||||
ws_802_1x_fill_connection (parent, "wpa_eap_auth_combo", connection);
|
ws_802_1x_fill_connection (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")), connection);
|
||||||
|
|
||||||
s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
|
s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
|
||||||
g_assert (s_wireless_sec);
|
g_assert (s_wireless_sec);
|
||||||
|
@ -86,14 +85,14 @@ auth_combo_changed_cb (GtkWidget *combo, gpointer user_data)
|
||||||
|
|
||||||
ws_802_1x_auth_combo_changed (combo,
|
ws_802_1x_auth_combo_changed (combo,
|
||||||
parent,
|
parent,
|
||||||
"wpa_eap_method_vbox",
|
GTK_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_method_vbox")),
|
||||||
sec->size_group);
|
sec->size_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
ws_802_1x_update_secrets (parent, "wpa_eap_auth_combo", connection);
|
ws_802_1x_update_secrets (GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")), connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
WirelessSecurityWPAEAP *
|
WirelessSecurityWPAEAP *
|
||||||
|
@ -102,7 +101,6 @@ ws_wpa_eap_new (NMConnection *connection,
|
||||||
gboolean secrets_only)
|
gboolean secrets_only)
|
||||||
{
|
{
|
||||||
WirelessSecurity *parent;
|
WirelessSecurity *parent;
|
||||||
GtkWidget *widget;
|
|
||||||
|
|
||||||
parent = wireless_security_init (sizeof (WirelessSecurityWPAEAP),
|
parent = wireless_security_init (sizeof (WirelessSecurityWPAEAP),
|
||||||
validate,
|
validate,
|
||||||
|
@ -118,14 +116,14 @@ ws_wpa_eap_new (NMConnection *connection,
|
||||||
wireless_security_set_adhoc_compatible (parent, FALSE);
|
wireless_security_set_adhoc_compatible (parent, FALSE);
|
||||||
wireless_security_set_hotspot_compatible (parent, FALSE);
|
wireless_security_set_hotspot_compatible (parent, FALSE);
|
||||||
|
|
||||||
widget = ws_802_1x_auth_combo_init (parent,
|
ws_802_1x_auth_combo_init (parent,
|
||||||
"wpa_eap_auth_combo",
|
GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")),
|
||||||
"wpa_eap_auth_label",
|
GTK_LABEL (gtk_builder_get_object (parent->builder, "wpa_eap_auth_label")),
|
||||||
(GCallback) auth_combo_changed_cb,
|
(GCallback) auth_combo_changed_cb,
|
||||||
connection,
|
connection,
|
||||||
is_editor,
|
is_editor,
|
||||||
secrets_only);
|
secrets_only);
|
||||||
auth_combo_changed_cb (widget, parent);
|
auth_combo_changed_cb (GTK_WIDGET (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")), parent);
|
||||||
|
|
||||||
return (WirelessSecurityWPAEAP *) parent;
|
return (WirelessSecurityWPAEAP *) parent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,8 +162,7 @@ static void
|
||||||
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
update_secrets (WirelessSecurity *parent, NMConnection *connection)
|
||||||
{
|
{
|
||||||
helper_fill_secret_entry (connection,
|
helper_fill_secret_entry (connection,
|
||||||
parent->builder,
|
GTK_ENTRY (gtk_builder_get_object (parent->builder, "wpa_psk_entry")),
|
||||||
"wpa_psk_entry",
|
|
||||||
NM_TYPE_SETTING_WIRELESS_SECURITY,
|
NM_TYPE_SETTING_WIRELESS_SECURITY,
|
||||||
(HelperSecretFunc) nm_setting_wireless_security_get_psk);
|
(HelperSecretFunc) nm_setting_wireless_security_get_psk);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue