[gnome-control-center/network-widget-references: 4/13] network: Pass widget references rather than relying on names



commit 74dd902fb12fda25ad5de60ba102e71b00058fb4
Author: Robert Ancell <robert ancell canonical com>
Date:   Wed Oct 2 11:00:21 2019 +1300

    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.

 .../connection-editor/ce-page-8021x-security.c     |  2 +-
 panels/network/connection-editor/ce-page-details.c | 13 ++--
 panels/network/net-device-mobile.c                 | 10 ++-
 panels/network/net-device-wifi.c                   | 13 ++--
 panels/network/panel-common.c                      | 33 ++++------
 panels/network/panel-common.h                      |  5 +-
 panels/network/wireless-security/eap-method-fast.c |  2 +-
 panels/network/wireless-security/eap-method-leap.c |  3 +-
 panels/network/wireless-security/eap-method-peap.c | 11 ++--
 .../network/wireless-security/eap-method-simple.c  |  3 +-
 panels/network/wireless-security/eap-method-tls.c  | 44 ++++++-------
 panels/network/wireless-security/eap-method-ttls.c | 11 ++--
 panels/network/wireless-security/eap-method.c      | 62 ++++++------------
 panels/network/wireless-security/eap-method.h      | 15 ++---
 panels/network/wireless-security/helpers.c         | 11 +---
 panels/network/wireless-security/helpers.h         |  3 +-
 .../network/wireless-security/wireless-security.c  | 76 +++++++---------------
 .../network/wireless-security/wireless-security.h  | 31 ++++-----
 panels/network/wireless-security/ws-dynamic-wep.c  | 32 +++++----
 panels/network/wireless-security/ws-leap.c         |  3 +-
 panels/network/wireless-security/ws-wpa-eap.c      | 32 +++++----
 panels/network/wireless-security/ws-wpa-psk.c      |  3 +-
 22 files changed, 182 insertions(+), 236 deletions(-)
---
diff --git a/panels/network/connection-editor/ce-page-8021x-security.c 
b/panels/network/connection-editor/ce-page-8021x-security.c
index d53f18e86..335e0a859 100644
--- a/panels/network/connection-editor/ce-page-8021x-security.c
+++ b/panels/network/connection-editor/ce-page-8021x-security.c
@@ -138,7 +138,7 @@ validate (CEPage *cepage, NMConnection *connection, GError **error)
                        s_con = nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
                        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);
                        nm_connection_add_setting (connection, NM_SETTING (g_object_ref (s_8021x)));
diff --git a/panels/network/connection-editor/ce-page-details.c 
b/panels/network/connection-editor/ce-page-details.c
index 35b6a1e39..0c90a8e9f 100644
--- a/panels/network/connection-editor/ce-page-details.c
+++ b/panels/network/connection-editor/ce-page-details.c
@@ -264,10 +264,15 @@ connect_details_page (CEPageDetails *page)
         panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), strength_label);
 
         /* set IP entries */
-        if (device_is_active)
-                panel_set_device_widgets (CE_PAGE (page)->builder, page->device);
-        else
-                panel_set_device_widgets (CE_PAGE (page)->builder, NULL);
+        panel_set_device_widgets (GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, 
"heading_ipv4")),
+                                  GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, "label_ipv4")),
+                                  GTK_LABEL (gtk_builder_get_object (CE_PAGE (page)->builder, 
"heading_ipv6")),
+                                  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)
                 update_last_used (page, CE_PAGE (page)->connection);
diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c
index 5bf055471..59b40b874 100644
--- a/panels/network/net-device-mobile.c
+++ b/panels/network/net-device-mobile.c
@@ -425,7 +425,15 @@ nm_device_mobile_refresh_ui (NetDeviceMobile *device_mobile)
                                        GTK_COMBO_BOX (widget));
 
         /* 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
diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c
index a1fd5bc04..37d3e358c 100644
--- a/panels/network/net-device-wifi.c
+++ b/panels/network/net-device-wifi.c
@@ -582,10 +582,15 @@ nm_device_wifi_refresh_ui (NetDeviceWifi *device_wifi)
         panel_set_device_widget_details (GTK_LABEL (heading), GTK_LABEL (widget), str);
 
         /* set IP entries */
-        if (ap != active_ap)
-                panel_set_device_widgets (device_wifi->builder, NULL);
-        else
-                panel_set_device_widgets (device_wifi->builder, nm_device);
+        panel_set_device_widgets (GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "heading_ipv4")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "label_ipv4")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "heading_ipv6")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "label_ipv6")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "heading_dns")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "label_dns")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "heading_route")),
+                                  GTK_LABEL (gtk_builder_get_object (device_wifi->builder, "label_route")),
+                                  ap == active_ap ? nm_device : NULL);
 
         if (ap != active_ap && connection)
                 update_last_used (device_wifi, connection);
