[gnome-control-center] network: Move GtkBuilder code from CEPage to its subclasses
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] network: Move GtkBuilder code from CEPage to its subclasses
- Date: Wed, 6 Nov 2019 12:37:59 +0000 (UTC)
commit d46579144e4c33fe5438eaa4a95fb1e6762fcd02
Author: Robert Ancell <robert ancell canonical com>
Date: Wed Nov 6 15:05:29 2019 +1300
network: Move GtkBuilder code from CEPage to its subclasses
.../connection-editor/ce-page-8021x-security.c | 29 +++++----
panels/network/connection-editor/ce-page-details.c | 74 ++++++++++++++--------
.../network/connection-editor/ce-page-ethernet.c | 38 ++++++++---
panels/network/connection-editor/ce-page-ip4.c | 58 +++++++++++------
panels/network/connection-editor/ce-page-ip6.c | 60 ++++++++++++------
.../network/connection-editor/ce-page-security.c | 25 +++++---
panels/network/connection-editor/ce-page-vpn.c | 27 +++++---
panels/network/connection-editor/ce-page-wifi.c | 38 ++++++++---
panels/network/connection-editor/ce-page.c | 24 -------
panels/network/connection-editor/ce-page.h | 5 --
10 files changed, 236 insertions(+), 142 deletions(-)
---
diff --git a/panels/network/connection-editor/ce-page-8021x-security.c
b/panels/network/connection-editor/ce-page-8021x-security.c
index 25da3238a..327b5869f 100644
--- a/panels/network/connection-editor/ce-page-8021x-security.c
+++ b/panels/network/connection-editor/ce-page-8021x-security.c
@@ -37,6 +37,7 @@
struct _CEPage8021xSecurity {
CEPage parent;
+ GtkBuilder *builder;
GtkBox *box;
GtkSwitch *enable_8021x_switch;
GtkNotebook *notebook;
@@ -101,15 +102,22 @@ ce_page_8021x_security_new (NMConnection *connection,
NMClient *client)
{
CEPage8021xSecurity *self;
+ g_autoptr(GError) error = NULL;
- self = CE_PAGE_8021X_SECURITY (ce_page_new (ce_page_8021x_security_get_type (),
- connection,
-
"/org/gnome/control-center/network/8021x-security-page.ui"));
+ self = CE_PAGE_8021X_SECURITY (g_object_new (ce_page_8021x_security_get_type (),
+ "connection", connection,
+ NULL));
- self->box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "box"));
- self->enable_8021x_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder,
"enable_8021x_switch"));
- self->notebook = GTK_NOTEBOOK (gtk_builder_get_object (CE_PAGE (self)->builder, "notebook"));
- self->security_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"security_label"));
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/control-center/network/8021x-security-page.ui", &error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
+
+ self->box = GTK_BOX (gtk_builder_get_object (self->builder, "box"));
+ self->enable_8021x_switch = GTK_SWITCH (gtk_builder_get_object (self->builder,
"enable_8021x_switch"));
+ self->notebook = GTK_NOTEBOOK (gtk_builder_get_object (self->builder, "notebook"));
+ self->security_label = GTK_LABEL (gtk_builder_get_object (self->builder, "security_label"));
if (nm_connection_get_setting_802_1x (connection))
self->initial_have_8021x = TRUE;
@@ -191,11 +199,8 @@ dispose (GObject *object)
{
CEPage8021xSecurity *self = CE_PAGE_8021X_SECURITY (object);
- if (self->security) {
- wireless_security_unref (self->security);
- self->security = NULL;
- }
-
+ g_clear_object (&self->builder);
+ g_clear_pointer (&self->security, wireless_security_unref);
g_clear_object (&self->group);
G_OBJECT_CLASS (ce_page_8021x_security_parent_class)->dispose (object);
diff --git a/panels/network/connection-editor/ce-page-details.c
b/panels/network/connection-editor/ce-page-details.c
index 7c4f75398..6c294fa56 100644
--- a/panels/network/connection-editor/ce-page-details.c
+++ b/panels/network/connection-editor/ce-page-details.c
@@ -32,6 +32,7 @@ struct _CEPageDetails
{
CEPage parent;
+ GtkBuilder *builder;
GtkCheckButton *all_user_check;
GtkCheckButton *auto_connect_check;
GtkLabel *dns_heading_label;
@@ -394,6 +395,16 @@ connect_details_page (CEPageDetails *self)
gtk_widget_hide (GTK_WIDGET (self->forget_button));
}
+static void
+ce_page_details_dispose (GObject *object)
+{
+ CEPageDetails *self = CE_PAGE_DETAILS (object);
+
+ g_clear_object (&self->builder);
+
+ G_OBJECT_CLASS (ce_page_details_parent_class)->dispose (object);
+}
+
static GtkWidget *
ce_page_details_get_widget (CEPage *page)
{
@@ -415,8 +426,10 @@ ce_page_details_init (CEPageDetails *self)
static void
ce_page_details_class_init (CEPageDetailsClass *class)
{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
CEPageClass *page_class = CE_PAGE_CLASS (class);
+ object_class->dispose = ce_page_details_dispose;
page_class->get_widget = ce_page_details_get_widget;
page_class->get_title = ce_page_details_get_title;
}
@@ -429,34 +442,41 @@ ce_page_details_new (NMConnection *connection,
NetConnectionEditor *editor)
{
CEPageDetails *self;
+ g_autoptr(GError) error = NULL;
+
+ self = CE_PAGE_DETAILS (g_object_new (ce_page_details_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/control-center/network/details-page.ui", &error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self = CE_PAGE_DETAILS (ce_page_new (ce_page_details_get_type (),
- connection,
- "/org/gnome/control-center/network/details-page.ui"));
-
- self->all_user_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"all_user_check"));
- self->auto_connect_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"auto_connect_check"));
- self->dns_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"dns_heading_label"));
- self->dns_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "dns_label"));
- self->forget_button = GTK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder, "forget_button"));
- self->grid = GTK_GRID (gtk_builder_get_object (CE_PAGE (self)->builder, "grid"));
- self->ipv4_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"ipv4_heading_label"));
- self->ipv4_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "ipv4_label"));
- self->ipv6_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"ipv6_heading_label"));
- self->ipv6_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "ipv6_label"));
- self->last_used_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"last_used_heading_label"));
- self->last_used_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"last_used_label"));
- self->mac_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"mac_heading_label"));
- self->mac_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "mac_label"));
- self->restrict_data_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"restrict_data_check"));
- self->route_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"route_heading_label"));
- self->route_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "route_label"));
- self->security_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"security_heading_label"));
- self->security_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"security_label"));
- self->speed_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"speed_heading_label"));
- self->speed_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "speed_label"));
- self->strength_heading_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"strength_heading_label"));
- self->strength_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"strength_label"));
+ self->all_user_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder, "all_user_check"));
+ self->auto_connect_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"auto_connect_check"));
+ self->dns_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder, "dns_heading_label"));
+ self->dns_label = GTK_LABEL (gtk_builder_get_object (self->builder, "dns_label"));
+ self->forget_button = GTK_BUTTON (gtk_builder_get_object (self->builder, "forget_button"));
+ self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
+ self->ipv4_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ipv4_heading_label"));
+ self->ipv4_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ipv4_label"));
+ self->ipv6_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ipv6_heading_label"));
+ self->ipv6_label = GTK_LABEL (gtk_builder_get_object (self->builder, "ipv6_label"));
+ self->last_used_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"last_used_heading_label"));
+ self->last_used_label = GTK_LABEL (gtk_builder_get_object (self->builder, "last_used_label"));
+ self->mac_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder, "mac_heading_label"));
+ self->mac_label = GTK_LABEL (gtk_builder_get_object (self->builder, "mac_label"));
+ self->restrict_data_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"restrict_data_check"));
+ self->route_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"route_heading_label"));
+ self->route_label = GTK_LABEL (gtk_builder_get_object (self->builder, "route_label"));
+ self->security_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"security_heading_label"));
+ self->security_label = GTK_LABEL (gtk_builder_get_object (self->builder, "security_label"));
+ self->speed_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"speed_heading_label"));
+ self->speed_label = GTK_LABEL (gtk_builder_get_object (self->builder, "speed_label"));
+ self->strength_heading_label = GTK_LABEL (gtk_builder_get_object (self->builder,
"strength_heading_label"));
+ self->strength_label = GTK_LABEL (gtk_builder_get_object (self->builder, "strength_label"));
self->editor = editor;
self->device = device;
diff --git a/panels/network/connection-editor/ce-page-ethernet.c
b/panels/network/connection-editor/ce-page-ethernet.c
index 81dac4f7c..77578065e 100644
--- a/panels/network/connection-editor/ce-page-ethernet.c
+++ b/panels/network/connection-editor/ce-page-ethernet.c
@@ -35,6 +35,7 @@ struct _CEPageEthernet
{
CEPage parent;
+ GtkBuilder *builder;
GtkComboBoxText *cloned_mac;
GtkComboBoxText *device_mac;
GtkGrid *grid;
@@ -140,6 +141,16 @@ ui_to_setting (CEPageEthernet *self)
NULL);
}
+static void
+ce_page_ethernet_dispose (GObject *object)
+{
+ CEPageEthernet *self = CE_PAGE_ETHERNET (object);
+
+ g_clear_object (&self->builder);
+
+ G_OBJECT_CLASS (ce_page_ethernet_parent_class)->dispose (object);
+}
+
static GtkWidget *
ce_page_ethernet_get_widget (CEPage *page)
{
@@ -198,8 +209,10 @@ ce_page_ethernet_init (CEPageEthernet *self)
static void
ce_page_ethernet_class_init (CEPageEthernetClass *class)
{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
CEPageClass *page_class = CE_PAGE_CLASS (class);
+ object_class->dispose = ce_page_ethernet_dispose;
page_class->get_widget = ce_page_ethernet_get_widget;
page_class->get_title = ce_page_ethernet_get_title;
page_class->validate = ce_page_ethernet_validate;
@@ -210,17 +223,24 @@ ce_page_ethernet_new (NMConnection *connection,
NMClient *client)
{
CEPageEthernet *self;
+ g_autoptr(GError) error = NULL;
- self = CE_PAGE_ETHERNET (ce_page_new (ce_page_ethernet_get_type (),
- connection,
- "/org/gnome/control-center/network/ethernet-page.ui"));
+ self = CE_PAGE_ETHERNET (g_object_new (ce_page_ethernet_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/control-center/network/ethernet-page.ui", &error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self->cloned_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder,
"cloned_mac_combo"));
- self->device_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder,
"mac_combo"));
- self->grid = GTK_GRID (gtk_builder_get_object (CE_PAGE (self)->builder, "grid"));
- self->mtu = GTK_SPIN_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder, "mtu_spin"));
- self->mtu_label = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (self)->builder, "mtu_label"));
- self->name = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "name_entry"));
+ self->cloned_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (self->builder, "cloned_mac_combo"));
+ self->device_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (self->builder, "mac_combo"));
+ self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
+ self->mtu = GTK_SPIN_BUTTON (gtk_builder_get_object (self->builder, "mtu_spin"));
+ self->mtu_label = GTK_WIDGET (gtk_builder_get_object (self->builder, "mtu_label"));
+ self->name = GTK_ENTRY (gtk_builder_get_object (self->builder, "name_entry"));
self->client = client;
self->setting_connection = nm_connection_get_setting_connection (connection);
diff --git a/panels/network/connection-editor/ce-page-ip4.c b/panels/network/connection-editor/ce-page-ip4.c
index c82c789fd..50162c90b 100644
--- a/panels/network/connection-editor/ce-page-ip4.c
+++ b/panels/network/connection-editor/ce-page-ip4.c
@@ -39,6 +39,7 @@ struct _CEPageIP4
{
CEPage parent;
+ GtkBuilder *builder;
GtkBox *address_box;
GtkSizeGroup *address_sizegroup;
GtkSwitch *auto_dns_switch;
@@ -510,22 +511,6 @@ connect_ip4_page (CEPageIP4 *self)
gboolean disabled;
guint method;
- self->address_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "address_box"));
- self->address_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"address_sizegroup"));
- self->auto_dns_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder,
"auto_dns_switch"));
- self->auto_routes_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder,
"auto_routes_switch"));
- self->automatic_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"automatic_radio"));
- self->content_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "content_box"));
- self->disabled_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"disabled_radio"));
- self->dns_entry = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "dns_entry"));
- self->local_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"local_radio"));
- self->manual_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"manual_radio"));
- self->never_default_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"never_default_check"));
- self->routes_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "routes_box"));
- self->routes_metric_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"routes_metric_sizegroup"));
- self->routes_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"routes_sizegroup"));
- self->scrolled_window = GTK_SCROLLED_WINDOW (gtk_builder_get_object (CE_PAGE (self)->builder,
"scrolled_window"));
-
add_address_box (self);
add_dns_section (self);
add_routes_box (self);
@@ -862,6 +847,16 @@ out:
return ret;
}
+static void
+ce_page_ip4_dispose (GObject *object)
+{
+ CEPageIP4 *self = CE_PAGE_IP4 (object);
+
+ g_clear_object (&self->builder);
+
+ G_OBJECT_CLASS (ce_page_ip4_parent_class)->dispose (object);
+}
+
static GtkWidget *
ce_page_ip4_get_widget (CEPage *page)
{
@@ -894,8 +889,10 @@ ce_page_ip4_init (CEPageIP4 *self)
static void
ce_page_ip4_class_init (CEPageIP4Class *class)
{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
CEPageClass *page_class = CE_PAGE_CLASS (class);
+ object_class->dispose = ce_page_ip4_dispose;
page_class->get_widget = ce_page_ip4_get_widget;
page_class->get_title = ce_page_ip4_get_title;
page_class->validate = ce_page_ip4_validate;
@@ -906,10 +903,33 @@ ce_page_ip4_new (NMConnection *connection,
NMClient *client)
{
CEPageIP4 *self;
+ g_autoptr(GError) error = NULL;
+
+ self = CE_PAGE_IP4 (g_object_new (ce_page_ip4_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/control-center/network/ip4-page.ui",
&error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self = CE_PAGE_IP4 (ce_page_new (ce_page_ip4_get_type (),
- connection,
- "/org/gnome/control-center/network/ip4-page.ui"));
+ self->address_box = GTK_BOX (gtk_builder_get_object (self->builder, "address_box"));
+ self->address_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder,
"address_sizegroup"));
+ self->auto_dns_switch = GTK_SWITCH (gtk_builder_get_object (self->builder, "auto_dns_switch"));
+ self->auto_routes_switch = GTK_SWITCH (gtk_builder_get_object (self->builder, "auto_routes_switch"));
+ self->automatic_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "automatic_radio"));
+ self->content_box = GTK_BOX (gtk_builder_get_object (self->builder, "content_box"));
+ self->disabled_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "disabled_radio"));
+ self->dns_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "dns_entry"));
+ self->local_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "local_radio"));
+ self->manual_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "manual_radio"));
+ self->never_default_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"never_default_check"));
+ self->routes_box = GTK_BOX (gtk_builder_get_object (self->builder, "routes_box"));
+ self->routes_metric_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder,
"routes_metric_sizegroup"));
+ self->routes_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder, "routes_sizegroup"));
+ self->scrolled_window = GTK_SCROLLED_WINDOW (gtk_builder_get_object (self->builder,
"scrolled_window"));
self->setting = nm_connection_get_setting_ip4_config (connection);
if (!self->setting) {
diff --git a/panels/network/connection-editor/ce-page-ip6.c b/panels/network/connection-editor/ce-page-ip6.c
index 08759ed12..c58682075 100644
--- a/panels/network/connection-editor/ce-page-ip6.c
+++ b/panels/network/connection-editor/ce-page-ip6.c
@@ -40,6 +40,7 @@ struct _CEPageIP6
{
CEPage parent;
+ GtkBuilder *builder;
GtkBox *address_box;
GtkSizeGroup *address_sizegroup;
GtkSwitch *auto_dns_switch;
@@ -471,23 +472,6 @@ connect_ip6_page (CEPageIP6 *self)
gboolean disabled;
guint method;
- self->address_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "address_box"));
- self->address_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"address_sizegroup"));
- self->auto_dns_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder,
"auto_dns_switch"));
- self->auto_routes_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder,
"auto_routes_switch"));
- self->automatic_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"automatic_radio"));
- self->content_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "content_box"));
- self->dhcp_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder, "dhcp_radio"));
- self->disabled_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"disabled_radio"));
- self->dns_entry = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "dns_entry"));
- self->local_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"local_radio"));
- self->manual_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"manual_radio"));
- self->never_default_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder,
"never_default_check"));
- self->routes_box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "routes_box"));
- self->routes_metric_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"routes_metric_sizegroup"));
- self->routes_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (CE_PAGE (self)->builder,
"routes_sizegroup"));
- self->scrolled_window = GTK_SCROLLED_WINDOW (gtk_builder_get_object (CE_PAGE (self)->builder,
"scrolled_window"));
-
add_address_box (self);
add_dns_section (self);
add_routes_box (self);
@@ -786,6 +770,16 @@ out:
return ret;
}
+static void
+ce_page_ip6_dispose (GObject *object)
+{
+ CEPageIP6 *self = CE_PAGE_IP6 (object);
+
+ g_clear_object (&self->builder);
+
+ G_OBJECT_CLASS (ce_page_ip6_parent_class)->dispose (object);
+}
+
static GtkWidget *
ce_page_ip6_get_widget (CEPage *page)
{
@@ -818,8 +812,10 @@ ce_page_ip6_init (CEPageIP6 *self)
static void
ce_page_ip6_class_init (CEPageIP6Class *class)
{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
CEPageClass *page_class = CE_PAGE_CLASS (class);
+ object_class->dispose = ce_page_ip6_dispose;
page_class->get_widget = ce_page_ip6_get_widget;
page_class->get_title = ce_page_ip6_get_title;
page_class->validate = ce_page_ip6_validate;
@@ -830,10 +826,34 @@ ce_page_ip6_new (NMConnection *connection,
NMClient *client)
{
CEPageIP6 *self;
+ g_autoptr(GError) error = NULL;
+
+ self = CE_PAGE_IP6 (g_object_new (ce_page_ip6_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/control-center/network/ip6-page.ui",
&error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self = CE_PAGE_IP6 (ce_page_new (ce_page_ip6_get_type (),
- connection,
- "/org/gnome/control-center/network/ip6-page.ui"));
+ self->address_box = GTK_BOX (gtk_builder_get_object (self->builder, "address_box"));
+ self->address_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder,
"address_sizegroup"));
+ self->auto_dns_switch = GTK_SWITCH (gtk_builder_get_object (self->builder, "auto_dns_switch"));
+ self->auto_routes_switch = GTK_SWITCH (gtk_builder_get_object (self->builder, "auto_routes_switch"));
+ self->automatic_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "automatic_radio"));
+ self->content_box = GTK_BOX (gtk_builder_get_object (self->builder, "content_box"));
+ self->dhcp_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "dhcp_radio"));
+ self->disabled_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "disabled_radio"));
+ self->dns_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "dns_entry"));
+ self->local_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "local_radio"));
+ self->manual_radio = GTK_RADIO_BUTTON (gtk_builder_get_object (self->builder, "manual_radio"));
+ self->never_default_check = GTK_CHECK_BUTTON (gtk_builder_get_object (self->builder,
"never_default_check"));
+ self->routes_box = GTK_BOX (gtk_builder_get_object (self->builder, "routes_box"));
+ self->routes_metric_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder,
"routes_metric_sizegroup"));
+ self->routes_sizegroup = GTK_SIZE_GROUP (gtk_builder_get_object (self->builder, "routes_sizegroup"));
+ self->scrolled_window = GTK_SCROLLED_WINDOW (gtk_builder_get_object (self->builder,
"scrolled_window"));
self->setting = nm_connection_get_setting_ip6_config (connection);
if (!self->setting) {
diff --git a/panels/network/connection-editor/ce-page-security.c
b/panels/network/connection-editor/ce-page-security.c
index 03f3138e2..41ecf980f 100644
--- a/panels/network/connection-editor/ce-page-security.c
+++ b/panels/network/connection-editor/ce-page-security.c
@@ -38,6 +38,7 @@ struct _CEPageSecurity
{
CEPage parent;
+ GtkBuilder *builder;
GtkBox *box;
GtkNotebook *notebook;
GtkComboBox *security_combo;
@@ -232,11 +233,6 @@ finish_setup (CEPageSecurity *self)
self->group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- self->box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "box"));
- self->notebook = GTK_NOTEBOOK (gtk_builder_get_object (CE_PAGE (self)->builder, "notebook"));
- self->security_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder,
"security_label"));
- self->security_combo = GTK_COMBO_BOX (gtk_builder_get_object (CE_PAGE (self)->builder,
"security_combo"));
-
dev_caps = NM_WIFI_DEVICE_CAP_CIPHER_WEP40
| NM_WIFI_DEVICE_CAP_CIPHER_WEP104
| NM_WIFI_DEVICE_CAP_CIPHER_TKIP
@@ -371,6 +367,7 @@ ce_page_security_dispose (GObject *object)
{
CEPageSecurity *self = CE_PAGE_SECURITY (object);
+ g_clear_object (&self->builder);
g_clear_object (&self->group);
G_OBJECT_CLASS (ce_page_security_parent_class)->dispose (object);
@@ -470,10 +467,22 @@ ce_page_security_new (NMConnection *connection,
CEPageSecurity *self;
NMUtilsSecurityType default_type = NMU_SEC_NONE;
NMSettingWirelessSecurity *sws;
+ g_autoptr(GError) error = NULL;
+
+ self = CE_PAGE_SECURITY (g_object_new (ce_page_security_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder,
"/org/gnome/control-center/network/security-page.ui", &error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self = CE_PAGE_SECURITY (ce_page_new (ce_page_security_get_type (),
- connection,
- "/org/gnome/control-center/network/security-page.ui"));
+ self->box = GTK_BOX (gtk_builder_get_object (self->builder, "box"));
+ self->notebook = GTK_NOTEBOOK (gtk_builder_get_object (self->builder, "notebook"));
+ self->security_label = GTK_LABEL (gtk_builder_get_object (self->builder, "security_label"));
+ self->security_combo = GTK_COMBO_BOX (gtk_builder_get_object (self->builder, "security_combo"));
sws = nm_connection_get_setting_wireless_security (connection);
if (sws)
diff --git a/panels/network/connection-editor/ce-page-vpn.c b/panels/network/connection-editor/ce-page-vpn.c
index 086bff435..758c26a8b 100644
--- a/panels/network/connection-editor/ce-page-vpn.c
+++ b/panels/network/connection-editor/ce-page-vpn.c
@@ -33,9 +33,10 @@ struct _CEPageVpn
{
CEPage parent;
- GtkBox *box;
- GtkLabel *failure_label;
- GtkEntry *name_entry;
+ GtkBuilder *builder;
+ GtkBox *box;
+ GtkLabel *failure_label;
+ GtkEntry *name_entry;
NMSettingConnection *setting_connection;
NMSettingVpn *setting_vpn;
@@ -129,6 +130,7 @@ ce_page_vpn_dispose (GObject *object)
{
CEPageVpn *self = CE_PAGE_VPN (object);
+ g_clear_object (&self->builder);
g_clear_object (&self->editor);
G_OBJECT_CLASS (ce_page_vpn_parent_class)->dispose (object);
@@ -213,14 +215,21 @@ ce_page_vpn_new (NMConnection *connection,
NMClient *client)
{
CEPageVpn *self;
+ g_autoptr(GError) error = NULL;
- self = CE_PAGE_VPN (ce_page_new (ce_page_vpn_get_type (),
- connection,
- "/org/gnome/control-center/network/vpn-page.ui"));
+ self = CE_PAGE_VPN (g_object_new (ce_page_vpn_get_type (),
+ "connection", connection,
+ NULL));
- self->box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "box"));
- self->failure_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "failure_label"));
- self->name_entry = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "name_entry"));
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/control-center/network/vpn-page.ui",
&error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
+
+ self->box = GTK_BOX (gtk_builder_get_object (self->builder, "box"));
+ self->failure_label = GTK_LABEL (gtk_builder_get_object (self->builder, "failure_label"));
+ self->name_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "name_entry"));
g_signal_connect (self, "initialized", G_CALLBACK (finish_setup), NULL);
diff --git a/panels/network/connection-editor/ce-page-wifi.c b/panels/network/connection-editor/ce-page-wifi.c
index a9b5e4fa0..f0968f66b 100644
--- a/panels/network/connection-editor/ce-page-wifi.c
+++ b/panels/network/connection-editor/ce-page-wifi.c
@@ -35,6 +35,7 @@ struct _CEPageWifi
{
CEPage parent;
+ GtkBuilder *builder;
GtkComboBoxText *bssid_combo;
GtkComboBoxText *cloned_mac_combo;
GtkGrid *grid;
@@ -123,6 +124,16 @@ ui_to_setting (CEPageWifi *self)
NULL);
}
+static void
+ce_page_wifi_dispose (GObject *object)
+{
+ CEPageWifi *self = CE_PAGE_WIFI (object);
+
+ g_clear_object (&self->builder);
+
+ G_OBJECT_CLASS (ce_page_wifi_parent_class)->dispose (object);
+}
+
static GtkWidget *
ce_page_wifi_get_widget (CEPage *page)
{
@@ -184,8 +195,10 @@ ce_page_wifi_init (CEPageWifi *self)
static void
ce_page_wifi_class_init (CEPageWifiClass *class)
{
- CEPageClass *page_class= CE_PAGE_CLASS (class);
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
+ CEPageClass *page_class = CE_PAGE_CLASS (class);
+ object_class->dispose = ce_page_wifi_dispose;
page_class->get_widget = ce_page_wifi_get_widget;
page_class->get_title = ce_page_wifi_get_title;
page_class->validate = ce_page_wifi_class_validate;
@@ -196,16 +209,23 @@ ce_page_wifi_new (NMConnection *connection,
NMClient *client)
{
CEPageWifi *self;
+ g_autoptr(GError) error = NULL;
- self = CE_PAGE_WIFI (ce_page_new (ce_page_wifi_get_type (),
- connection,
- "/org/gnome/control-center/network/wifi-page.ui"));
+ self = CE_PAGE_WIFI (g_object_new (ce_page_wifi_get_type (),
+ "connection", connection,
+ NULL));
+
+ self->builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_resource (self->builder, "/org/gnome/control-center/network/wifi-page.ui",
&error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ return NULL;
+ }
- self->bssid_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder,
"bssid_combo"));
- self->cloned_mac_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder,
"cloned_mac_combo"));
- self->grid = GTK_GRID (gtk_builder_get_object (CE_PAGE (self)->builder, "grid"));
- self->mac_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder, "mac_combo"));
- self->ssid_entry = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "ssid_entry"));
+ self->bssid_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (self->builder, "bssid_combo"));
+ self->cloned_mac_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (self->builder,
"cloned_mac_combo"));
+ self->grid = GTK_GRID (gtk_builder_get_object (self->builder, "grid"));
+ self->mac_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (self->builder, "mac_combo"));
+ self->ssid_entry = GTK_ENTRY (gtk_builder_get_object (self->builder, "ssid_entry"));
self->client = client;
self->setting = nm_connection_get_setting_wireless (connection);
diff --git a/panels/network/connection-editor/ce-page.c b/panels/network/connection-editor/ce-page.c
index 6b94168fa..e53115036 100644
--- a/panels/network/connection-editor/ce-page.c
+++ b/panels/network/connection-editor/ce-page.c
@@ -66,7 +66,6 @@ dispose (GObject *object)
{
CEPage *self = CE_PAGE (object);
- g_clear_object (&self->builder);
g_clear_object (&self->connection);
G_OBJECT_CLASS (ce_page_parent_class)->dispose (object);
@@ -147,7 +146,6 @@ set_property (GObject *object,
static void
ce_page_init (CEPage *self)
{
- self->builder = gtk_builder_new ();
}
static void
@@ -196,28 +194,6 @@ ce_page_class_init (CEPageClass *page_class)
G_TYPE_NONE, 1, G_TYPE_POINTER);
}
-CEPage *
-ce_page_new (GType type,
- NMConnection *connection,
- const gchar *ui_resource)
-{
- g_autoptr(CEPage) self = NULL;
- g_autoptr(GError) error = NULL;
-
- self = CE_PAGE (g_object_new (type,
- "connection", connection,
- NULL));
-
- if (ui_resource) {
- if (!gtk_builder_add_from_resource (self->builder, ui_resource, &error)) {
- g_warning ("Couldn't load builder file: %s", error->message);
- return NULL;
- }
- }
-
- return g_steal_pointer (&self);
-}
-
static void
emit_initialized (CEPage *self,
GError *error)
diff --git a/panels/network/connection-editor/ce-page.h b/panels/network/connection-editor/ce-page.h
index cc9477f78..5931ab87d 100644
--- a/panels/network/connection-editor/ce-page.h
+++ b/panels/network/connection-editor/ce-page.h
@@ -45,8 +45,6 @@ struct _CEPage
GObject parent;
gboolean initialized;
- GtkBuilder *builder;
-
NMConnection *connection;
};
@@ -70,9 +68,6 @@ gboolean ce_page_validate (CEPage *page,
GError **error);
gboolean ce_page_get_initialized (CEPage *page);
void ce_page_changed (CEPage *page);
-CEPage *ce_page_new (GType type,
- NMConnection *connection,
- const gchar *ui_resource);
void ce_page_complete_init (CEPage *page,
const gchar *setting_name,
GVariant *variant,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]