network: Move GtkBuilder code from CEPage to its subclasses

This commit is contained in:
Robert Ancell 2019-11-06 15:05:29 +13:00
parent eb4e124b04
commit d46579144e
10 changed files with 235 additions and 141 deletions

View file

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

View file

@ -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 (ce_page_new (ce_page_details_get_type (),
connection,
"/org/gnome/control-center/network/details-page.ui"));
self = CE_PAGE_DETAILS (g_object_new (ce_page_details_get_type (),
"connection", connection,
NULL));
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->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->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;

View file

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

View file

@ -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 (ce_page_new (ce_page_ip4_get_type (),
connection,
"/org/gnome/control-center/network/ip4-page.ui"));
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->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) {

View file

@ -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 (ce_page_new (ce_page_ip6_get_type (),
connection,
"/org/gnome/control-center/network/ip6-page.ui"));
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->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) {

View file

@ -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 (ce_page_new (ce_page_security_get_type (),
connection,
"/org/gnome/control-center/network/security-page.ui"));
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->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)

View file

@ -33,6 +33,7 @@ struct _CEPageVpn
{
CEPage parent;
GtkBuilder *builder;
GtkBox *box;
GtkLabel *failure_label;
GtkEntry *name_entry;
@ -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);

View file

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

View file

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

View file

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