diff --git a/panels/network/panel-common.c b/panels/network/panel-common.c
index 034efe260..435866b51 100644
--- a/panels/network/panel-common.c
+++ b/panels/network/panel-common.c
@@ -375,25 +375,18 @@ panel_get_ip6_address_as_string (NMIPConfig *ip6_config)
 }
 
 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 *ipv6_text = NULL;
         g_autofree gchar *dns_text = NULL;
         g_autofree gchar *route_text = NULL;
         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) {
                 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);
         }
 
-        panel_set_device_widget_details (GTK_LABEL (ipv4_heading), GTK_LABEL (ipv4_widget), ipv4_text);
-        panel_set_device_widget_details (GTK_LABEL (ipv6_heading), GTK_LABEL (ipv6_widget), ipv6_text);
-        panel_set_device_widget_details (GTK_LABEL (dns_heading), GTK_LABEL (dns_widget), dns_text);
-        panel_set_device_widget_details (GTK_LABEL (route_heading), GTK_LABEL (route_widget), route_text);
+        panel_set_device_widget_details (heading_ipv4, label_ipv4, ipv4_text);
+        panel_set_device_widget_details (heading_ipv6, label_ipv6, ipv6_text);
+        panel_set_device_widget_details (heading_dns, label_dns, dns_text);
+        panel_set_device_widget_details (heading_route, label_route, route_text);
 
         has_ip4 = ipv4_text != NULL;
         has_ip6 = ipv6_text != NULL;
         if (has_ip4 && has_ip6) {
-                gtk_label_set_label (GTK_LABEL (ipv4_heading), _("IPv4 Address"));
-                gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IPv6 Address"));
+                gtk_label_set_label (heading_ipv4, _("IPv4 Address"));
+                gtk_label_set_label (heading_ipv6, _("IPv6 Address"));
         } 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) {
-                gtk_label_set_label (GTK_LABEL (ipv6_heading), _("IP Address"));
+                gtk_label_set_label (heading_ipv6, _("IP Address"));
         }
 }
diff --git a/panels/network/panel-common.h b/panels/network/panel-common.h
index 693611458..660d89f49 100644
--- a/panels/network/panel-common.h
+++ b/panels/network/panel-common.h
@@ -31,7 +31,10 @@ gchar           *panel_device_status_to_localized_string       (NMDevice *nm_dev
 gboolean         panel_set_device_widget_details               (GtkLabel *heading,
                                                                 GtkLabel *widget,
                                                                 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);
 gchar           *panel_get_ip4_address_as_string               (NMIPConfig *config, const gchar *what);
 gchar           *panel_get_ip4_dns_as_string                   (NMIPConfig *config);
diff --git a/panels/network/wireless-security/eap-method-fast.c 
b/panels/network/wireless-security/eap-method-fast.c
index 38734b61f..02b881b89 100644
--- a/panels/network/wireless-security/eap-method-fast.c
+++ b/panels/network/wireless-security/eap-method-fast.c
@@ -299,7 +299,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
 {
        eap_method_phase2_update_secrets_helper (parent,
                                                 connection,
-                                                "eap_fast_inner_auth_combo",
+                                                GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"eap_fast_inner_auth_combo")),
                                                 I_METHOD_COLUMN);
 }
 
diff --git a/panels/network/wireless-security/eap-method-leap.c 
b/panels/network/wireless-security/eap-method-leap.c
index f6eadce91..efabb207d 100644
--- a/panels/network/wireless-security/eap-method-leap.c
+++ b/panels/network/wireless-security/eap-method-leap.c
@@ -128,8 +128,7 @@ static void
 update_secrets (EAPMethod *parent, NMConnection *connection)
 {
        helper_fill_secret_entry (connection,
-                                 parent->builder,
-                                 "eap_leap_password_entry",
+                                 GTK_ENTRY (gtk_builder_get_object (parent->builder, 
"eap_leap_password_entry")),
                                  NM_TYPE_SETTING_802_1X,
                                  (HelperSecretFunc) nm_setting_802_1x_get_password);
 }
diff --git a/panels/network/wireless-security/eap-method-peap.c 
b/panels/network/wireless-security/eap-method-peap.c
index 095c8de3b..26d386ccd 100644
--- a/panels/network/wireless-security/eap-method-peap.c
+++ b/panels/network/wireless-security/eap-method-peap.c
@@ -59,11 +59,13 @@ validate (EAPMethod *parent, GError **error)
        gboolean valid = FALSE;
        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);
                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"));
                return FALSE;
        }
@@ -84,7 +86,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer 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
@@ -314,7 +317,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
 {
        eap_method_phase2_update_secrets_helper (parent,
                                                 connection,
-                                                "eap_peap_inner_auth_combo",
+                                                GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"eap_peap_inner_auth_combo")),
                                                 I_METHOD_COLUMN);
 }
 
