network: Convert class property to a virtual method

This commit is contained in:
Robert Ancell 2019-11-06 13:38:36 +13:00
parent 413f23ec99
commit 0106a4ab90
10 changed files with 71 additions and 26 deletions

View file

@ -91,8 +91,7 @@ ce_page_8021x_security_new (NMConnection *connection,
self = CE_PAGE_8021X_SECURITY (ce_page_new (CE_TYPE_PAGE_8021X_SECURITY, self = CE_PAGE_8021X_SECURITY (ce_page_new (CE_TYPE_PAGE_8021X_SECURITY,
connection, connection,
client, client,
"/org/gnome/control-center/network/8021x-security-page.ui", "/org/gnome/control-center/network/8021x-security-page.ui"));
_("Security")));
self->box = GTK_BOX (gtk_builder_get_object (CE_PAGE (self)->builder, "box")); 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->enable_8021x_switch = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (self)->builder, "enable_8021x_switch"));
@ -109,6 +108,12 @@ ce_page_8021x_security_new (NMConnection *connection,
return CE_PAGE (self); return CE_PAGE (self);
} }
static const gchar *
ce_page_8021x_security_get_title (CEPage *page)
{
return _("Security");
}
static gboolean static gboolean
ce_page_8021x_security_validate (CEPage *cepage, NMConnection *connection, GError **error) ce_page_8021x_security_validate (CEPage *cepage, NMConnection *connection, GError **error)
{ {
@ -176,5 +181,6 @@ ce_page_8021x_security_class_init (CEPage8021xSecurityClass *security_class)
/* virtual methods */ /* virtual methods */
object_class->dispose = dispose; object_class->dispose = dispose;
parent_class->get_title = ce_page_8021x_security_get_title;
parent_class->validate = ce_page_8021x_security_validate; parent_class->validate = ce_page_8021x_security_validate;
} }

View file

@ -361,6 +361,12 @@ connect_details_page (CEPageDetails *self)
gtk_widget_hide (GTK_WIDGET (self->forget_button)); gtk_widget_hide (GTK_WIDGET (self->forget_button));
} }
static const gchar *
ce_page_details_get_title (CEPage *page)
{
return _("Details");
}
static void static void
ce_page_details_init (CEPageDetails *self) ce_page_details_init (CEPageDetails *self)
{ {
@ -369,6 +375,9 @@ ce_page_details_init (CEPageDetails *self)
static void static void
ce_page_details_class_init (CEPageDetailsClass *class) ce_page_details_class_init (CEPageDetailsClass *class)
{ {
CEPageClass *page_class = CE_PAGE_CLASS (class);
page_class->get_title = ce_page_details_get_title;
} }
CEPage * CEPage *
@ -383,8 +392,7 @@ ce_page_details_new (NMConnection *connection,
self = CE_PAGE_DETAILS (ce_page_new (CE_TYPE_PAGE_DETAILS, self = CE_PAGE_DETAILS (ce_page_new (CE_TYPE_PAGE_DETAILS,
connection, connection,
client, client,
"/org/gnome/control-center/network/details-page.ui", "/org/gnome/control-center/network/details-page.ui"));
_("Details")));
self->all_user_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder, "all_user_check")); 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->auto_connect_check = GTK_CHECK_BUTTON (gtk_builder_get_object (CE_PAGE (self)->builder, "auto_connect_check"));

View file

@ -124,6 +124,12 @@ ui_to_setting (CEPageEthernet *self)
NULL); NULL);
} }
static const gchar *
ce_page_ethernet_get_title (CEPage *page)
{
return _("Identity");
}
static gboolean static gboolean
ce_page_ethernet_validate (CEPage *page, ce_page_ethernet_validate (CEPage *page,
NMConnection *connection, NMConnection *connection,
@ -171,6 +177,7 @@ ce_page_ethernet_class_init (CEPageEthernetClass *class)
{ {
CEPageClass *page_class = CE_PAGE_CLASS (class); CEPageClass *page_class = CE_PAGE_CLASS (class);
page_class->get_title = ce_page_ethernet_get_title;
page_class->validate = ce_page_ethernet_validate; page_class->validate = ce_page_ethernet_validate;
} }
@ -183,8 +190,7 @@ ce_page_ethernet_new (NMConnection *connection,
self = CE_PAGE_ETHERNET (ce_page_new (CE_TYPE_PAGE_ETHERNET, self = CE_PAGE_ETHERNET (ce_page_new (CE_TYPE_PAGE_ETHERNET,
connection, connection,
client, client,
"/org/gnome/control-center/network/ethernet-page.ui", "/org/gnome/control-center/network/ethernet-page.ui"));
_("Identity")));
self->name = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "name_entry")); self->name = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "name_entry"));
self->device_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder, "mac_combo")); self->device_mac = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder, "mac_combo"));

View file

