From 0106a4ab90b4a4e19716ad1c0267ca8b35c91e6d Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 6 Nov 2019 13:38:36 +1300 Subject: [PATCH] network: Convert class property to a virtual method --- .../connection-editor/ce-page-8021x-security.c | 10 ++++++++-- panels/network/connection-editor/ce-page-details.c | 12 ++++++++++-- panels/network/connection-editor/ce-page-ethernet.c | 10 ++++++++-- panels/network/connection-editor/ce-page-ip4.c | 10 ++++++++-- panels/network/connection-editor/ce-page-ip6.c | 10 ++++++++-- panels/network/connection-editor/ce-page-security.c | 10 ++++++++-- panels/network/connection-editor/ce-page-vpn.c | 11 ++++++++--- panels/network/connection-editor/ce-page-wifi.c | 10 ++++++++-- panels/network/connection-editor/ce-page.c | 7 ++----- panels/network/connection-editor/ce-page.h | 7 +++---- 10 files changed, 71 insertions(+), 26 deletions(-) diff --git a/panels/network/connection-editor/ce-page-8021x-security.c b/panels/network/connection-editor/ce-page-8021x-security.c index fec879206..4c683c672 100644 --- a/panels/network/connection-editor/ce-page-8021x-security.c +++ b/panels/network/connection-editor/ce-page-8021x-security.c @@ -91,8 +91,7 @@ ce_page_8021x_security_new (NMConnection *connection, self = CE_PAGE_8021X_SECURITY (ce_page_new (CE_TYPE_PAGE_8021X_SECURITY, connection, client, - "/org/gnome/control-center/network/8021x-security-page.ui", - _("Security"))); + "/org/gnome/control-center/network/8021x-security-page.ui")); 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")); @@ -109,6 +108,12 @@ ce_page_8021x_security_new (NMConnection *connection, return CE_PAGE (self); } +static const gchar * +ce_page_8021x_security_get_title (CEPage *page) +{ + return _("Security"); +} + static gboolean 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 */ object_class->dispose = dispose; + parent_class->get_title = ce_page_8021x_security_get_title; parent_class->validate = ce_page_8021x_security_validate; } diff --git a/panels/network/connection-editor/ce-page-details.c b/panels/network/connection-editor/ce-page-details.c index c01def0e5..d33872389 100644 --- a/panels/network/connection-editor/ce-page-details.c +++ b/panels/network/connection-editor/ce-page-details.c @@ -361,6 +361,12 @@ connect_details_page (CEPageDetails *self) gtk_widget_hide (GTK_WIDGET (self->forget_button)); } +static const gchar * +ce_page_details_get_title (CEPage *page) +{ + return _("Details"); +} + static void ce_page_details_init (CEPageDetails *self) { @@ -369,6 +375,9 @@ ce_page_details_init (CEPageDetails *self) static void ce_page_details_class_init (CEPageDetailsClass *class) { + CEPageClass *page_class = CE_PAGE_CLASS (class); + + page_class->get_title = ce_page_details_get_title; } CEPage * @@ -383,8 +392,7 @@ ce_page_details_new (NMConnection *connection, self = CE_PAGE_DETAILS (ce_page_new (CE_TYPE_PAGE_DETAILS, connection, client, - "/org/gnome/control-center/network/details-page.ui", - _("Details"))); + "/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")); diff --git a/panels/network/connection-editor/ce-page-ethernet.c b/panels/network/connection-editor/ce-page-ethernet.c index b56335511..137c57538 100644 --- a/panels/network/connection-editor/ce-page-ethernet.c +++ b/panels/network/connection-editor/ce-page-ethernet.c @@ -124,6 +124,12 @@ ui_to_setting (CEPageEthernet *self) NULL); } +static const gchar * +ce_page_ethernet_get_title (CEPage *page) +{ + return _("Identity"); +} + static gboolean ce_page_ethernet_validate (CEPage *page, NMConnection *connection, @@ -171,6 +177,7 @@ ce_page_ethernet_class_init (CEPageEthernetClass *class) { CEPageClass *page_class = CE_PAGE_CLASS (class); + page_class->get_title = ce_page_ethernet_get_title; 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, connection, client, - "/org/gnome/control-center/network/ethernet-page.ui", - _("Identity"))); + "/org/gnome/control-center/network/ethernet-page.ui")); 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")); diff --git a/panels/network/connection-editor/ce-page-ip4.c b/panels/network/connection-editor/ce-page-ip4.c index ea4017e06..0dca8491b 100644 --- a/panels/network/connection-editor/ce-page-ip4.c +++ b/panels/network/connection-editor/ce-page-ip4.c @@ -835,6 +835,12 @@ out: return ret; } +static const gchar * +ce_page_ip4_get_title (CEPage *page) +{ + return _("IPv4"); +} + static gboolean ce_page_ip4_validate (CEPage *self, NMConnection *connection, @@ -856,6 +862,7 @@ ce_page_ip4_class_init (CEPageIP4Class *class) { CEPageClass *page_class = CE_PAGE_CLASS (class); + page_class->get_title = ce_page_ip4_get_title; 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, connection, client, - "/org/gnome/control-center/network/ip4-page.ui", - _("IPv4"))); + "/org/gnome/control-center/network/ip4-page.ui")); 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 ef9381b2b..2c002ccde 100644 --- a/panels/network/connection-editor/ce-page-ip6.c +++ b/panels/network/connection-editor/ce-page-ip6.c @@ -757,6 +757,12 @@ out: return ret; } +static const gchar * +ce_page_ip6_get_title (CEPage *page) +{ + return _("IPv6"); +} + static gboolean ce_page_ip6_validate (CEPage *self, NMConnection *connection, @@ -778,6 +784,7 @@ ce_page_ip6_class_init (CEPageIP6Class *class) { CEPageClass *page_class = CE_PAGE_CLASS (class); + page_class->get_title = ce_page_ip6_get_title; 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, connection, client, - "/org/gnome/control-center/network/ip6-page.ui", - _("IPv6"))); + "/org/gnome/control-center/network/ip6-page.ui")); 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 a215d9e85..5bf979c9d 100644 --- a/panels/network/connection-editor/ce-page-security.c +++ b/panels/network/connection-editor/ce-page-security.c @@ -361,6 +361,12 @@ ce_page_security_dispose (GObject *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 ce_page_security_validate (CEPage *page, NMConnection *connection, @@ -423,6 +429,7 @@ ce_page_security_class_init (CEPageSecurityClass *class) CEPageClass *page_class = CE_PAGE_CLASS (class); object_class->dispose = ce_page_security_dispose; + page_class->get_title = ce_page_security_get_title; 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, connection, client, - "/org/gnome/control-center/network/security-page.ui", - _("Security"))); + "/org/gnome/control-center/network/security-page.ui")); 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 adc7ec906..795946ef8 100644 --- a/panels/network/connection-editor/ce-page-vpn.c +++ b/panels/network/connection-editor/ce-page-vpn.c @@ -119,6 +119,12 @@ ce_page_vpn_dispose (GObject *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 ce_page_vpn_validate (CEPage *page, NMConnection *connection, @@ -151,7 +157,7 @@ ce_page_vpn_class_init (CEPageVpnClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); object_class->dispose = ce_page_vpn_dispose; - + page_class->get_title = ce_page_vpn_get_title; 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, connection, client, - "/org/gnome/control-center/network/vpn-page.ui", - _("Identity"))); + "/org/gnome/control-center/network/vpn-page.ui")); 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")); diff --git a/panels/network/connection-editor/ce-page-wifi.c b/panels/network/connection-editor/ce-page-wifi.c index 7f7050597..3e948d0e1 100644 --- a/panels/network/connection-editor/ce-page-wifi.c +++ b/panels/network/connection-editor/ce-page-wifi.c @@ -109,6 +109,12 @@ ui_to_setting (CEPageWifi *self) NULL); } +static const gchar * +ce_page_wifi_get_title (CEPage *page) +{ + return _("Identity"); +} + static gboolean ce_page_wifi_class_validate (CEPage *parent, NMConnection *connection, @@ -159,6 +165,7 @@ ce_page_wifi_class_init (CEPageWifiClass *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; } @@ -171,8 +178,7 @@ ce_page_wifi_new (NMConnection *connection, self = CE_PAGE_WIFI (ce_page_new (CE_TYPE_PAGE_WIFI, connection, client, - "/org/gnome/control-center/network/wifi-page.ui", - _("Identity"))); + "/org/gnome/control-center/network/wifi-page.ui")); 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")); diff --git a/panels/network/connection-editor/ce-page.c b/panels/network/connection-editor/ce-page.c index aa081b481..234410da9 100644 --- a/panels/network/connection-editor/ce-page.c +++ b/panels/network/connection-editor/ce-page.c @@ -78,7 +78,6 @@ finalize (GObject *object) { CEPage *self = CE_PAGE (object); - g_clear_pointer (&self->title, g_free); g_cancellable_cancel (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); - return self->title; + return CE_PAGE_GET_CLASS (self)->get_title (self); } gboolean @@ -215,8 +214,7 @@ CEPage * ce_page_new (GType type, NMConnection *connection, NMClient *client, - const gchar *ui_resource, - const gchar *title) + const gchar *ui_resource) { g_autoptr(CEPage) self = NULL; g_autoptr(GError) error = NULL; @@ -224,7 +222,6 @@ ce_page_new (GType type, self = CE_PAGE (g_object_new (type, "connection", connection, NULL)); - self->title = g_strdup (title); self->client = client; if (ui_resource) { diff --git a/panels/network/connection-editor/ce-page.h b/panels/network/connection-editor/ce-page.h index 3d721432a..a8bde332d 100644 --- a/panels/network/connection-editor/ce-page.h +++ b/panels/network/connection-editor/ce-page.h @@ -47,7 +47,6 @@ struct _CEPage gboolean initialized; GtkBuilder *builder; GtkWidget *page; - gchar *title; const gchar *security_setting; NMConnection *connection; @@ -59,7 +58,8 @@ struct _CEPageClass { 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 (*initialized) (CEPage *page, GError *error); }; @@ -77,8 +77,7 @@ void ce_page_changed (CEPage *page); CEPage *ce_page_new (GType type, NMConnection *connection, NMClient *client, - const gchar *ui_resource, - const gchar *title); + const gchar *ui_resource); void ce_page_complete_init (CEPage *page, const gchar *setting_name, GVariant *variant,