diff --git a/panels/network/wireless-security/eap-method-simple.c 
b/panels/network/wireless-security/eap-method-simple.c
index 40db31651..907704159 100644
--- a/panels/network/wireless-security/eap-method-simple.c
+++ b/panels/network/wireless-security/eap-method-simple.c
@@ -189,8 +189,7 @@ static void
 update_secrets (EAPMethod *parent, NMConnection *connection)
 {
        helper_fill_secret_entry (connection,
-                                 parent->builder,
-                                 "eap_simple_password_entry",
+                                 GTK_ENTRY (gtk_builder_get_object (parent->builder, 
"eap_simple_password_entry")),
                                  NM_TYPE_SETTING_802_1X,
                                  (HelperSecretFunc) nm_setting_802_1x_get_password);
 }
diff --git a/panels/network/wireless-security/eap-method-tls.c 
b/panels/network/wireless-security/eap-method-tls.c
index 5a5b7e1cf..2dc8ca28b 100644
--- a/panels/network/wireless-security/eap-method-tls.c
+++ b/panels/network/wireless-security/eap-method-tls.c
@@ -73,13 +73,15 @@ validate (EAPMethod *parent, GError **error)
                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")));
                if (ret) {
                        g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS CA certificate: 
%s"), ca_cert_error->message);
                        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")));
                if (ret) {
                        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);
        password = gtk_entry_get_text (GTK_ENTRY (widget));
 
-       if (!eap_method_validate_filepicker (parent->builder,
-                                            "eap_tls_private_key_button",
+       if (!eap_method_validate_filepicker (GTK_FILE_CHOOSER (gtk_builder_get_object (parent->builder, 
"eap_tls_private_key_button")),
                                             TYPE_PRIVATE_KEY,
                                             password,
                                             &format,
@@ -105,7 +106,8 @@ validate (EAPMethod *parent, GError **error)
        }
 
        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) {
                                g_set_error (error, NMA_ERROR, NMA_ERROR_GENERIC, _("invalid EAP-TLS 
user-certificate: %s"), user_cert_error->message);
                                ret = FALSE;
@@ -122,7 +124,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer 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
@@ -330,8 +333,7 @@ typedef const char * (*PathFunc) (NMSetting8021x *setting);
 typedef NMSetting8021xCKScheme (*SchemeFunc)  (NMSetting8021x *setting);
 
 static void
-setup_filepicker (GtkBuilder *builder,
-                  const char *name,
+setup_filepicker (GtkFileChooserButton *button,
                   const char *title,
                   WirelessSecurity *ws_parent,
                   EAPMethod *parent,
@@ -341,20 +343,17 @@ setup_filepicker (GtkBuilder *builder,
                   gboolean privkey,
                   gboolean client_cert)
 {
-       GtkWidget *widget;
        GtkFileFilter *filter;
        const char *filename = NULL;
 
-       widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
-       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), title);
+       gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (button), TRUE);
+       gtk_file_chooser_button_set_title (button, title);
 
        if (s_8021x && path_func && scheme_func) {
                if (scheme_func (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH) {
                        filename = path_func (s_8021x);
                        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.
         */
        if (privkey) {
-               g_signal_connect (G_OBJECT (widget), "selection-changed",
+               g_signal_connect (button, "selection-changed",
                                  (GCallback) private_key_picker_file_set_cb,
                                  parent);
                if (filename)
                        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,
                          ws_parent);
 
        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 
         * gtkfilechooserdefault.c::show_and_select_files_finished_loading() on our
@@ -382,7 +381,7 @@ setup_filepicker (GtkBuilder *builder,
         * it gets cleared.
         */
        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
@@ -406,8 +405,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
        }
 
        helper_fill_secret_entry (connection,
-                                 parent->builder,
-                                 "eap_tls_private_key_password_entry",
+                                 GTK_ENTRY (gtk_builder_get_object (parent->builder, 
"eap_tls_private_key_password_entry")),
                                  NM_TYPE_SETTING_802_1X,
                                  password_func);
 
@@ -474,19 +472,19 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
        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));
 
-       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"),
                          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_path : 
nm_setting_802_1x_get_client_cert_path,
                          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"),
                          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_path : 
nm_setting_802_1x_get_ca_cert_path,
                          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"),
                          ws_parent, parent, s_8021x,
                          phase2 ? nm_setting_802_1x_get_phase2_private_key_scheme : 
nm_setting_802_1x_get_private_key_scheme,
diff --git a/panels/network/wireless-security/eap-method-ttls.c 
b/panels/network/wireless-security/eap-method-ttls.c
index 2f6d6cb09..3ffff01a8 100644
--- a/panels/network/wireless-security/eap-method-ttls.c
+++ b/panels/network/wireless-security/eap-method-ttls.c
@@ -59,11 +59,13 @@ validate (EAPMethod *parent, GError **error)
        gboolean valid = FALSE;
        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);
                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"));
                return FALSE;
        }
@@ -84,7 +86,8 @@ ca_cert_not_required_toggled (GtkWidget *ignored, gpointer 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
@@ -369,7 +372,7 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
 {
        eap_method_phase2_update_secrets_helper (parent,
                                                 connection,
-                                                "eap_ttls_inner_auth_combo",
+                                                GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"eap_ttls_inner_auth_combo")),
                                                 I_METHOD_COLUMN);
 }
 
diff --git a/panels/network/wireless-security/eap-method.c b/panels/network/wireless-security/eap-method.c
index 4fca88af8..485bb25a9 100644
--- a/panels/network/wireless-security/eap-method.c
+++ b/panels/network/wireless-security/eap-method.c
@@ -104,22 +104,18 @@ eap_method_update_secrets (EAPMethod *method, NMConnection *connection)
 void
 eap_method_phase2_update_secrets_helper (EAPMethod *method,
                                          NMConnection *connection,
-                                         const char *combo_name,
+                                         GtkComboBox *combo,
                                          guint32 column)
 {
-       GtkWidget *combo;
        GtkTreeIter iter;
        GtkTreeModel *model;
 
        g_return_if_fail (method != NULL);
        g_return_if_fail (connection != NULL);
-       g_return_if_fail (combo_name != NULL);
-
-       combo = GTK_WIDGET (gtk_builder_get_object (method->builder, combo_name));
-       g_assert (combo);
+       g_return_if_fail (combo != NULL);
 
        /* 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)) {
                do {
                        g_autoptr(EAPMethod) eap = NULL;
@@ -214,14 +210,12 @@ eap_method_unref (EAPMethod *method)
 }
 
 gboolean
-eap_method_validate_filepicker (GtkBuilder *builder,
-                                const char *name,
+eap_method_validate_filepicker (GtkFileChooser *chooser,
                                 guint32 item_type,
                                 const char *password,
                                 NMSetting8021xCKFormat *out_format,
                                 GError **error)
 {
-       GtkWidget *widget;
        g_autofree gchar *filename = NULL;
        g_autoptr(NMSetting8021x) setting = NULL;
        gboolean success = TRUE;
@@ -231,9 +225,7 @@ eap_method_validate_filepicker (GtkBuilder *builder,
                        success = FALSE;
        }
 
-       widget = GTK_WIDGET (gtk_builder_get_object (builder, name));
-       g_assert (widget);
-       filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
+       filename = gtk_file_chooser_get_filename (chooser);
        if (!filename) {
                if (item_type != TYPE_CA_CERT) {
                        success = FALSE;
@@ -267,9 +259,9 @@ out:
                g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("unspecified error validating 
eap-method file"));
 
        if (success)
-               widget_unset_error (widget);
+               widget_unset_error (GTK_WIDGET (chooser));
        else
-               widget_set_error (widget);
+               widget_set_error (GTK_WIDGET (chooser));
        return success;
 }
 
@@ -475,22 +467,14 @@ eap_method_is_encrypted_private_key (const char *path)
  * selected.
  */
 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 (builder && id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
-
-       widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_not_required_checkbutton));
-       g_assert (widget && GTK_IS_TOGGLE_BUTTON (widget));
+       g_assert (id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
 
-       if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) {
+       if (!gtk_toggle_button_get_active (id_ca_cert_not_required_checkbutton)) {
                g_autofree gchar *filename = NULL;
 
-               widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_chooser));
-               g_assert (widget && GTK_IS_FILE_CHOOSER (widget));
-
-               filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
+               filename = gtk_file_chooser_get_filename (id_ca_cert_chooser);
                if (!filename)
                        return TRUE;
        }
@@ -499,24 +483,18 @@ eap_method_ca_cert_required (GtkBuilder *builder, const char *id_ca_cert_not_req
 
 
 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_old = NULL;
        gboolean is_not_required;
-       GtkWidget *widget;
-
-       g_assert (builder && id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
 
-       widget = GTK_WIDGET (gtk_builder_get_object (builder, 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));
+       g_assert (id_ca_cert_not_required_checkbutton && id_ca_cert_chooser);
 
-       widget = GTK_WIDGET (gtk_builder_get_object (builder, id_ca_cert_chooser));
-       g_assert (widget && GTK_IS_FILE_CHOOSER (widget));
+       is_not_required = gtk_toggle_button_get_active (id_ca_cert_not_required_checkbutton);
 
-       filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (widget));
-       filename_old = g_object_steal_data (G_OBJECT (widget), "filename-old");
+       filename = gtk_file_chooser_get_filename (id_ca_cert_chooser);
+       filename_old = g_object_steal_data (G_OBJECT (id_ca_cert_chooser), "filename-old");
        if (is_not_required) {
                g_free (filename_old);
                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);
                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)
-               gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (widget), filename);
+               gtk_file_chooser_set_filename (id_ca_cert_chooser, filename);
        else
-               gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (widget));
-       g_object_set_data_full (G_OBJECT (widget), "filename-old", g_steal_pointer (&filename_old), g_free);
+               gtk_file_chooser_unselect_all (id_ca_cert_chooser);
+       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 */
diff --git a/panels/network/wireless-security/eap-method.h b/panels/network/wireless-security/eap-method.h
index 0bb71634c..9f2f898b0 100644
--- a/panels/network/wireless-security/eap-method.h
+++ b/panels/network/wireless-security/eap-method.h
@@ -102,8 +102,7 @@ gboolean eap_method_is_encrypted_private_key (const char *path);
 #define TYPE_CA_CERT     1
 #define TYPE_PRIVATE_KEY 2
 
-gboolean eap_method_validate_filepicker (GtkBuilder *builder,
-                                         const char *name,
+gboolean eap_method_validate_filepicker (GtkFileChooser *chooser,
                                          guint32 item_type,
                                          const char *password,
                                          NMSetting8021xCKFormat *out_format,
@@ -111,15 +110,13 @@ gboolean eap_method_validate_filepicker (GtkBuilder *builder,
 
 void eap_method_phase2_update_secrets_helper (EAPMethod *method,
                                               NMConnection *connection,
-                                              const char *combo_name,
+                                              GtkComboBox *combo,
                                               guint32 column);
 
-gboolean eap_method_ca_cert_required (GtkBuilder *builder,
-                                      const char *id_ca_cert_is_not_required_checkbox,
-                                      const char *id_ca_cert_chooser);
-void eap_method_ca_cert_not_required_toggled (GtkBuilder *builder,
-                                              const char *id_ca_cert_is_not_required_checkbox,
-                                              const char *id_ca_cert_chooser);
+gboolean eap_method_ca_cert_required (GtkToggleButton *id_ca_cert_is_not_required_checkbutton,
+                                      GtkFileChooser *id_ca_cert_chooser);
+void eap_method_ca_cert_not_required_toggled (GtkToggleButton *id_ca_cert_is_not_required_checkbox,
+                                              GtkFileChooser *id_ca_cert_chooser);
 
 void eap_method_ca_cert_ignore_set (EAPMethod *method,
                                     NMConnection *connection,
diff --git a/panels/network/wireless-security/helpers.c b/panels/network/wireless-security/helpers.c
index aff9db247..083c66ffb 100644
--- a/panels/network/wireless-security/helpers.c
+++ b/panels/network/wireless-security/helpers.c
@@ -26,27 +26,22 @@
 
 void
 helper_fill_secret_entry (NMConnection *connection,
-                          GtkBuilder *builder,
-                          const char *entry_name,
+                          GtkEntry *entry,
                           GType setting_type,
                           HelperSecretFunc func)
 {
-       GtkWidget *widget;
        NMSetting *setting;
        const char *tmp;
 
        g_return_if_fail (connection != NULL);
-       g_return_if_fail (builder != NULL);
-       g_return_if_fail (entry_name != NULL);
+       g_return_if_fail (entry != NULL);
        g_return_if_fail (func != NULL);
 
        setting = nm_connection_get_setting (connection, setting_type);
        if (setting) {
                tmp = (*func) (setting);
                if (tmp) {
-                       widget = GTK_WIDGET (gtk_builder_get_object (builder, entry_name));
-                       g_assert (widget);
-                       gtk_entry_set_text (GTK_ENTRY (widget), tmp);
+                       gtk_entry_set_text (entry, tmp);
                }
        }
 }
diff --git a/panels/network/wireless-security/helpers.h b/panels/network/wireless-security/helpers.h
index f299c6958..43a8cd6ff 100644
--- a/panels/network/wireless-security/helpers.h
+++ b/panels/network/wireless-security/helpers.h
@@ -26,8 +26,7 @@
 typedef const char * (*HelperSecretFunc)(NMSetting *);
 
 void helper_fill_secret_entry (NMConnection *connection,
-                               GtkBuilder *builder,
-                               const char *entry_name,
+                               GtkEntry *entry,
                                GType setting_type,
                                HelperSecretFunc func);
 
diff --git a/panels/network/wireless-security/wireless-security.c 
b/panels/network/wireless-security/wireless-security.c
index c460ea8b7..e0f44302f 100644
--- a/panels/network/wireless-security/wireless-security.c
+++ b/panels/network/wireless-security/wireless-security.c
@@ -387,44 +387,33 @@ wireless_security_clear_ciphers (NMConnection *connection)
 }
 
 void
-ws_802_1x_add_to_size_group (WirelessSecurity *sec,
-                             GtkSizeGroup *size_group,
-                             const char *label_name,
-                             const char *combo_name)
+ws_802_1x_add_to_size_group (GtkSizeGroup *size_group,
+                             GtkLabel *label,
+                             GtkComboBox *combo)
 {
-       GtkWidget *widget;
        GtkTreeModel *model;
        GtkTreeIter iter;
        g_autoptr(EAPMethod) eap = NULL;
 
-       widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, label_name));
-       g_assert (widget);
-       gtk_size_group_add_widget (size_group, widget);
+       gtk_size_group_add_widget (size_group, GTK_WIDGET (label));
 
-       widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
-       g_assert (widget);
-
-       model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
-       gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
+       model = gtk_combo_box_get_model (combo);
+       gtk_combo_box_get_active_iter (combo, &iter);
        gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
        g_assert (eap);
        eap_method_add_to_size_group (eap, size_group);
 }
 
 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;
        GtkTreeIter iter;
        g_autoptr(EAPMethod) eap = NULL;
        gboolean valid = FALSE;
 
-       widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
-       g_assert (widget);
-
-       model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
-       gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
+       model = gtk_combo_box_get_model (combo);
+       gtk_combo_box_get_active_iter (combo, &iter);
        gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
        g_assert (eap);
        valid = eap_method_validate (eap, error);
@@ -434,10 +423,9 @@ ws_802_1x_validate (WirelessSecurity *sec, const char *combo_name, GError **erro
 void
 ws_802_1x_auth_combo_changed (GtkWidget *combo,
                               WirelessSecurity *sec,
-                              const char *vbox_name,
+                              GtkBox *vbox,
                               GtkSizeGroup *size_group)
 {
-       GtkWidget *vbox;
        g_autoptr(EAPMethod) eap = NULL;
        GList *elt, *children;
        GtkTreeModel *model;
@@ -445,9 +433,6 @@ ws_802_1x_auth_combo_changed (GtkWidget *combo,
        GtkWidget *eap_widget;
        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 */
        children = gtk_container_get_children (GTK_CONTAINER (vbox));
        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));
 }
 
-GtkWidget *
+void
 ws_802_1x_auth_combo_init (WirelessSecurity *sec,
-                           const char *combo_name,
-                           const char *combo_label,
+                           GtkComboBox *combo,
+                           GtkLabel *label,
                            GCallback auth_combo_changed_cb,
                            NMConnection *connection,
                            gboolean is_editor,
                            gboolean secrets_only)
 {
-       GtkWidget *combo, *widget;
        g_autoptr(GtkListStore) auth_model = NULL;
        GtkTreeIter iter;
        g_autoptr(EAPMethodTLS) em_tls = NULL;
@@ -603,29 +587,21 @@ ws_802_1x_auth_combo_init (WirelessSecurity *sec,
                active = item;
        item++;
 
-       combo = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
-       g_assert (combo);
-
-       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);
+       gtk_combo_box_set_model (combo, GTK_TREE_MODEL (auth_model));
+       gtk_combo_box_set_active (combo, active < 0 ? 0 : (guint32) active);
 
        g_signal_connect (G_OBJECT (combo), "changed", auth_combo_changed_cb, sec);
 
        if (secrets_only) {
-               gtk_widget_hide (combo);
-               widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_label));
-               gtk_widget_hide (widget);
+               gtk_widget_hide (GTK_WIDGET (combo));
+               gtk_widget_hide (GTK_WIDGET (label));
        }
-
-       return combo;
 }
 
 void
-ws_802_1x_fill_connection (WirelessSecurity *sec,
-                           const char *combo_name,
+ws_802_1x_fill_connection (GtkComboBox *combo,
                            NMConnection *connection)
 {
-       GtkWidget *widget;
        NMSettingWirelessSecurity *s_wireless_sec;
        NMSetting8021x *s_8021x;
        NMSettingSecretFlags secret_flags = NM_SETTING_SECRET_FLAG_NONE;
@@ -634,9 +610,8 @@ ws_802_1x_fill_connection (WirelessSecurity *sec,
        GtkTreeIter iter;
 
        /* Get the EAPMethod object */
-       widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
-       model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
-       gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter);
+       model = gtk_combo_box_get_model (combo);
+       gtk_combo_box_get_active_iter (combo, &iter);
        gtk_tree_model_get (model, &iter, AUTH_METHOD_COLUMN, &eap, -1);
        g_assert (eap);
 
@@ -659,21 +634,16 @@ ws_802_1x_fill_connection (WirelessSecurity *sec,
 }
 
 void
-ws_802_1x_update_secrets (WirelessSecurity *sec,
-                          const char *combo_name,
+ws_802_1x_update_secrets (GtkComboBox *combo,
                           NMConnection *connection)
 {
-       GtkWidget *widget;
        GtkTreeModel *model;
        GtkTreeIter iter;
 
-       g_return_if_fail (sec != NULL);
-       g_return_if_fail (combo_name != NULL);
+       g_return_if_fail (combo != NULL);
        g_return_if_fail (connection != NULL);
 
-       widget = GTK_WIDGET (gtk_builder_get_object (sec->builder, combo_name));
-       g_return_if_fail (widget != NULL);
-       model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
+       model = gtk_combo_box_get_model (combo);
 
        /* Let each EAP method try to update its secrets */
        if (gtk_tree_model_get_iter_first (model, &iter)) {
diff --git a/panels/network/wireless-security/wireless-security.h 
b/panels/network/wireless-security/wireless-security.h
index 19e05b553..1546585ba 100644
--- a/panels/network/wireless-security/wireless-security.h
+++ b/panels/network/wireless-security/wireless-security.h
@@ -119,32 +119,29 @@ void wireless_security_clear_ciphers (NMConnection *connection);
 #define AUTH_NAME_COLUMN   0
 #define AUTH_METHOD_COLUMN 1
 
-GtkWidget *ws_802_1x_auth_combo_init (WirelessSecurity *sec,
-                                      const char *combo_name,
-                                      const char *combo_label,
-                                      GCallback auth_combo_changed_cb,
-                                      NMConnection *connection,
-                                      gboolean is_editor,
-                                      gboolean secrets_only);
+void ws_802_1x_auth_combo_init (WirelessSecurity *sec,
+                                GtkComboBox *combo,
+                                GtkLabel *label,
+                                GCallback auth_combo_changed_cb,
+                                NMConnection *connection,
+                                gboolean is_editor,
+                                gboolean secrets_only);
 
 void ws_802_1x_auth_combo_changed (GtkWidget *combo,
                                    WirelessSecurity *sec,
-                                   const char *vbox_name,
+                                   GtkBox *vbox,
                                    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,
-                                  GtkSizeGroup *size_group,
-                                  const char *label_name,
-                                  const char *combo_name);
+void ws_802_1x_add_to_size_group (GtkSizeGroup *size_group,
+                                  GtkLabel *label,
+                                  GtkComboBox *combo);
 
-void ws_802_1x_fill_connection (WirelessSecurity *sec,
-                                const char *combo_name,
+void ws_802_1x_fill_connection (GtkComboBox *combo,
                                 NMConnection *connection);
 
-void ws_802_1x_update_secrets (WirelessSecurity *sec,
-                               const char *combo_name,
+void ws_802_1x_update_secrets (GtkComboBox *combo,
                                NMConnection *connection);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC (WirelessSecurity, wireless_security_unref)
diff --git a/panels/network/wireless-security/ws-dynamic-wep.c 
b/panels/network/wireless-security/ws-dynamic-wep.c
index b3398a814..31ec7536d 100644
--- a/panels/network/wireless-security/ws-dynamic-wep.c
+++ b/panels/network/wireless-security/ws-dynamic-wep.c
@@ -46,7 +46,7 @@ destroy (WirelessSecurity *parent)
 static gboolean
 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
@@ -58,10 +58,9 @@ add_to_size_group (WirelessSecurity *parent, GtkSizeGroup *group)
                g_object_unref (sec->size_group);
        sec->size_group = g_object_ref (group);
 
-       ws_802_1x_add_to_size_group (parent,
-                                    sec->size_group,
-                                    "dynamic_wep_auth_label",
-                                    "dynamic_wep_auth_combo");
+       ws_802_1x_add_to_size_group (sec->size_group,
+                                    GTK_LABEL (gtk_builder_get_object (parent->builder, 
"dynamic_wep_auth_label")),
+                                    GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"dynamic_wep_auth_combo")));
 }
 
 static void
@@ -69,7 +68,7 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection)
 {
        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);
        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,
                                      parent,
-                                     "dynamic_wep_method_vbox",
+                                     GTK_BOX (gtk_builder_get_object (parent->builder, 
"dynamic_wep_method_vbox")),
                                      sec->size_group);
 }
 
 static void
 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 *
@@ -101,7 +100,6 @@ ws_dynamic_wep_new (NMConnection *connection,
                     gboolean secrets_only)
 {
        WirelessSecurity *parent;
-       GtkWidget *widget;
 
        parent = wireless_security_init (sizeof (WirelessSecurityDynamicWEP),
                                         validate,
@@ -117,14 +115,14 @@ ws_dynamic_wep_new (NMConnection *connection,
        wireless_security_set_adhoc_compatible (parent, FALSE);
        wireless_security_set_hotspot_compatible (parent, FALSE);
 
-       widget = ws_802_1x_auth_combo_init (parent,
-                                           "dynamic_wep_auth_combo",
-                                           "dynamic_wep_auth_label",
-                                           (GCallback) auth_combo_changed_cb,
-                                           connection,
-                                           is_editor,
-                                           secrets_only);
-       auth_combo_changed_cb (widget, (gpointer) parent);
+       ws_802_1x_auth_combo_init (parent,
+                                  GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"dynamic_wep_auth_combo")),
+                                  GTK_LABEL (gtk_builder_get_object (parent->builder, 
"dynamic_wep_auth_label")),
+                                  (GCallback) auth_combo_changed_cb,
+                                  connection,
+                                  is_editor,
+                                  secrets_only);
+       auth_combo_changed_cb (GTK_WIDGET (gtk_builder_get_object (parent->builder, 
"dynamic_wep_auth_combo")), (gpointer) parent);
 
        return (WirelessSecurityDynamicWEP *) parent;
 }
diff --git a/panels/network/wireless-security/ws-leap.c b/panels/network/wireless-security/ws-leap.c
index 6334e6ed6..fe474e269 100644
--- a/panels/network/wireless-security/ws-leap.c
+++ b/panels/network/wireless-security/ws-leap.c
@@ -134,8 +134,7 @@ static void
 update_secrets (WirelessSecurity *parent, NMConnection *connection)
 {
        helper_fill_secret_entry (connection,
-                                 parent->builder,
-                                 "leap_password_entry",
+                                 GTK_ENTRY (gtk_builder_get_object (parent->builder, "leap_password_entry")),
                                  NM_TYPE_SETTING_WIRELESS_SECURITY,
                                  (HelperSecretFunc) nm_setting_wireless_security_get_leap_password);
 }
diff --git a/panels/network/wireless-security/ws-wpa-eap.c b/panels/network/wireless-security/ws-wpa-eap.c
index 9d072c773..e41aa0b7c 100644
--- a/panels/network/wireless-security/ws-wpa-eap.c
+++ b/panels/network/wireless-security/ws-wpa-eap.c
@@ -47,7 +47,7 @@ destroy (WirelessSecurity *parent)
 static gboolean
 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
@@ -59,10 +59,9 @@ add_to_size_group (WirelessSecurity *parent, GtkSizeGroup *group)
                g_object_unref (sec->size_group);
        sec->size_group = g_object_ref (group);
 
-       ws_802_1x_add_to_size_group (parent,
-                                    sec->size_group,
-                                    "wpa_eap_auth_label",
-                                    "wpa_eap_auth_combo");
+       ws_802_1x_add_to_size_group (sec->size_group,
+                                    GTK_LABEL (gtk_builder_get_object (parent->builder, 
"wpa_eap_auth_label")),
+                                    GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"wpa_eap_auth_combo")));
 }
 
 static void