@ -835,6 +835,12 @@ out:
return ret; return ret;
} }
static const gchar *
ce_page_ip4_get_title (CEPage *page)
{
return _("IPv4");
}
static gboolean static gboolean
ce_page_ip4_validate (CEPage *self, ce_page_ip4_validate (CEPage *self,
NMConnection *connection, NMConnection *connection,
@ -856,6 +862,7 @@ ce_page_ip4_class_init (CEPageIP4Class *class)
{ {
CEPageClass *page_class = CE_PAGE_CLASS (class); CEPageClass *page_class = CE_PAGE_CLASS (class);
page_class->get_title = ce_page_ip4_get_title;
page_class->validate = ce_page_ip4_validate; page_class->validate = ce_page_ip4_validate;
} }
@ -868,8 +875,7 @@ ce_page_ip4_new (NMConnection *connection,
self = CE_PAGE_IP4 (ce_page_new (CE_TYPE_PAGE_IP4, self = CE_PAGE_IP4 (ce_page_new (CE_TYPE_PAGE_IP4,
connection, connection,
client, client,
"/org/gnome/control-center/network/ip4-page.ui", "/org/gnome/control-center/network/ip4-page.ui"));
_("IPv4")));
self->setting = nm_connection_get_setting_ip4_config (connection); self->setting = nm_connection_get_setting_ip4_config (connection);
if (!self->setting) { if (!self->setting) {

View file

@ -757,6 +757,12 @@ out:
return ret; return ret;
} }
static const gchar *
ce_page_ip6_get_title (CEPage *page)
{
return _("IPv6");
}
static gboolean static gboolean
ce_page_ip6_validate (CEPage *self, ce_page_ip6_validate (CEPage *self,
NMConnection *connection, NMConnection *connection,
@ -778,6 +784,7 @@ ce_page_ip6_class_init (CEPageIP6Class *class)
{ {
CEPageClass *page_class = CE_PAGE_CLASS (class); CEPageClass *page_class = CE_PAGE_CLASS (class);
page_class->get_title = ce_page_ip6_get_title;
page_class->validate = ce_page_ip6_validate; page_class->validate = ce_page_ip6_validate;
} }
@ -790,8 +797,7 @@ ce_page_ip6_new (NMConnection *connection,
self = CE_PAGE_IP6 (ce_page_new (CE_TYPE_PAGE_IP6, self = CE_PAGE_IP6 (ce_page_new (CE_TYPE_PAGE_IP6,
connection, connection,
client, client,
"/org/gnome/control-center/network/ip6-page.ui", "/org/gnome/control-center/network/ip6-page.ui"));
_("IPv6")));
self->setting = nm_connection_get_setting_ip6_config (connection); self->setting = nm_connection_get_setting_ip6_config (connection);
if (!self->setting) { if (!self->setting) {

View file

@ -361,6 +361,12 @@ ce_page_security_dispose (GObject *object)
G_OBJECT_CLASS (ce_page_security_parent_class)->dispose (object); G_OBJECT_CLASS (ce_page_security_parent_class)->dispose (object);
} }
static const gchar *
ce_page_security_get_title (CEPage *page)
{
return _("Security");
}
static gboolean static gboolean
ce_page_security_validate (CEPage *page, ce_page_security_validate (CEPage *page,
NMConnection *connection, NMConnection *connection,
@ -423,6 +429,7 @@ ce_page_security_class_init (CEPageSecurityClass *class)
CEPageClass *page_class = CE_PAGE_CLASS (class); CEPageClass *page_class = CE_PAGE_CLASS (class);
object_class->dispose = ce_page_security_dispose; object_class->dispose = ce_page_security_dispose;
page_class->get_title = ce_page_security_get_title;
page_class->validate = ce_page_security_validate; page_class->validate = ce_page_security_validate;
} }
@ -437,8 +444,7 @@ ce_page_security_new (NMConnection *connection,
self = CE_PAGE_SECURITY (ce_page_new (CE_TYPE_PAGE_SECURITY, self = CE_PAGE_SECURITY (ce_page_new (CE_TYPE_PAGE_SECURITY,
connection, connection,
client, client,
"/org/gnome/control-center/network/security-page.ui", "/org/gnome/control-center/network/security-page.ui"));
_("Security")));
sws = nm_connection_get_setting_wireless_security (connection); sws = nm_connection_get_setting_wireless_security (connection);
if (sws) if (sws)

View file

@ -119,6 +119,12 @@ ce_page_vpn_dispose (GObject *object)
G_OBJECT_CLASS (ce_page_vpn_parent_class)->dispose (object); G_OBJECT_CLASS (ce_page_vpn_parent_class)->dispose (object);
} }
static const gchar *
ce_page_vpn_get_title (CEPage *page)
{
return _("Identity");
}
static gboolean static gboolean
ce_page_vpn_validate (CEPage *page, ce_page_vpn_validate (CEPage *page,
NMConnection *connection, NMConnection *connection,
@ -151,7 +157,7 @@ ce_page_vpn_class_init (CEPageVpnClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class); GObjectClass *object_class = G_OBJECT_CLASS (class);
object_class->dispose = ce_page_vpn_dispose; object_class->dispose = ce_page_vpn_dispose;
page_class->get_title = ce_page_vpn_get_title;
page_class->validate = ce_page_vpn_validate; page_class->validate = ce_page_vpn_validate;
} }
@ -181,8 +187,7 @@ ce_page_vpn_new (NMConnection *connection,
self = CE_PAGE_VPN (ce_page_new (CE_TYPE_PAGE_VPN, self = CE_PAGE_VPN (ce_page_new (CE_TYPE_PAGE_VPN,
connection, connection,
client, client,
"/org/gnome/control-center/network/vpn-page.ui", "/org/gnome/control-center/network/vpn-page.ui"));
_("Identity")));
self->failure_label = GTK_LABEL (gtk_builder_get_object (CE_PAGE (self)->builder, "failure_label")); 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->name_entry = GTK_ENTRY (gtk_builder_get_object (CE_PAGE (self)->builder, "name_entry"));

View file

@ -109,6 +109,12 @@ ui_to_setting (CEPageWifi *self)
NULL); NULL);
} }
static const gchar *
ce_page_wifi_get_title (CEPage *page)
{
return _("Identity");
}
static gboolean static gboolean
ce_page_wifi_class_validate (CEPage *parent, ce_page_wifi_class_validate (CEPage *parent,
NMConnection *connection, NMConnection *connection,
@ -159,6 +165,7 @@ ce_page_wifi_class_init (CEPageWifiClass *class)
{ {
CEPageClass *page_class= CE_PAGE_CLASS (class); CEPageClass *page_class= CE_PAGE_CLASS (class);
page_class->get_title = ce_page_wifi_get_title;
page_class->validate = ce_page_wifi_class_validate; page_class->validate = ce_page_wifi_class_validate;
} }
@ -171,8 +178,7 @@ ce_page_wifi_new (NMConnection *connection,
self = CE_PAGE_WIFI (ce_page_new (CE_TYPE_PAGE_WIFI, self = CE_PAGE_WIFI (ce_page_new (CE_TYPE_PAGE_WIFI,
connection, connection,
client, client,
"/org/gnome/control-center/network/wifi-page.ui", "/org/gnome/control-center/network/wifi-page.ui"));
_("Identity")));
self->bssid_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder, "bssid_combo")); 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->cloned_mac_combo = GTK_COMBO_BOX_TEXT (gtk_builder_get_object (CE_PAGE (self)->builder, "cloned_mac_combo"));

View file

@ -78,7 +78,6 @@ finalize (GObject *object)
{ {
CEPage *self = CE_PAGE (object); CEPage *self = CE_PAGE (object);
g_clear_pointer (&self->title, g_free);
g_cancellable_cancel (self->cancellable); g_cancellable_cancel (self->cancellable);
g_clear_object (&self->cancellable); g_clear_object (&self->cancellable);
@ -98,7 +97,7 @@ ce_page_get_title (CEPage *self)
{ {
g_return_val_if_fail (CE_IS_PAGE (self), NULL); g_return_val_if_fail (CE_IS_PAGE (self), NULL);
return self->title; return CE_PAGE_GET_CLASS (self)->get_title (self);
} }
gboolean gboolean
@ -215,8 +214,7 @@ CEPage *
ce_page_new (GType type, ce_page_new (GType type,
NMConnection *connection, NMConnection *connection,
NMClient *client, NMClient *client,
const gchar *ui_resource, const gchar *ui_resource)
const gchar *title)
{ {
g_autoptr(CEPage) self = NULL; g_autoptr(CEPage) self = NULL;
g_autoptr(GError) error = NULL; g_autoptr(GError) error = NULL;
@ -224,7 +222,6 @@ ce_page_new (GType type,
self = CE_PAGE (g_object_new (type, self = CE_PAGE (g_object_new (type,
"connection", connection, "connection", connection,
NULL)); NULL));
self->title = g_strdup (title);
self->client = client; self->client = client;
if (ui_resource) { if (ui_resource) {

View file

@ -47,7 +47,6 @@ struct _CEPage
gboolean initialized; gboolean initialized;
GtkBuilder *builder; GtkBuilder *builder;
GtkWidget *page; GtkWidget *page;
gchar *title;
const gchar *security_setting; const gchar *security_setting;
NMConnection *connection; NMConnection *connection;
@ -59,7 +58,8 @@ struct _CEPageClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
gboolean (*validate) (CEPage *page, NMConnection *connection, GError **error); gboolean (*validate) (CEPage *page, NMConnection *connection, GError **error);
const gchar *(*get_title) (CEPage *page);
void (*changed) (CEPage *page); void (*changed) (CEPage *page);
void (*initialized) (CEPage *page, GError *error); void (*initialized) (CEPage *page, GError *error);
}; };
@ -77,8 +77,7 @@ void ce_page_changed (CEPage *page);
CEPage *ce_page_new (GType type, CEPage *ce_page_new (GType type,
NMConnection *connection, NMConnection *connection,
NMClient *client, NMClient *client,
const gchar *ui_resource, const gchar *ui_resource);
const gchar *title);
void ce_page_complete_init (CEPage *page, void ce_page_complete_init (CEPage *page,
const gchar *setting_name, const gchar *setting_name,
GVariant *variant, GVariant *variant,