diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2017-09-04 16:12:07 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2017-09-25 14:17:24 -0400 |
commit | c6981636dc38a9fdc844db40964c5d89cf10615e (patch) | |
tree | 4f132f929d2f2de633fbf3a6a180e57d9d6967ec /panels/info/cc-info-panel.c | |
parent | 045b1f03b9339c9a696277f6bc1194dbc0bb1c6b (diff) | |
download | gnome-control-center-c6981636dc38a9fdc844db40964c5d89cf10615e.tar.gz |
Replace old-fashioned GObject boilerplate with G_DEFINE_TYPEwip/rancell/g-define-type
As well as simplifying the code this allows us to make use of the g_auto memory
management macros.
Diffstat (limited to 'panels/info/cc-info-panel.c')
-rw-r--r-- | panels/info/cc-info-panel.c | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/panels/info/cc-info-panel.c b/panels/info/cc-info-panel.c index 656171f45..1addd16a4 100644 --- a/panels/info/cc-info-panel.c +++ b/panels/info/cc-info-panel.c @@ -47,24 +47,23 @@ #include "gsd-disk-space-helper.h" -#define WID(w) (GtkWidget *) gtk_builder_get_object (self->priv->builder, w) +#define WID(w) (GtkWidget *) gtk_builder_get_object (self->builder, w) -CC_PANEL_REGISTER (CcInfoPanel, cc_info_panel) - -#define INFO_PANEL_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_INFO_PANEL, CcInfoPanelPrivate)) - -struct _CcInfoPanelPrivate +struct _CcInfoPanel { - GtkBuilder *builder; + CcPanel parent_instance; + + GtkBuilder *builder; }; +CC_PANEL_REGISTER (CcInfoPanel, cc_info_panel) + static void cc_info_panel_dispose (GObject *object) { - CcInfoPanelPrivate *priv = CC_INFO_PANEL (object)->priv; + CcInfoPanel *self = CC_INFO_PANEL (object); - g_clear_object (&priv->builder); + g_clear_object (&self->builder); G_OBJECT_CLASS (cc_info_panel_parent_class)->dispose (object); } @@ -74,8 +73,6 @@ cc_info_panel_class_init (CcInfoPanelClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (CcInfoPanelPrivate)); - object_class->dispose = cc_info_panel_dispose; g_type_ensure (CC_TYPE_INFO_OVERVIEW_PANEL); @@ -179,12 +176,11 @@ cc_info_panel_init (CcInfoPanel *self) { GError *error = NULL; - self->priv = INFO_PANEL_PRIVATE (self); g_resources_register (cc_info_get_resource ()); - self->priv->builder = gtk_builder_new (); + self->builder = gtk_builder_new (); - if (gtk_builder_add_from_resource (self->priv->builder, + if (gtk_builder_add_from_resource (self->builder, "/org/gnome/control-center/info/info.ui", &error) == 0) { |