@@ -70,7 +69,7 @@ fill_connection (WirelessSecurity *parent, NMConnection *connection)
 {
        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);
        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,
                                      parent,
-                                     "wpa_eap_method_vbox",
+                                     GTK_BOX (gtk_builder_get_object (parent->builder, 
"wpa_eap_method_vbox")),
                                      sec->size_group);
 }
 
 static void
 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 *
@@ -102,7 +101,6 @@ ws_wpa_eap_new (NMConnection *connection,
                 gboolean secrets_only)
 {
        WirelessSecurity *parent;
-       GtkWidget *widget;
 
        parent = wireless_security_init (sizeof (WirelessSecurityWPAEAP),
                                         validate,
@@ -118,14 +116,14 @@ ws_wpa_eap_new (NMConnection *connection,
        wireless_security_set_adhoc_compatible (parent, FALSE);
        wireless_security_set_hotspot_compatible (parent, FALSE);
 
-       widget = ws_802_1x_auth_combo_init (parent,
-                                           "wpa_eap_auth_combo",
-                                           "wpa_eap_auth_label",
-                                           (GCallback) auth_combo_changed_cb,
-                                           connection,
-                                           is_editor,
-                                           secrets_only);
-       auth_combo_changed_cb (widget, parent);
+       ws_802_1x_auth_combo_init (parent,
+                                  GTK_COMBO_BOX (gtk_builder_get_object (parent->builder, 
"wpa_eap_auth_combo")),
+                                  GTK_LABEL (gtk_builder_get_object (parent->builder, "wpa_eap_auth_label")),
+                                  (GCallback) auth_combo_changed_cb,
+                                  connection,
+                                  is_editor,
+                                  secrets_only);
+       auth_combo_changed_cb (GTK_WIDGET (gtk_builder_get_object (parent->builder, "wpa_eap_auth_combo")), 
parent);
 
        return (WirelessSecurityWPAEAP *) parent;
 }
diff --git a/panels/network/wireless-security/ws-wpa-psk.c b/panels/network/wireless-security/ws-wpa-psk.c
index 166e81f31..547815ae0 100644
--- a/panels/network/wireless-security/ws-wpa-psk.c
+++ b/panels/network/wireless-security/ws-wpa-psk.c
@@ -162,8 +162,7 @@ static void
 update_secrets (WirelessSecurity *parent, NMConnection *connection)
 {
        helper_fill_secret_entry (connection,
-                                 parent->builder,
-                                 "wpa_psk_entry",
+                                 GTK_ENTRY (gtk_builder_get_object (parent->builder, "wpa_psk_entry")),
                                  NM_TYPE_SETTING_WIRELESS_SECURITY,
                                  (HelperSecretFunc) nm_setting_wireless_security_get_psk);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]