[gnome-control-center] network: Convert EAPMethod classes to GtkTemplates
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] network: Convert EAPMethod classes to GtkTemplates
- Date: Wed, 27 Nov 2019 22:10:59 +0000 (UTC)
commit 0f1cff9130eb32b0b78557415a77ad14f957d44e
Author: Robert Ancell <robert ancell canonical com>
Date: Thu Nov 7 11:35:25 2019 +1300
network: Convert EAPMethod classes to GtkTemplates
panels/network/wireless-security/eap-method-fast.c | 55 ++++++------------
panels/network/wireless-security/eap-method-fast.h | 3 +-
.../network/wireless-security/eap-method-fast.ui | 4 +-
panels/network/wireless-security/eap-method-leap.c | 45 +++++----------
panels/network/wireless-security/eap-method-leap.h | 5 +-
.../network/wireless-security/eap-method-leap.ui | 4 +-
panels/network/wireless-security/eap-method-peap.c | 57 ++++++------------
panels/network/wireless-security/eap-method-peap.h | 5 +-
.../network/wireless-security/eap-method-peap.ui | 4 +-
.../network/wireless-security/eap-method-simple.c | 45 +++++----------
.../network/wireless-security/eap-method-simple.h | 5 +-
.../network/wireless-security/eap-method-simple.ui | 4 +-
panels/network/wireless-security/eap-method-tls.c | 67 +++++++---------------
panels/network/wireless-security/eap-method-tls.h | 5 +-
panels/network/wireless-security/eap-method-tls.ui | 4 +-
panels/network/wireless-security/eap-method-ttls.c | 57 ++++++------------
panels/network/wireless-security/eap-method-ttls.h | 5 +-
.../network/wireless-security/eap-method-ttls.ui | 4 +-
panels/network/wireless-security/eap-method.c | 8 ---
panels/network/wireless-security/eap-method.h | 5 +-
.../network/wireless-security/wireless-security.c | 8 +--
21 files changed, 143 insertions(+), 256 deletions(-)
---
diff --git a/panels/network/wireless-security/eap-method-fast.c
b/panels/network/wireless-security/eap-method-fast.c
index df8bf77df..a88d67e91 100644
--- a/panels/network/wireless-security/eap-method-fast.c
+++ b/panels/network/wireless-security/eap-method-fast.c
@@ -36,12 +36,10 @@
#define I_METHOD_COLUMN 1
struct _EAPMethodFAST {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
GtkEntry *anon_identity_entry;
GtkLabel *anon_identity_label;
- GtkGrid *grid;
GtkComboBox *inner_auth_combo;
GtkLabel *inner_auth_label;
GtkBox *inner_auth_box;
@@ -57,7 +55,7 @@ struct _EAPMethodFAST {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodFAST, eap_method_fast, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodFAST, eap_method_fast, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
static void
@@ -65,7 +63,6 @@ eap_method_fast_dispose (GObject *object)
{
EAPMethodFAST *self = EAP_METHOD_FAST (object);
- g_clear_object (&self->builder);
g_clear_object (&self->size_group);
G_OBJECT_CLASS (eap_method_fast_parent_class)->dispose (object);
@@ -185,7 +182,6 @@ inner_auth_combo_changed_cb (EAPMethodFAST *self)
GList *elt, *children;
GtkTreeModel *model;
GtkTreeIter iter;
- GtkWidget *eap_widget;
/* Remove any previous wireless security widgets */
children = gtk_container_get_children (GTK_CONTAINER (self->inner_auth_box));
@@ -198,13 +194,10 @@ inner_auth_combo_changed_cb (EAPMethodFAST *self)
gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
g_assert (eap);
- eap_widget = eap_method_get_widget (eap);
- g_assert (eap_widget);
- gtk_widget_unparent (eap_widget);
-
+ gtk_widget_unparent (GTK_WIDGET (eap));
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
- gtk_container_add (GTK_CONTAINER (self->inner_auth_box), eap_widget);
+ gtk_container_add (GTK_CONTAINER (self->inner_auth_box), g_object_ref (GTK_WIDGET (eap)));
wireless_security_notify_changed (self->sec_parent);
}
@@ -282,13 +275,6 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
I_METHOD_COLUMN);
}
-static GtkWidget *
-get_widget (EAPMethod *parent)
-{
- EAPMethodFAST *self = (EAPMethodFAST *) parent;
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *parent)
{
@@ -322,14 +308,28 @@ changed_cb (EAPMethodFAST *self)
static void
eap_method_fast_init (EAPMethodFAST *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_fast_class_init (EAPMethodFASTClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = eap_method_fast_dispose;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-fast.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, anon_identity_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, anon_identity_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, inner_auth_combo);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, inner_auth_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, inner_auth_box);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, pac_file_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, pac_file_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, pac_provision_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodFAST, pac_provision_combo);
}
static void
@@ -339,7 +339,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
}
@@ -355,29 +354,11 @@ eap_method_fast_new (WirelessSecurity *ws_parent,
NMSetting8021x *s_8021x = NULL;
const char *filename;
gboolean provisioning_enabled = TRUE;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_fast_get_type (), NULL);
self->sec_parent = ws_parent;
self->is_editor = is_editor;
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-fast.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->anon_identity_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "anon_identity_entry"));
- self->anon_identity_label = GTK_LABEL (gtk_builder_get_object (self->builder, "anon_identity_label"));
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->inner_auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "inner_auth_combo"));
- self->inner_auth_label = GTK_LABEL (gtk_builder_get_object (self->builder, "inner_auth_label"));
- self->inner_auth_box = GTK_BOX (gtk_builder_get_object (self->builder, "inner_auth_box"));
- self->pac_file_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"pac_file_button"));
- self->pac_file_label = GTK_LABEL (gtk_builder_get_object (self->builder, "pac_file_label"));
- self->pac_provision_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"pac_provision_check"));
- self->pac_provision_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder,
"pac_provision_combo"));
-
if (connection)
s_8021x = nm_connection_get_setting_802_1x (connection);
diff --git a/panels/network/wireless-security/eap-method-fast.h
b/panels/network/wireless-security/eap-method-fast.h
index 4401f5315..474571d57 100644
--- a/panels/network/wireless-security/eap-method-fast.h
+++ b/panels/network/wireless-security/eap-method-fast.h
@@ -22,13 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
#include <NetworkManager.h>
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodFAST, eap_method_fast, EAP, METHOD_FAST, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodFAST, eap_method_fast, EAP, METHOD_FAST, GtkGrid)
EAPMethodFAST *eap_method_fast_new (WirelessSecurity *ws_parent,
NMConnection *connection,
diff --git a/panels/network/wireless-security/eap-method-fast.ui
b/panels/network/wireless-security/eap-method-fast.ui
index c6470d1ed..28964b427 100644
--- a/panels/network/wireless-security/eap-method-fast.ui
+++ b/panels/network/wireless-security/eap-method-fast.ui
@@ -29,7 +29,7 @@
</row>
</data>
</object>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodFAST" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
@@ -165,5 +165,5 @@
<property name="top_attach">1</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method-leap.c
b/panels/network/wireless-security/eap-method-leap.c
index fe5997f0b..55e818b49 100644
--- a/panels/network/wireless-security/eap-method-leap.c
+++ b/panels/network/wireless-security/eap-method-leap.c
@@ -33,10 +33,8 @@
#include "utils.h"
struct _EAPMethodLEAP {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
- GtkGrid *grid;
GtkEntry *password_entry;
GtkLabel *password_label;
GtkCheckButton *show_password_check;
@@ -50,7 +48,7 @@ struct _EAPMethodLEAP {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodLEAP, eap_method_leap, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodLEAP, eap_method_leap, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
static void
@@ -133,13 +131,6 @@ update_secrets (EAPMethod *parent, NMConnection *connection)
(HelperSecretFunc) nm_setting_802_1x_get_password);
}
-static GtkWidget *
-get_widget (EAPMethod *parent)
-{
- EAPMethodLEAP *self = (EAPMethodLEAP *) parent;
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *parent)
{
@@ -192,8 +183,7 @@ eap_method_leap_dispose (GObject *object)
{
EAPMethodLEAP *self = EAP_METHOD_LEAP (object);
- g_clear_object (&self->builder);
- g_signal_handlers_disconnect_by_data (self->grid, self);
+ g_signal_handlers_disconnect_by_data (self, self);
g_signal_handlers_disconnect_by_data (self->username_entry, self->ws_parent);
g_signal_handlers_disconnect_by_data (self->password_entry, self->ws_parent);
g_signal_handlers_disconnect_by_data (self->show_password_check, self);
@@ -210,14 +200,24 @@ changed_cb (EAPMethodLEAP *self)
static void
eap_method_leap_init (EAPMethodLEAP *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_leap_class_init (EAPMethodLEAPClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = eap_method_leap_dispose;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-leap.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodLEAP, password_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodLEAP, password_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodLEAP, show_password_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodLEAP, username_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodLEAP, username_label);
}
static void
@@ -227,7 +227,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
}
@@ -239,27 +238,13 @@ eap_method_leap_new (WirelessSecurity *ws_parent,
{
EAPMethodLEAP *self;
NMSetting8021x *s_8021x = NULL;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_leap_get_type (), NULL);
self->editing_connection = secrets_only ? FALSE : TRUE;
self->ws_parent = ws_parent;
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-leap.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->password_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "password_entry"));
- self->password_label = GTK_LABEL (gtk_builder_get_object (self->builder, "password_label"));
- self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"show_password_check"));
- self->username_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "username_entry"));
- self->username_label = GTK_LABEL (gtk_builder_get_object (self->builder, "username_label"));
-
- g_signal_connect_swapped (self->grid, "realize", G_CALLBACK (widgets_realized), self);
- g_signal_connect_swapped (self->grid, "unrealize", G_CALLBACK (widgets_unrealized), self);
+ g_signal_connect_swapped (self, "realize", G_CALLBACK (widgets_realized), self);
+ g_signal_connect_swapped (self, "unrealize", G_CALLBACK (widgets_unrealized), self);
g_signal_connect_swapped (self->username_entry, "changed", G_CALLBACK (changed_cb), self);
diff --git a/panels/network/wireless-security/eap-method-leap.h
b/panels/network/wireless-security/eap-method-leap.h
index b8522ebab..5b3491643 100644
--- a/panels/network/wireless-security/eap-method-leap.h
+++ b/panels/network/wireless-security/eap-method-leap.h
@@ -22,11 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
+#include <NetworkManager.h>
+
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodLEAP, eap_method_leap, EAP, METHOD_LEAP, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodLEAP, eap_method_leap, EAP, METHOD_LEAP, GtkGrid)
EAPMethodLEAP *eap_method_leap_new (WirelessSecurity *ws_parent,
NMConnection *connection,
diff --git a/panels/network/wireless-security/eap-method-leap.ui
b/panels/network/wireless-security/eap-method-leap.ui
index b08802c15..4e289fba8 100644
--- a/panels/network/wireless-security/eap-method-leap.ui
+++ b/panels/network/wireless-security/eap-method-leap.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.4"/>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodLEAP" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
@@ -77,5 +77,5 @@
<property name="top_attach">0</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method-peap.c
b/panels/network/wireless-security/eap-method-peap.c
index 70e1b3e8c..3b4353bb2 100644
--- a/panels/network/wireless-security/eap-method-peap.c
+++ b/panels/network/wireless-security/eap-method-peap.c
@@ -35,15 +35,13 @@
#define I_METHOD_COLUMN 1
struct _EAPMethodPEAP {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
GtkEntry *anon_identity_entry;
GtkLabel *anon_identity_label;
GtkFileChooserButton *ca_cert_button;
GtkLabel *ca_cert_label;
GtkCheckButton *ca_cert_not_required_check;
- GtkGrid *grid;
GtkBox *inner_auth_box;
GtkComboBox *inner_auth_combo;
GtkLabel *inner_auth_label;
@@ -57,7 +55,7 @@ struct _EAPMethodPEAP {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodPEAP, eap_method_peap, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodPEAP, eap_method_peap, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
static void
@@ -65,7 +63,6 @@ eap_method_peap_dispose (GObject *object)
{
EAPMethodPEAP *self = EAP_METHOD_PEAP (object);
- g_clear_object (&self->builder);
g_clear_object (&self->size_group);
G_OBJECT_CLASS (eap_method_peap_parent_class)->dispose (object);
@@ -191,7 +188,6 @@ inner_auth_combo_changed_cb (EAPMethodPEAP *self)
GList *elt, *children;
GtkTreeModel *model;
GtkTreeIter iter;
- GtkWidget *eap_widget;
/* Remove any previous wireless security widgets */
children = gtk_container_get_children (GTK_CONTAINER (self->inner_auth_box));
@@ -203,13 +199,10 @@ inner_auth_combo_changed_cb (EAPMethodPEAP *self)
gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
g_assert (eap);
- eap_widget = eap_method_get_widget (eap);
- g_assert (eap_widget);
- gtk_widget_unparent (eap_widget);
-
+ gtk_widget_unparent (GTK_WIDGET (eap));
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
- gtk_container_add (GTK_CONTAINER (self->inner_auth_box), eap_widget);
+ gtk_container_add (GTK_CONTAINER (self->inner_auth_box), g_object_ref (GTK_WIDGET (eap)));
wireless_security_notify_changed (self->sec_parent);
}
@@ -302,13 +295,6 @@ update_secrets (EAPMethod *method, NMConnection *connection)
I_METHOD_COLUMN);
}
-static GtkWidget *
-get_widget (EAPMethod *method)
-{
- EAPMethodPEAP *self = EAP_METHOD_PEAP (method);
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *method)
{
@@ -331,14 +317,29 @@ changed_cb (EAPMethodPEAP *self)
static void
eap_method_peap_init (EAPMethodPEAP *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_peap_class_init (EAPMethodPEAPClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = eap_method_peap_dispose;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-peap.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, anon_identity_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, anon_identity_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, ca_cert_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, ca_cert_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, ca_cert_not_required_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, inner_auth_box);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, inner_auth_combo);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, inner_auth_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, version_combo);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodPEAP, version_label);
}
static void
@@ -348,7 +349,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
}
@@ -363,30 +363,11 @@ eap_method_peap_new (WirelessSecurity *ws_parent,
GtkFileFilter *filter;
NMSetting8021x *s_8021x = NULL;
const char *filename;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_peap_get_type (), NULL);
self->sec_parent = ws_parent;
self->is_editor = is_editor;
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-peap.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->anon_identity_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "anon_identity_entry"));
- self->anon_identity_label = GTK_LABEL (gtk_builder_get_object (self->builder, "anon_identity_label"));
- self->ca_cert_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_button"));
- self->ca_cert_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ca_cert_label"));
- self->ca_cert_not_required_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_not_required_check"));
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->inner_auth_box = GTK_BOX (gtk_builder_get_object (self->builder, "inner_auth_box"));
- self->inner_auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "inner_auth_combo"));
- self->inner_auth_label = GTK_LABEL (gtk_builder_get_object (self->builder, "inner_auth_label"));
- self->version_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "version_combo"));
- self->version_label = GTK_LABEL (gtk_builder_get_object (self->builder, "version_label"));
-
if (connection)
s_8021x = nm_connection_get_setting_802_1x (connection);
diff --git a/panels/network/wireless-security/eap-method-peap.h
b/panels/network/wireless-security/eap-method-peap.h
index 64952c689..b79641799 100644
--- a/panels/network/wireless-security/eap-method-peap.h
+++ b/panels/network/wireless-security/eap-method-peap.h
@@ -22,11 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
+#include <NetworkManager.h>
+
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodPEAP, eap_method_peap, EAP, METHOD_PEAP, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodPEAP, eap_method_peap, EAP, METHOD_PEAP, GtkGrid)
EAPMethodPEAP *eap_method_peap_new (WirelessSecurity *ws_parent,
NMConnection *connection,
diff --git a/panels/network/wireless-security/eap-method-peap.ui
b/panels/network/wireless-security/eap-method-peap.ui
index 8190d4898..baa6c5cb6 100644
--- a/panels/network/wireless-security/eap-method-peap.ui
+++ b/panels/network/wireless-security/eap-method-peap.ui
@@ -29,7 +29,7 @@
</row>
</data>
</object>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodPEAP" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="column_spacing">6</property>
@@ -179,5 +179,5 @@
<property name="width">2</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method-simple.c
b/panels/network/wireless-security/eap-method-simple.c
index 2eabf64d7..112583877 100644
--- a/panels/network/wireless-security/eap-method-simple.c
+++ b/panels/network/wireless-security/eap-method-simple.c
@@ -33,10 +33,8 @@
#include "utils.h"
struct _EAPMethodSimple {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
- GtkGrid *grid;
GtkEntry *password_entry;
GtkLabel *password_label;
GtkToggleButton *show_password_check;
@@ -53,7 +51,7 @@ struct _EAPMethodSimple {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodSimple, eap_method_simple, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodSimple, eap_method_simple, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
static void
@@ -197,13 +195,6 @@ update_secrets (EAPMethod *method, NMConnection *connection)
(HelperSecretFunc) nm_setting_802_1x_get_password);
}
-static GtkWidget *
-get_widget (EAPMethod *method)
-{
- EAPMethodSimple *self = EAP_METHOD_SIMPLE (method);
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *method)
{
@@ -292,8 +283,7 @@ eap_method_simple_dispose (GObject *object)
{
EAPMethodSimple *self = EAP_METHOD_SIMPLE (object);
- g_clear_object (&self->builder);
- g_signal_handlers_disconnect_by_data (self->grid, self);
+ g_signal_handlers_disconnect_by_data (self, self);
g_signal_handlers_disconnect_by_data (self->username_entry, self->ws_parent);
g_signal_handlers_disconnect_by_data (self->password_entry, self->ws_parent);
g_signal_handlers_disconnect_by_data (self->password_entry, self);
@@ -313,14 +303,24 @@ changed_cb (EAPMethodSimple *self)
static void
eap_method_simple_init (EAPMethodSimple *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_simple_class_init (EAPMethodSimpleClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = eap_method_simple_dispose;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-simple.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodSimple, password_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodSimple, username_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodSimple, password_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodSimple, show_password_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodSimple, username_entry);
}
static void
@@ -330,7 +330,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
iface->get_phase2 = get_phase2;
@@ -344,7 +343,6 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
{
EAPMethodSimple *self;
NMSetting8021x *s_8021x = NULL;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_simple_get_type (), NULL);
self->ws_parent = ws_parent;
@@ -352,21 +350,8 @@ eap_method_simple_new (WirelessSecurity *ws_parent,
self->type = type;
g_assert (type < EAP_METHOD_SIMPLE_TYPE_LAST);
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-simple.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->password_label = GTK_LABEL (gtk_builder_get_object (self->builder, "password_label"));
- self->username_label = GTK_LABEL (gtk_builder_get_object (self->builder, "username_label"));
- self->password_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "password_entry"));
- self->show_password_check = GTK_TOGGLE_BUTTON (gtk_builder_get_object (self->builder,
"show_password_check"));
- self->username_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "username_entry"));
-
- g_signal_connect_swapped (self->grid, "realize", G_CALLBACK (widgets_realized), self);
- g_signal_connect_swapped (self->grid, "unrealize", G_CALLBACK (widgets_unrealized), self);
+ g_signal_connect_swapped (self, "realize", G_CALLBACK (widgets_realized), self);
+ g_signal_connect_swapped (self, "unrealize", G_CALLBACK (widgets_unrealized), self);
g_signal_connect_swapped (self->username_entry, "changed", G_CALLBACK (changed_cb), self);
diff --git a/panels/network/wireless-security/eap-method-simple.h
b/panels/network/wireless-security/eap-method-simple.h
index be418dd09..527b7dbc4 100644
--- a/panels/network/wireless-security/eap-method-simple.h
+++ b/panels/network/wireless-security/eap-method-simple.h
@@ -22,11 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
+#include <NetworkManager.h>
+
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodSimple, eap_method_simple, EAP, METHOD_SIMPLE, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodSimple, eap_method_simple, EAP, METHOD_SIMPLE, GtkGrid)
typedef enum {
/* NOTE: when updating this table, also update eap_methods[] */
diff --git a/panels/network/wireless-security/eap-method-simple.ui
b/panels/network/wireless-security/eap-method-simple.ui
index 00799ac93..7a0a9a677 100644
--- a/panels/network/wireless-security/eap-method-simple.ui
+++ b/panels/network/wireless-security/eap-method-simple.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.4"/>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodSimple" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
@@ -93,5 +93,5 @@
<property name="top_attach">2</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method-tls.c
b/panels/network/wireless-security/eap-method-tls.c
index 8263d56e6..15c615c7d 100644
--- a/panels/network/wireless-security/eap-method-tls.c
+++ b/panels/network/wireless-security/eap-method-tls.c
@@ -33,13 +33,11 @@
#include "utils.h"
struct _EAPMethodTLS {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
GtkFileChooserButton *ca_cert_button;
GtkLabel *ca_cert_label;
GtkCheckButton *ca_cert_not_required_check;
- GtkGrid *grid;
GtkEntry *identity_entry;
GtkLabel *identity_label;
GtkFileChooserButton *private_key_button;
@@ -58,19 +56,9 @@ struct _EAPMethodTLS {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodTLS, eap_method_tls, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodTLS, eap_method_tls, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
-static void
-eap_method_tls_dispose (GObject *object)
-{
- EAPMethodTLS *self = EAP_METHOD_TLS (object);
-
- g_clear_object (&self->builder);
-
- G_OBJECT_CLASS (eap_method_tls_parent_class)->dispose (object);
-}
-
static void
show_toggled_cb (EAPMethodTLS *self)
{
@@ -281,7 +269,7 @@ private_key_picker_helper (EAPMethodTLS *self, const char *filename, gboolean ch
GtkWidget *toplevel;
GtkWindow *parent_window = NULL;
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self->grid));
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self));
if (gtk_widget_is_toplevel (toplevel))
parent_window = GTK_WINDOW (toplevel);
@@ -412,13 +400,6 @@ update_secrets (EAPMethod *method, NMConnection *connection)
}
}
-static GtkWidget *
-get_widget (EAPMethod *method)
-{
- EAPMethodTLS *self = EAP_METHOD_TLS (method);
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *method)
{
@@ -443,14 +424,28 @@ get_phase2 (EAPMethod *method)
static void
eap_method_tls_init (EAPMethodTLS *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_tls_class_init (EAPMethodTLSClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->dispose = eap_method_tls_dispose;
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-tls.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, ca_cert_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, ca_cert_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, ca_cert_not_required_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, identity_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, identity_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, private_key_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, private_key_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, private_key_password_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, private_key_password_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, show_password_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, user_cert_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTLS, user_cert_label);
}
static void
@@ -460,7 +455,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
iface->get_phase2 = get_phase2;
@@ -475,7 +469,6 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
EAPMethodTLS *self;
NMSetting8021x *s_8021x = NULL;
gboolean ca_not_required = FALSE;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_tls_get_type (), NULL);
self->phase2 = phase2;
@@ -485,26 +478,6 @@ eap_method_tls_new (WirelessSecurity *ws_parent,
self->sec_parent = ws_parent;
self->editing_connection = secrets_only ? FALSE : TRUE;
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-tls.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->ca_cert_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_button"));
- self->ca_cert_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ca_cert_label"));
- self->ca_cert_not_required_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_not_required_check"));
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->identity_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "identity_entry"));
- self->identity_label = GTK_LABEL (gtk_builder_get_object (self->builder, "identity_label"));
- self->private_key_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"private_key_button"));
- self->private_key_label = GTK_LABEL (gtk_builder_get_object (self->builder, "private_key_label"));
- self->private_key_password_entry = GTK_ENTRY (gtk_builder_get_object (self->builder,
"private_key_password_entry"));
- self->private_key_password_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"private_key_password_label"));
- self->show_password_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"show_password_check"));
- self->user_cert_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"user_cert_button"));
- self->user_cert_label = GTK_LABEL (gtk_builder_get_object (self->builder, "user_cert_label"));
-
if (connection)
s_8021x = nm_connection_get_setting_802_1x (connection);
diff --git a/panels/network/wireless-security/eap-method-tls.h
b/panels/network/wireless-security/eap-method-tls.h
index 3507b0ffc..fff224565 100644
--- a/panels/network/wireless-security/eap-method-tls.h
+++ b/panels/network/wireless-security/eap-method-tls.h
@@ -22,11 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
+#include <NetworkManager.h>
+
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodTLS, eap_method_tls, EAP, METHOD_TLS, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodTLS, eap_method_tls, EAP, METHOD_TLS, GtkGrid)
EAPMethodTLS *eap_method_tls_new (WirelessSecurity *ws_parent,
NMConnection *connection,
diff --git a/panels/network/wireless-security/eap-method-tls.ui
b/panels/network/wireless-security/eap-method-tls.ui
index 194ac41e5..28698f457 100644
--- a/panels/network/wireless-security/eap-method-tls.ui
+++ b/panels/network/wireless-security/eap-method-tls.ui
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.4"/>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodTLS" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
@@ -168,5 +168,5 @@
<property name="top_attach">6</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method-ttls.c
b/panels/network/wireless-security/eap-method-ttls.c
index e21c2f83e..67ba854a6 100644
--- a/panels/network/wireless-security/eap-method-ttls.c
+++ b/panels/network/wireless-security/eap-method-ttls.c
@@ -35,9 +35,8 @@
#define I_METHOD_COLUMN 1
struct _EAPMethodTTLS {
- GObject parent;
+ GtkGrid parent;
- GtkBuilder *builder;
GtkEntry *anon_identity_entry;
GtkLabel *anon_identity_label;
GtkFileChooserButton *ca_cert_button;
@@ -45,7 +44,6 @@ struct _EAPMethodTTLS {
GtkCheckButton *ca_cert_not_required_check;
GtkEntry *domain_match_entry;
GtkLabel *domain_match_label;
- GtkGrid *grid;
GtkComboBox *inner_auth_combo;
GtkLabel *inner_auth_label;
GtkBox *inner_auth_box;
@@ -57,7 +55,7 @@ struct _EAPMethodTTLS {
static void eap_method_iface_init (EAPMethodInterface *);
-G_DEFINE_TYPE_WITH_CODE (EAPMethodTTLS, eap_method_ttls, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (EAPMethodTTLS, eap_method_ttls, GTK_TYPE_GRID,
G_IMPLEMENT_INTERFACE (eap_method_get_type (), eap_method_iface_init))
static void
@@ -65,7 +63,6 @@ eap_method_ttls_dispose (GObject *object)
{
EAPMethodTTLS *self = EAP_METHOD_TTLS (object);
- g_clear_object (&self->builder);
g_clear_object (&self->size_group);
G_OBJECT_CLASS (eap_method_ttls_parent_class)->dispose (object);
@@ -181,7 +178,6 @@ inner_auth_combo_changed_cb (EAPMethodTTLS *self)
GList *elt, *children;
GtkTreeModel *model;
GtkTreeIter iter;
- GtkWidget *eap_widget;
/* Remove any previous wireless security widgets */
children = gtk_container_get_children (GTK_CONTAINER (self->inner_auth_box));
@@ -194,13 +190,10 @@ inner_auth_combo_changed_cb (EAPMethodTTLS *self)
gtk_tree_model_get (model, &iter, I_METHOD_COLUMN, &eap, -1);
g_assert (eap);
- eap_widget = eap_method_get_widget (eap);
- g_assert (eap_widget);
- gtk_widget_unparent (eap_widget);
-
+ gtk_widget_unparent (GTK_WIDGET (eap));
if (self->size_group)
eap_method_add_to_size_group (eap, self->size_group);
- gtk_container_add (GTK_CONTAINER (self->inner_auth_box), eap_widget);
+ gtk_container_add (GTK_CONTAINER (self->inner_auth_box), g_object_ref (GTK_WIDGET (eap)));
wireless_security_notify_changed (self->sec_parent);
}
@@ -355,13 +348,6 @@ update_secrets (EAPMethod *method, NMConnection *connection)
I_METHOD_COLUMN);
}
-static GtkWidget *
-get_widget (EAPMethod *method)
-{
- EAPMethodTTLS *self = EAP_METHOD_TTLS (method);
- return GTK_WIDGET (self->grid);
-}
-
static GtkWidget *
get_default_field (EAPMethod *method)
{
@@ -384,14 +370,29 @@ changed_cb (EAPMethodTTLS *self)
static void
eap_method_ttls_init (EAPMethodTTLS *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
eap_method_ttls_class_init (EAPMethodTTLSClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = eap_method_ttls_dispose;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/ControlCenter/network/eap-method-ttls.ui");
+
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, anon_identity_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, anon_identity_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, ca_cert_button);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, ca_cert_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, ca_cert_not_required_check);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, domain_match_entry);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, domain_match_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, inner_auth_combo);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, inner_auth_label);
+ gtk_widget_class_bind_template_child (widget_class, EAPMethodTTLS, inner_auth_box);
}
static void
@@ -401,7 +402,6 @@ eap_method_iface_init (EAPMethodInterface *iface)
iface->add_to_size_group = add_to_size_group;
iface->fill_connection = fill_connection;
iface->update_secrets = update_secrets;
- iface->get_widget = get_widget;
iface->get_default_field = get_default_field;
iface->get_password_flags_name = get_password_flags_name;
}
@@ -416,30 +416,11 @@ eap_method_ttls_new (WirelessSecurity *ws_parent,
GtkFileFilter *filter;
NMSetting8021x *s_8021x = NULL;
const char *filename;
- g_autoptr(GError) error = NULL;
self = g_object_new (eap_method_ttls_get_type (), NULL);
self->sec_parent = ws_parent;
self->is_editor = is_editor;
- self->builder = gtk_builder_new ();
- if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/ControlCenter/network/eap-method-ttls.ui", &error)) {
- g_warning ("Couldn't load UI builder resource: %s", error->message);
- return NULL;
- }
-
- self->anon_identity_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "anon_identity_entry"));
- self->anon_identity_label = GTK_LABEL (gtk_builder_get_object (self->builder, "anon_identity_label"));
- self->ca_cert_button = GTK_FILE_CHOOSER_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_button"));
- self->ca_cert_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ca_cert_label"));
- self->ca_cert_not_required_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"ca_cert_not_required_check"));
- self->domain_match_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "domain_match_entry"));
- self->domain_match_label = GTK_LABEL (gtk_builder_get_object (self->builder, "domain_match_label"));
- self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
- self->inner_auth_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "inner_auth_combo"));
- self->inner_auth_label = GTK_LABEL (gtk_builder_get_object (self->builder, "inner_auth_label"));
- self->inner_auth_box = GTK_BOX (gtk_builder_get_object (self->builder, "inner_auth_box"));
-
if (connection)
s_8021x = nm_connection_get_setting_802_1x (connection);
diff --git a/panels/network/wireless-security/eap-method-ttls.h
b/panels/network/wireless-security/eap-method-ttls.h
index 58af57805..9a0be55ef 100644
--- a/panels/network/wireless-security/eap-method-ttls.h
+++ b/panels/network/wireless-security/eap-method-ttls.h
@@ -22,11 +22,14 @@
#pragma once
+#include <gtk/gtk.h>
+#include <NetworkManager.h>
+
#include "wireless-security.h"
G_BEGIN_DECLS
-G_DECLARE_FINAL_TYPE (EAPMethodTTLS, eap_method_ttls, EAP, METHOD_TTLS, GObject)
+G_DECLARE_FINAL_TYPE (EAPMethodTTLS, eap_method_ttls, EAP, METHOD_TTLS, GtkGrid)
EAPMethodTTLS *eap_method_ttls_new (WirelessSecurity *ws_parent,
NMConnection *connection,
diff --git a/panels/network/wireless-security/eap-method-ttls.ui
b/panels/network/wireless-security/eap-method-ttls.ui
index 519d99379..e36fc8bb8 100644
--- a/panels/network/wireless-security/eap-method-ttls.ui
+++ b/panels/network/wireless-security/eap-method-ttls.ui
@@ -12,7 +12,7 @@
</row>
</data>
</object>
- <object class="GtkGrid" id="grid">
+ <template class="EAPMethodTTLS" parent="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="column_spacing">6</property>
@@ -158,5 +158,5 @@
<property name="width">2</property>
</packing>
</child>
- </object>
+ </template>
</interface>
diff --git a/panels/network/wireless-security/eap-method.c b/panels/network/wireless-security/eap-method.c
index e1a147c03..c309609b7 100644
--- a/panels/network/wireless-security/eap-method.c
+++ b/panels/network/wireless-security/eap-method.c
@@ -40,14 +40,6 @@ eap_method_default_init (EAPMethodInterface *iface)
{
}
-GtkWidget *
-eap_method_get_widget (EAPMethod *self)
-{
- g_return_val_if_fail (self != NULL, NULL);
-
- return EAP_METHOD_GET_IFACE (self)->get_widget (self);
-}
-
GtkWidget *
eap_method_get_default_field (EAPMethod *self)
{
diff --git a/panels/network/wireless-security/eap-method.h b/panels/network/wireless-security/eap-method.h
index 3910a9e9f..4c23b5858 100644
--- a/panels/network/wireless-security/eap-method.h
+++ b/panels/network/wireless-security/eap-method.h
@@ -27,7 +27,7 @@
G_BEGIN_DECLS
-G_DECLARE_INTERFACE (EAPMethod, eap_method, EAP, METHOD, GObject)
+G_DECLARE_INTERFACE (EAPMethod, eap_method, EAP, METHOD, GtkGrid)
struct _EAPMethodInterface {
GTypeInterface g_iface;
@@ -36,14 +36,11 @@ struct _EAPMethodInterface {
void (*fill_connection) (EAPMethod *method, NMConnection *connection,
NMSettingSecretFlags flags);
void (*update_secrets) (EAPMethod *method, NMConnection *connection);
gboolean (*validate) (EAPMethod *method, GError **error);
- GtkWidget* (*get_widget) (EAPMethod *method);
GtkWidget* (*get_default_field) (EAPMethod *method);
const gchar* (*get_password_flags_name) (EAPMethod *method);
gboolean (*get_phase2) (EAPMethod *method);
};
-GtkWidget *eap_method_get_widget (EAPMethod *method);
-
GtkWidget *eap_method_get_default_field (EAPMethod *method);
const gchar *eap_method_get_password_flags_name (EAPMethod *method);
diff --git a/panels/network/wireless-security/wireless-security.c
b/panels/network/wireless-security/wireless-security.c
index e8c4a7a27..7f9ab9c77 100644
--- a/panels/network/wireless-security/wireless-security.c
+++ b/panels/network/wireless-security/wireless-security.c
@@ -340,7 +340,6 @@ ws_802_1x_auth_combo_changed (GtkComboBox *combo,
{
EAPMethod *eap;
GList *elt, *children;
- GtkWidget *eap_widget;
GtkWidget *eap_default_field;
/* Remove any previous wireless security widgets */
@@ -351,13 +350,10 @@ ws_802_1x_auth_combo_changed (GtkComboBox *combo,
eap = ws_802_1x_auth_combo_get_eap (GTK_COMBO_BOX (combo));
g_assert (eap);
- eap_widget = eap_method_get_widget (eap);
- g_assert (eap_widget);
- gtk_widget_unparent (eap_widget);
-
+ gtk_widget_unparent (GTK_WIDGET (eap));
if (size_group)
eap_method_add_to_size_group (eap, size_group);
- gtk_container_add (GTK_CONTAINER (vbox), eap_widget);
+ gtk_container_add (GTK_CONTAINER (vbox), g_object_ref (GTK_WIDGET (eap)));
/* Refocus the EAP method's default widget */
eap_default_field = eap_method_get_default_field (eap);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]