diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/idobasicmenuitem.c | 33 | ||||
-rw-r--r-- | src/idobasicmenuitem.h | 2 | ||||
-rw-r--r-- | src/idocalendarmenuitem.c | 116 | ||||
-rw-r--r-- | src/idocalendarmenuitem.h | 3 | ||||
-rw-r--r-- | src/idodetaillabel.c | 42 | ||||
-rw-r--r-- | src/idodetaillabel.h | 2 | ||||
-rw-r--r-- | src/idoentrymenuitem.c | 61 | ||||
-rw-r--r-- | src/idoentrymenuitem.h | 3 | ||||
-rw-r--r-- | src/idolocationmenuitem.c | 34 | ||||
-rw-r--r-- | src/idolocationmenuitem.h | 2 | ||||
-rw-r--r-- | src/idomessagedialog.c | 26 | ||||
-rw-r--r-- | src/idorange.c | 20 | ||||
-rw-r--r-- | src/idorange.h | 2 | ||||
-rw-r--r-- | src/idoscalemenuitem.c | 75 | ||||
-rw-r--r-- | src/idoscalemenuitem.h | 3 | ||||
-rw-r--r-- | src/idoswitchmenuitem.c | 33 | ||||
-rw-r--r-- | src/idoswitchmenuitem.h | 3 | ||||
-rw-r--r-- | src/idotimeline.c | 100 | ||||
-rw-r--r-- | src/idotimestampmenuitem.c | 65 | ||||
-rw-r--r-- | src/idotimestampmenuitem.h | 2 | ||||
-rw-r--r-- | src/idousermenuitem.c | 63 | ||||
-rw-r--r-- | src/idousermenuitem.h | 2 |
22 files changed, 356 insertions, 336 deletions
diff --git a/src/idobasicmenuitem.c b/src/idobasicmenuitem.c index 382a150..cf57e7c 100644 --- a/src/idobasicmenuitem.c +++ b/src/idobasicmenuitem.c @@ -37,8 +37,7 @@ enum static GParamSpec *properties[PROP_LAST]; -struct _IdoBasicMenuItemPrivate -{ +typedef struct { GIcon * icon; char * text; char * secondary_text; @@ -46,11 +45,9 @@ struct _IdoBasicMenuItemPrivate GtkWidget * image; GtkWidget * label; GtkWidget * secondary_label; -}; - -typedef IdoBasicMenuItemPrivate priv_t; +} IdoBasicMenuItemPrivate; -G_DEFINE_TYPE (IdoBasicMenuItem, ido_basic_menu_item, GTK_TYPE_MENU_ITEM); +G_DEFINE_TYPE_WITH_PRIVATE (IdoBasicMenuItem, ido_basic_menu_item, GTK_TYPE_MENU_ITEM); /*** **** GObject Virtual Functions @@ -63,7 +60,7 @@ my_get_property (GObject * o, GParamSpec * pspec) { IdoBasicMenuItem * self = IDO_BASIC_MENU_ITEM (o); - priv_t * p = self->priv; + IdoBasicMenuItemPrivate * p = ido_basic_menu_item_get_instance_private(self); switch (property_id) { @@ -117,7 +114,7 @@ static void my_dispose (GObject * object) { IdoBasicMenuItem * self = IDO_BASIC_MENU_ITEM (object); - priv_t * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); g_clear_object (&p->icon); @@ -128,7 +125,7 @@ static void my_finalize (GObject * object) { IdoBasicMenuItem * self = IDO_BASIC_MENU_ITEM (object); - priv_t * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); g_free (p->text); g_free (p->secondary_text); @@ -139,7 +136,7 @@ my_finalize (GObject * object) static void ido_basic_menu_item_update_image (IdoBasicMenuItem *self) { - IdoBasicMenuItemPrivate * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); gtk_image_clear (GTK_IMAGE (p->image)); @@ -191,8 +188,6 @@ ido_basic_menu_item_class_init (IdoBasicMenuItemClass *klass) GObjectClass * gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - g_type_class_add_private (klass, sizeof (IdoBasicMenuItemPrivate)); - gobject_class->get_property = my_get_property; gobject_class->set_property = my_set_property; gobject_class->dispose = my_dispose; @@ -228,15 +223,11 @@ ido_basic_menu_item_class_init (IdoBasicMenuItemClass *klass) static void ido_basic_menu_item_init (IdoBasicMenuItem *self) { - priv_t * p; + GtkWidget * w; GtkGrid * grid; - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - IDO_TYPE_BASIC_MENU_ITEM, - IdoBasicMenuItemPrivate); - - p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); p->image = gtk_image_new (); gtk_misc_set_alignment(GTK_MISC(p->image), 0.0, 0.0); @@ -287,7 +278,7 @@ ido_basic_menu_item_new (void) void ido_basic_menu_item_set_icon (IdoBasicMenuItem * self, GIcon * icon) { - IdoBasicMenuItemPrivate * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); if (p->icon != icon) { @@ -314,7 +305,7 @@ ido_basic_menu_item_set_icon_from_file (IdoBasicMenuItem * self, const char * fi void ido_basic_menu_item_set_text (IdoBasicMenuItem * self, const char * text) { - IdoBasicMenuItemPrivate * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); if (g_strcmp0 (p->text, text)) { @@ -331,7 +322,7 @@ ido_basic_menu_item_set_text (IdoBasicMenuItem * self, const char * text) void ido_basic_menu_item_set_secondary_text (IdoBasicMenuItem * self, const char * secondary_text) { - IdoBasicMenuItemPrivate * p = self->priv; + IdoBasicMenuItemPrivate *p = ido_basic_menu_item_get_instance_private(self); if (g_strcmp0 (p->secondary_text, secondary_text)) { diff --git a/src/idobasicmenuitem.h b/src/idobasicmenuitem.h index 6a4b83a..38ae830 100644 --- a/src/idobasicmenuitem.h +++ b/src/idobasicmenuitem.h @@ -30,7 +30,6 @@ G_BEGIN_DECLS typedef struct _IdoBasicMenuItem IdoBasicMenuItem; typedef struct _IdoBasicMenuItemClass IdoBasicMenuItemClass; -typedef struct _IdoBasicMenuItemPrivate IdoBasicMenuItemPrivate; struct _IdoBasicMenuItemClass { @@ -44,7 +43,6 @@ struct _IdoBasicMenuItem { /*< private >*/ GtkMenuItem parent; - IdoBasicMenuItemPrivate * priv; }; diff --git a/src/idocalendarmenuitem.c b/src/idocalendarmenuitem.c index 557d898..f3881bc 100644 --- a/src/idocalendarmenuitem.c +++ b/src/idocalendarmenuitem.c @@ -51,17 +51,14 @@ static void calendar_day_selected_double_click_cb (GtkWidget *widg gpointer user_data); static void calendar_day_selected_cb (GtkWidget *widget, gpointer user_data); -struct _IdoCalendarMenuItemPrivate -{ +typedef struct { GtkWidget *box; GtkWidget *calendar; GtkWidget *parent; gboolean selected; -}; - -G_DEFINE_TYPE (IdoCalendarMenuItem, ido_calendar_menu_item, GTK_TYPE_MENU_ITEM) +} IdoCalendarMenuItemPrivate; -#define IDO_CALENDAR_MENU_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IDO_TYPE_CALENDAR_MENU_ITEM, IdoCalendarMenuItemPrivate)) +G_DEFINE_TYPE_WITH_PRIVATE (IdoCalendarMenuItem, ido_calendar_menu_item, GTK_TYPE_MENU_ITEM) static void ido_calendar_menu_item_class_init (IdoCalendarMenuItemClass *klass) @@ -84,8 +81,6 @@ ido_calendar_menu_item_class_init (IdoCalendarMenuItemClass *klass) menu_item_class->hide_on_activate = TRUE; - g_type_class_add_private (gobject_class, sizeof (IdoCalendarMenuItemPrivate)); - g_signal_new("month-changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, @@ -104,9 +99,7 @@ ido_calendar_menu_item_class_init (IdoCalendarMenuItemClass *klass) static void ido_calendar_menu_item_init (IdoCalendarMenuItem *item) { - IdoCalendarMenuItemPrivate *priv; - - priv = item->priv = IDO_CALENDAR_MENU_ITEM_GET_PRIVATE (item); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(item); /* Will be disposed automatically */ priv->calendar = g_object_new (gtk_calendar_get_type (), @@ -136,7 +129,7 @@ static void ido_calendar_menu_item_finalize (GObject *object) { IdoCalendarMenuItem *item = IDO_CALENDAR_MENU_ITEM (object); - IdoCalendarMenuItemPrivate *priv = IDO_CALENDAR_MENU_ITEM_GET_PRIVATE (item); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(item); if (G_IS_OBJECT (priv->calendar)) { @@ -183,13 +176,14 @@ ido_calendar_menu_item_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data) { - IdoCalendarMenuItem *menuitem = (IdoCalendarMenuItem *)data; + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (data); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); g_return_val_if_fail (IDO_IS_CALENDAR_MENU_ITEM (menuitem), FALSE); - if (menuitem->priv->selected) + if (priv->selected) { - GtkWidget *calendar = menuitem->priv->calendar; + GtkWidget *calendar = priv->calendar; gtk_widget_event (calendar, ((GdkEvent *)(void*)(event))); @@ -215,7 +209,10 @@ static gboolean ido_calendar_menu_item_button_press (GtkWidget *widget, GdkEventButton *event) { - GtkWidget *calendar = IDO_CALENDAR_MENU_ITEM (widget)->priv->calendar; + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (widget); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + GtkWidget *calendar = priv->calendar; if (event->button == 1) { if (gtk_widget_get_window (calendar) != NULL) { @@ -265,7 +262,10 @@ static gboolean ido_calendar_menu_item_button_release (GtkWidget *widget, GdkEventButton *event) { - GtkWidget *calendar = IDO_CALENDAR_MENU_ITEM (widget)->priv->calendar; + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (widget); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + GtkWidget *calendar = priv->calendar; GTK_WIDGET_GET_CLASS(calendar)->button_release_event(GTK_WIDGET(calendar), event); return TRUE; @@ -274,17 +274,23 @@ ido_calendar_menu_item_button_release (GtkWidget *widget, static void ido_calendar_menu_item_select (GtkMenuItem *item) { - IDO_CALENDAR_MENU_ITEM (item)->priv->selected = TRUE; + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (item); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + priv->selected = TRUE; - ido_calendar_menu_item_send_focus_change (GTK_WIDGET (IDO_CALENDAR_MENU_ITEM (item)->priv->calendar), TRUE); + ido_calendar_menu_item_send_focus_change (GTK_WIDGET (priv->calendar), TRUE); } static void ido_calendar_menu_item_deselect (GtkMenuItem *item) { - IDO_CALENDAR_MENU_ITEM (item)->priv->selected = FALSE; + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (item); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); - ido_calendar_menu_item_send_focus_change (GTK_WIDGET (IDO_CALENDAR_MENU_ITEM (item)->priv->calendar), FALSE); + priv->selected = FALSE; + + ido_calendar_menu_item_send_focus_change (GTK_WIDGET (priv->calendar), FALSE); } static void @@ -296,25 +302,27 @@ calendar_realized_cb (GtkWidget *widget, gdk_window_raise (gtk_widget_get_window (widget)); } - item->priv->parent = gtk_widget_get_parent (GTK_WIDGET (item)); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(item); + + priv->parent = gtk_widget_get_parent (GTK_WIDGET (item)); - g_object_add_weak_pointer (G_OBJECT (item->priv->parent), - (gpointer*) &item->priv->parent); + g_object_add_weak_pointer (G_OBJECT (priv->parent), + (gpointer*) &priv->parent); - g_signal_connect (item->priv->parent, + g_signal_connect (priv->parent, "key-press-event", G_CALLBACK (ido_calendar_menu_item_key_press), item); - g_signal_connect (item->priv->calendar, + g_signal_connect (priv->calendar, "month-changed", G_CALLBACK (calendar_month_changed_cb), item); - g_signal_connect (item->priv->calendar, + g_signal_connect (priv->calendar, "day-selected", G_CALLBACK (calendar_day_selected_cb), item); - g_signal_connect (item->priv->calendar, + g_signal_connect (priv->calendar, "day-selected-double-click", G_CALLBACK (calendar_day_selected_double_click_cb), item); @@ -327,7 +335,10 @@ calendar_move_focus_cb (GtkWidget *widget, GtkDirectionType direction, IdoCalendarMenuItem *item) { - ido_calendar_menu_item_send_focus_change (GTK_WIDGET (IDO_CALENDAR_MENU_ITEM (item)->priv->calendar), FALSE); + IdoCalendarMenuItem *menuitem = IDO_CALENDAR_MENU_ITEM (widget); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + ido_calendar_menu_item_send_focus_change (GTK_WIDGET (priv->calendar), FALSE); g_signal_emit_by_name (item, "move-focus", @@ -386,7 +397,9 @@ ido_calendar_menu_item_get_calendar (IdoCalendarMenuItem *menuitem) { g_return_val_if_fail (IDO_IS_CALENDAR_MENU_ITEM (menuitem), NULL); - return menuitem->priv->calendar; + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + return priv->calendar; } /** @@ -402,8 +415,10 @@ gboolean ido_calendar_menu_item_mark_day (IdoCalendarMenuItem *menuitem, guint day) { g_return_val_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem), FALSE); - - gtk_calendar_mark_day(GTK_CALENDAR (menuitem->priv->calendar), day); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + gtk_calendar_mark_day(GTK_CALENDAR (priv->calendar), day); return TRUE; } @@ -420,8 +435,10 @@ gboolean ido_calendar_menu_item_unmark_day (IdoCalendarMenuItem *menuitem, guint day) { g_return_val_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem), FALSE); - - gtk_calendar_unmark_day(GTK_CALENDAR (menuitem->priv->calendar), day); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + gtk_calendar_unmark_day(GTK_CALENDAR (priv->calendar), day); return TRUE; } @@ -435,8 +452,10 @@ void ido_calendar_menu_item_clear_marks (IdoCalendarMenuItem *menuitem) { g_return_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem)); - - gtk_calendar_clear_marks(GTK_CALENDAR (menuitem->priv->calendar)); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + gtk_calendar_clear_marks(GTK_CALENDAR (priv->calendar)); } /** @@ -450,8 +469,10 @@ void ido_calendar_menu_item_set_display_options (IdoCalendarMenuItem *menuitem, GtkCalendarDisplayOptions flags) { g_return_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem)); - - gtk_calendar_set_display_options (GTK_CALENDAR (menuitem->priv->calendar), flags); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + gtk_calendar_set_display_options (GTK_CALENDAR (priv->calendar), flags); } /** @@ -466,8 +487,10 @@ GtkCalendarDisplayOptions ido_calendar_menu_item_get_display_options (IdoCalendarMenuItem *menuitem) { g_return_val_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem), 0); - - return gtk_calendar_get_display_options (GTK_CALENDAR (menuitem->priv->calendar)); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + return gtk_calendar_get_display_options (GTK_CALENDAR (priv->calendar)); } /** @@ -484,9 +507,12 @@ ido_calendar_menu_item_get_date (IdoCalendarMenuItem *menuitem, guint *year, guint *month, guint *day) { - + g_return_if_fail(IDO_IS_CALENDAR_MENU_ITEM(menuitem)); - gtk_calendar_get_date (GTK_CALENDAR (menuitem->priv->calendar), year, month, day); + + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + + gtk_calendar_get_date (GTK_CALENDAR (priv->calendar), year, month, day); } /** @@ -510,13 +536,15 @@ ido_calendar_menu_item_set_date (IdoCalendarMenuItem *menuitem, g_return_val_if_fail (IDO_IS_CALENDAR_MENU_ITEM(menuitem), FALSE); + IdoCalendarMenuItemPrivate *priv = ido_calendar_menu_item_get_instance_private(menuitem); + ido_calendar_menu_item_get_date (menuitem, &old_y, &old_m, &old_d); if ((old_y != year) || (old_m != month)) - gtk_calendar_select_month (GTK_CALENDAR (menuitem->priv->calendar), month, year); + gtk_calendar_select_month (GTK_CALENDAR (priv->calendar), month, year); if (old_d != day) - gtk_calendar_select_day (GTK_CALENDAR (menuitem->priv->calendar), day); + gtk_calendar_select_day (GTK_CALENDAR (priv->calendar), day); return TRUE; } diff --git a/src/idocalendarmenuitem.h b/src/idocalendarmenuitem.h index 5cd913e..8c1528d 100644 --- a/src/idocalendarmenuitem.h +++ b/src/idocalendarmenuitem.h @@ -39,13 +39,10 @@ G_BEGIN_DECLS typedef struct _IdoCalendarMenuItem IdoCalendarMenuItem; typedef struct _IdoCalendarMenuItemClass IdoCalendarMenuItemClass; -typedef struct _IdoCalendarMenuItemPrivate IdoCalendarMenuItemPrivate; struct _IdoCalendarMenuItem { GtkMenuItem parent_instance; - - IdoCalendarMenuItemPrivate *priv; }; struct _IdoCalendarMenuItemClass diff --git a/src/idodetaillabel.c b/src/idodetaillabel.c index b36b222..c502f92 100644 --- a/src/idodetaillabel.c +++ b/src/idodetaillabel.c @@ -21,14 +21,11 @@ #include <math.h> -G_DEFINE_TYPE (IdoDetailLabel, ido_detail_label, GTK_TYPE_WIDGET) - -struct _IdoDetailLabelPrivate -{ +typedef struct { gchar *text; PangoLayout *layout; gboolean draw_lozenge; -}; +} IdoDetailLabelPrivate; enum { @@ -39,6 +36,8 @@ enum static GParamSpec *properties[NUM_PROPERTIES]; +G_DEFINE_TYPE_WITH_PRIVATE (IdoDetailLabel, ido_detail_label, GTK_TYPE_WIDGET) + static void ido_detail_label_get_property (GObject *object, guint property_id, @@ -46,11 +45,12 @@ ido_detail_label_get_property (GObject *object, GParamSpec *pspec) { IdoDetailLabel *self = IDO_DETAIL_LABEL (object); + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(self); switch (property_id) { case PROP_TEXT: - g_value_set_string (value, self->priv->text); + g_value_set_string (value, priv->text); break; default: @@ -81,7 +81,7 @@ ido_detail_label_set_property (GObject *object, static void ido_detail_label_finalize (GObject *object) { - IdoDetailLabelPrivate *priv = IDO_DETAIL_LABEL (object)->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(IDO_DETAIL_LABEL (object)); g_free (priv->text); @@ -91,7 +91,7 @@ ido_detail_label_finalize (GObject *object) static void ido_detail_label_dispose (GObject *object) { - IdoDetailLabelPrivate *priv = IDO_DETAIL_LABEL (object)->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(IDO_DETAIL_LABEL (object)); g_clear_object (&priv->layout); @@ -101,7 +101,7 @@ ido_detail_label_dispose (GObject *object) static void ido_detail_label_ensure_layout (IdoDetailLabel *label) { - IdoDetailLabelPrivate *priv = label->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(label); if (priv->layout == NULL) { @@ -156,7 +156,8 @@ gtk_widget_get_font_metrics (GtkWidget *widget, static gint ido_detail_label_get_minimum_text_width (IdoDetailLabel *label) { - IdoDetailLabelPrivate *priv = label->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(label); + PangoContext *context; PangoFontMetrics *metrics; gint char_width; @@ -176,7 +177,8 @@ ido_detail_label_draw (GtkWidget *widget, cairo_t *cr) { IdoDetailLabel *label = IDO_DETAIL_LABEL (widget); - IdoDetailLabelPrivate *priv = IDO_DETAIL_LABEL (widget)->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(label); + PangoRectangle extents; GtkAllocation allocation; double x, w, h, radius; @@ -224,7 +226,8 @@ ido_detail_label_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural) { - IdoDetailLabelPrivate *priv = IDO_DETAIL_LABEL (widget)->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(IDO_DETAIL_LABEL (widget)); + PangoRectangle extents; double radius; @@ -244,7 +247,7 @@ ido_detail_label_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural) { - IdoDetailLabelPrivate *priv = IDO_DETAIL_LABEL (widget)->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(IDO_DETAIL_LABEL (widget)); PangoContext *context; PangoFontMetrics *metrics; PangoRectangle extents; @@ -277,8 +280,6 @@ ido_detail_label_class_init (IdoDetailLabelClass *klass) widget_class->get_preferred_width = ido_detail_label_get_preferred_width; widget_class->get_preferred_height = ido_detail_label_get_preferred_height; - g_type_class_add_private (klass, sizeof (IdoDetailLabelPrivate)); - properties[PROP_TEXT] = g_param_spec_string ("text", "Text", "The text of the label", @@ -292,10 +293,6 @@ ido_detail_label_class_init (IdoDetailLabelClass *klass) static void ido_detail_label_init (IdoDetailLabel *self) { - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - IDO_TYPE_DETAIL_LABEL, - IdoDetailLabelPrivate); - gtk_widget_set_has_window (GTK_WIDGET (self), FALSE); } @@ -311,7 +308,10 @@ const gchar * ido_detail_label_get_text (IdoDetailLabel *label) { g_return_val_if_fail (IDO_IS_DETAIL_LABEL (label), NULL); - return label->priv->text; + + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(label); + + return priv->text; } /* collapse_whitespace: @@ -362,7 +362,7 @@ ido_detail_label_set_text_impl (IdoDetailLabel *label, const gchar *text, gboolean draw_lozenge) { - IdoDetailLabelPrivate * priv = label->priv; + IdoDetailLabelPrivate *priv = ido_detail_label_get_instance_private(label); g_clear_object (&priv->layout); g_free (priv->text); diff --git a/src/idodetaillabel.h b/src/idodetaillabel.h index 1995fee..6b6f57a 100644 --- a/src/idodetaillabel.h +++ b/src/idodetaillabel.h @@ -31,12 +31,10 @@ typedef struct _IdoDetailLabel IdoDetailLabel; typedef struct _IdoDetailLabelClass IdoDetailLabelClass; -typedef struct _IdoDetailLabelPrivate IdoDetailLabelPrivate; struct _IdoDetailLabel { GtkWidget parent; - IdoDetailLabelPrivate *priv; }; struct _IdoDetailLabelClass diff --git a/src/idoentrymenuitem.c b/src/idoentrymenuitem.c index 5b5a3fb..d2948df 100644 --- a/src/idoentrymenuitem.c +++ b/src/idoentrymenuitem.c @@ -27,6 +27,7 @@ #include "idoentrymenuitem.h" #include "config.h" +static void ido_entry_menu_item_finalize (GObject *item); static void ido_entry_menu_item_select (GtkMenuItem *item); static void ido_entry_menu_item_deselect (GtkMenuItem *item); static gboolean ido_entry_menu_item_button_release (GtkWidget *widget, @@ -44,16 +45,13 @@ static void entry_move_focus_cb (GtkWidget *widget, GtkDirectionType direction, IdoEntryMenuItem *item); -struct _IdoEntryMenuItemPrivate -{ +typedef struct { GtkWidget *box; GtkWidget *entry; gboolean selected; -}; - -G_DEFINE_TYPE (IdoEntryMenuItem, ido_entry_menu_item, GTK_TYPE_MENU_ITEM) +} IdoEntryMenuItemPrivate; -#define IDO_ENTRY_MENU_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IDO_TYPE_ENTRY_MENU_ITEM, IdoEntryMenuItemPrivate)) +G_DEFINE_TYPE_WITH_PRIVATE (IdoEntryMenuItem, ido_entry_menu_item, GTK_TYPE_MENU_ITEM) static void ido_entry_menu_item_class_init (IdoEntryMenuItemClass *klass) @@ -66,6 +64,8 @@ ido_entry_menu_item_class_init (IdoEntryMenuItemClass *klass) widget_class = GTK_WIDGET_CLASS (klass); menu_item_class = GTK_MENU_ITEM_CLASS (klass); + gobject_class->finalize = ido_entry_menu_item_finalize; + widget_class->button_release_event = ido_entry_menu_item_button_release; widget_class->button_press_event = ido_entry_menu_item_button_press; @@ -73,8 +73,6 @@ ido_entry_menu_item_class_init (IdoEntryMenuItemClass *klass) menu_item_class->deselect = ido_entry_menu_item_deselect; menu_item_class->hide_on_activate = TRUE; - - g_type_class_add_private (gobject_class, sizeof (IdoEntryMenuItemPrivate)); } static void @@ -88,7 +86,7 @@ ido_entry_menu_item_init (IdoEntryMenuItem *item) border.top = 2; border.bottom = 2; - priv = item->priv = IDO_ENTRY_MENU_ITEM_GET_PRIVATE (item); + priv = ido_entry_menu_item_get_instance_private(item); priv->entry = g_object_new (gtk_entry_get_type (), "inner-border", &border, @@ -135,12 +133,13 @@ ido_entry_menu_item_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data) { - IdoEntryMenuItem *menuitem = (IdoEntryMenuItem *)data; + IdoEntryMenuItem *menuitem = IDO_ENTRY_MENU_ITEM(data); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); - if (menuitem->priv->selected && + if (priv->selected && is_key_press_valid (menuitem, event->keyval)) { - GtkWidget *entry = menuitem->priv->entry; + GtkWidget *entry = priv->entry; gtk_widget_event (entry, ((GdkEvent *)(void*)(event))); @@ -179,7 +178,10 @@ static gboolean ido_entry_menu_item_button_press (GtkWidget *widget, GdkEventButton *event) { - GtkWidget *entry = IDO_ENTRY_MENU_ITEM (widget)->priv->entry; + IdoEntryMenuItem *menuitem = IDO_ENTRY_MENU_ITEM(widget); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); + + GtkWidget *entry = priv->entry; if (event->button == 1) { @@ -206,7 +208,10 @@ static gboolean ido_entry_menu_item_button_release (GtkWidget *widget, GdkEventButton *event) { - GtkWidget *entry = IDO_ENTRY_MENU_ITEM (widget)->priv->entry; + IdoEntryMenuItem *menuitem = IDO_ENTRY_MENU_ITEM(widget); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); + + GtkWidget *entry = priv->entry; gtk_widget_event (entry, ((GdkEvent *)(void*)(event))); @@ -217,17 +222,23 @@ ido_entry_menu_item_button_release (GtkWidget *widget, static void ido_entry_menu_item_select (GtkMenuItem *item) { - IDO_ENTRY_MENU_ITEM (item)->priv->selected = TRUE; + IdoEntryMenuItem *menuitem = IDO_ENTRY_MENU_ITEM(item); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); + + priv->selected = TRUE; - ido_entry_menu_item_send_focus_change (GTK_WIDGET (IDO_ENTRY_MENU_ITEM (item)->priv->entry), TRUE); + ido_entry_menu_item_send_focus_change (GTK_WIDGET (priv->entry), TRUE); } static void ido_entry_menu_item_deselect (GtkMenuItem *item) { - IDO_ENTRY_MENU_ITEM (item)->priv->selected = FALSE; + IdoEntryMenuItem *menuitem = IDO_ENTRY_MENU_ITEM(item); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); - ido_entry_menu_item_send_focus_change (GTK_WIDGET (IDO_ENTRY_MENU_ITEM (item)->priv->entry), FALSE); + priv->selected = FALSE; + + ido_entry_menu_item_send_focus_change (GTK_WIDGET (priv->entry), FALSE); } @@ -253,7 +264,9 @@ entry_move_focus_cb (GtkWidget *widget, GtkDirectionType direction, IdoEntryMenuItem *item) { - ido_entry_menu_item_send_focus_change (GTK_WIDGET (IDO_ENTRY_MENU_ITEM (item)->priv->entry), FALSE); + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(item); + + ido_entry_menu_item_send_focus_change (GTK_WIDGET (priv->entry), FALSE); g_signal_emit_by_name (item, "move-focus", @@ -286,5 +299,13 @@ ido_entry_menu_item_get_entry (IdoEntryMenuItem *menuitem) { g_return_val_if_fail (IDO_IS_ENTRY_MENU_ITEM (menuitem), NULL); - return menuitem->priv->entry; + IdoEntryMenuItemPrivate *priv = ido_entry_menu_item_get_instance_private(menuitem); + + return priv->entry; +} + +static void +ido_entry_menu_item_finalize (GObject *gobject) +{ + /* no-op */ } diff --git a/src/idoentrymenuitem.h b/src/idoentrymenuitem.h index 417e774..7c5da79 100644 --- a/src/idoentrymenuitem.h +++ b/src/idoentrymenuitem.h @@ -39,13 +39,10 @@ G_BEGIN_DECLS typedef struct _IdoEntryMenuItem IdoEntryMenuItem; typedef struct _IdoEntryMenuItemClass IdoEntryMenuItemClass; -typedef struct _IdoEntryMenuItemPrivate IdoEntryMenuItemPrivate; struct _IdoEntryMenuItem { GtkMenuItem parent_instance; - - IdoEntryMenuItemPrivate *priv; }; struct _IdoEntryMenuItemClass diff --git a/src/idolocationmenuitem.c b/src/idolocationmenuitem.c index 335422a..eb6b38b 100644 --- a/src/idolocationmenuitem.c +++ b/src/idolocationmenuitem.c @@ -37,16 +37,13 @@ enum static GParamSpec *properties[PROP_LAST]; -struct _IdoLocationMenuItemPrivate -{ +typedef struct { char * timezone; guint timestamp_timer; -}; +} IdoLocationMenuItemPrivate; -typedef IdoLocationMenuItemPrivate priv_t; - -G_DEFINE_TYPE (IdoLocationMenuItem, ido_location_menu_item, IDO_TYPE_TIME_STAMP_MENU_ITEM); +G_DEFINE_TYPE_WITH_PRIVATE (IdoLocationMenuItem, ido_location_menu_item, IDO_TYPE_TIME_STAMP_MENU_ITEM); /*** **** Timestamp Label @@ -58,7 +55,9 @@ update_timestamp (IdoLocationMenuItem * self) GTimeZone * tz; GDateTime * date_time; - tz = g_time_zone_new (self->priv->timezone); + IdoLocationMenuItemPrivate * priv = ido_location_menu_item_get_instance_private(self); + + tz = g_time_zone_new (priv->timezone); if (tz == NULL) tz = g_time_zone_new_local (); date_time = g_date_time_new_now (tz); @@ -73,7 +72,7 @@ update_timestamp (IdoLocationMenuItem * self) static void stop_timestamp_timer (IdoLocationMenuItem * self) { - priv_t * p = self->priv; + IdoLocationMenuItemPrivate * p = ido_location_menu_item_get_instance_private(self); if (p->timestamp_timer != 0) { @@ -130,6 +129,7 @@ restart_timestamp_timer (IdoLocationMenuItem * self) const char * fmt = ido_time_stamp_menu_item_get_format (IDO_TIME_STAMP_MENU_ITEM (self)); gboolean timestamp_shows_seconds; int interval_sec; + IdoLocationMenuItemPrivate * priv = ido_location_menu_item_get_instance_private(self); stop_timestamp_timer (self); @@ -142,7 +142,7 @@ restart_timestamp_timer (IdoLocationMenuItem * self) else interval_sec = calculate_seconds_until_next_minute(); - self->priv->timestamp_timer = g_timeout_add_seconds (interval_sec, + priv->timestamp_timer = g_timeout_add_seconds (interval_sec, on_timestamp_timer, self); } @@ -158,7 +158,7 @@ my_get_property (GObject * o, GParamSpec * pspec) { IdoLocationMenuItem * self = IDO_LOCATION_MENU_ITEM (o); - priv_t * p = self->priv; + IdoLocationMenuItemPrivate * p = ido_location_menu_item_get_instance_private(self); switch (property_id) { @@ -204,8 +204,9 @@ static void my_finalize (GObject * object) { IdoLocationMenuItem * self = IDO_LOCATION_MENU_ITEM (object); + IdoLocationMenuItemPrivate * priv = ido_location_menu_item_get_instance_private(self); - g_free (self->priv->timezone); + g_free (priv->timezone); G_OBJECT_CLASS (ido_location_menu_item_parent_class)->finalize (object); } @@ -219,8 +220,6 @@ ido_location_menu_item_class_init (IdoLocationMenuItemClass *klass) { GObjectClass * gobject_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (IdoLocationMenuItemPrivate)); - gobject_class->get_property = my_get_property; gobject_class->set_property = my_set_property; gobject_class->dispose = my_dispose; @@ -239,10 +238,6 @@ ido_location_menu_item_class_init (IdoLocationMenuItemClass *klass) static void ido_location_menu_item_init (IdoLocationMenuItem *self) { - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - IDO_LOCATION_MENU_ITEM_TYPE, - IdoLocationMenuItemPrivate); - /* Update the timer whenever the format string changes because it determines whether we update once per second or per minute */ g_signal_connect (self, "notify::format", @@ -271,10 +266,11 @@ void ido_location_menu_item_set_timezone (IdoLocationMenuItem * self, const char * timezone) { - priv_t * p; + IdoLocationMenuItemPrivate * p; g_return_if_fail (IDO_IS_LOCATION_MENU_ITEM (self)); - p = self->priv; + + p = ido_location_menu_item_get_instance_private(self); g_free (p->timezone); p->timezone = g_strdup (timezone); diff --git a/src/idolocationmenuitem.h b/src/idolocationmenuitem.h index 2ae231f..5d1c660 100644 --- a/src/idolocationmenuitem.h +++ b/src/idolocationmenuitem.h @@ -31,7 +31,6 @@ G_BEGIN_DECLS typedef struct _IdoLocationMenuItem IdoLocationMenuItem; typedef struct _IdoLocationMenuItemClass IdoLocationMenuItemClass; -typedef struct _IdoLocationMenuItemPrivate IdoLocationMenuItemPrivate; struct _IdoLocationMenuItemClass { @@ -48,7 +47,6 @@ struct _IdoLocationMenuItem { /*< private >*/ IdoTimeStampMenuItem parent; - IdoLocationMenuItemPrivate * priv; }; diff --git a/src/idomessagedialog.c b/src/idomessagedialog.c index 5b73950..ef5f148 100644 --- a/src/idomessagedialog.c +++ b/src/idomessagedialog.c @@ -34,22 +34,18 @@ #include "idotimeline.h" #include "config.h" -#define IDO_MESSAGE_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IDO_TYPE_MESSAGE_DIALOG, IdoMessageDialogPrivate)) - static GtkWidget *ido_message_dialog_get_secondary_label (IdoMessageDialog *dialog); static GtkWidget *ido_message_dialog_get_primary_label (IdoMessageDialog *dialog); -typedef struct _IdoMessageDialogPrivate IdoMessageDialogPrivate; -typedef struct _IdoMessageDialogMorphContext IdoMessageDialogMorphContext; - -struct _IdoMessageDialogPrivate -{ +typedef struct { GtkWidget *action_area; GtkWidget *primary_label; GtkWidget *secondary_label; gboolean expanded; -}; +} IdoMessageDialogPrivate; + +typedef struct _IdoMessageDialogMorphContext IdoMessageDialogMorphContext; struct _IdoMessageDialogMorphContext { @@ -60,13 +56,13 @@ struct _IdoMessageDialogMorphContext GtkRequisition end; }; -G_DEFINE_TYPE (IdoMessageDialog, ido_message_dialog, GTK_TYPE_MESSAGE_DIALOG) +G_DEFINE_TYPE_WITH_PRIVATE (IdoMessageDialog, ido_message_dialog, GTK_TYPE_MESSAGE_DIALOG) static void ido_message_dialog_map (GtkWidget *widget) { IdoMessageDialog *dialog = IDO_MESSAGE_DIALOG (widget); - IdoMessageDialogPrivate *priv = IDO_MESSAGE_DIALOG_GET_PRIVATE (dialog); + IdoMessageDialogPrivate *priv = ido_message_dialog_get_instance_private (dialog); GTK_WIDGET_CLASS (ido_message_dialog_parent_class)->map (widget); @@ -145,7 +141,7 @@ timeline_finished_cb (IdoTimeline *timeline, gpointer user_data) { IdoMessageDialogMorphContext *context = user_data; - IdoMessageDialogPrivate *priv = IDO_MESSAGE_DIALOG_GET_PRIVATE (context->widget); + IdoMessageDialogPrivate *priv = ido_message_dialog_get_instance_private (IDO_MESSAGE_DIALOG (context->widget)); gtk_widget_show (priv->action_area); gtk_widget_show (priv->secondary_label); @@ -158,7 +154,7 @@ ido_message_dialog_focus_in_event (GtkWidget *widget, GdkEventFocus *event) { IdoMessageDialog *dialog = IDO_MESSAGE_DIALOG (widget); - IdoMessageDialogPrivate *priv = IDO_MESSAGE_DIALOG_GET_PRIVATE (dialog); + IdoMessageDialogPrivate *priv = ido_message_dialog_get_instance_private (dialog); if (!priv->expanded) { @@ -203,7 +199,9 @@ ido_message_dialog_focus_in_event (GtkWidget *widget, static void ido_message_dialog_constructed (GObject *object) { - IdoMessageDialogPrivate *priv = IDO_MESSAGE_DIALOG_GET_PRIVATE (object); + + IdoMessageDialog *dialog = IDO_MESSAGE_DIALOG (object); + IdoMessageDialogPrivate *priv = ido_message_dialog_get_instance_private (dialog); GtkWidget *vbox; GtkWidget *event_box; @@ -231,8 +229,6 @@ ido_message_dialog_class_init (IdoMessageDialogClass *class) widget_class->map = ido_message_dialog_map; widget_class->focus_in_event = ido_message_dialog_focus_in_event; - - g_type_class_add_private (object_class, sizeof (IdoMessageDialogPrivate)); } static void diff --git a/src/idorange.c b/src/idorange.c index acdfa5d..634b223 100644 --- a/src/idorange.c +++ b/src/idorange.c @@ -27,10 +27,9 @@ #include "idotypebuiltins.h" #include "config.h" -struct _IdoRangePrivate -{ +typedef struct { IdoRangeStyle style; -}; +} IdoRangePrivate; static void ido_range_constructed (GObject *object); static void ido_range_set_property (GObject *object, @@ -42,9 +41,7 @@ static void ido_range_get_property (GObject *object, GValue *value, GParamSpec *pspec); -#define IDO_RANGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IDO_TYPE_RANGE, IdoRangePrivate)) - -G_DEFINE_TYPE (IdoRange, ido_range, GTK_TYPE_SCALE) +G_DEFINE_TYPE_WITH_PRIVATE (IdoRange, ido_range, GTK_TYPE_SCALE) enum { PROP_0, @@ -87,8 +84,6 @@ ido_range_class_init (IdoRangeClass *class) G_MAXINT, 8, G_PARAM_READABLE)); - - g_type_class_add_private (class, sizeof (IdoRangePrivate)); } static void @@ -97,7 +92,8 @@ ido_range_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - IdoRangePrivate *priv = IDO_RANGE (object)->priv; + IdoRange *range = IDO_RANGE (object); + IdoRangePrivate *priv = ido_range_get_instance_private (range); switch (prop_id) { @@ -117,7 +113,8 @@ ido_range_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - IdoRangePrivate *priv = IDO_RANGE (object)->priv; + IdoRange *range = IDO_RANGE (object); + IdoRangePrivate *priv = ido_range_get_instance_private (range); switch (prop_id) { @@ -135,6 +132,7 @@ static void ido_range_constructed (GObject *object) { IdoRange *range = IDO_RANGE (object); + IdoRangeStyle style; char buf[1024]; @@ -163,7 +161,7 @@ ido_range_constructed (GObject *object) static void ido_range_init (IdoRange *range) { - range->priv = IDO_RANGE_GET_PRIVATE (range); + /* no-op */ } /** diff --git a/src/idorange.h b/src/idorange.h index 7c2e79b..beef43f 100644 --- a/src/idorange.h +++ b/src/idorange.h @@ -44,13 +44,11 @@ typedef enum } IdoRangeStyle; typedef struct _IdoRange IdoRange; -typedef struct _IdoRangePrivate IdoRangePrivate; typedef struct _IdoRangeClass IdoRangeClass; struct _IdoRange { GtkScale parent_instance; - IdoRangePrivate *priv; }; struct _IdoRangeClass diff --git a/src/idoscalemenuitem.c b/src/idoscalemenuitem.c index de9884f..9f5f29c 100644 --- a/src/idoscalemenuitem.c +++ b/src/idoscalemenuitem.c @@ -64,7 +64,7 @@ static void update_packing (IdoScaleMenuItem static void default_primary_clicked_handler (IdoScaleMenuItem *self); static void default_secondary_clicked_handler (IdoScaleMenuItem *self); -struct _IdoScaleMenuItemPrivate { +typedef struct { GtkWidget *scale; GtkAdjustment *adjustment; GtkWidget *primary_image; @@ -78,7 +78,7 @@ struct _IdoScaleMenuItemPrivate { IdoRangeStyle range_style; gboolean ignore_value_changed; gboolean has_focus; -}; +} IdoScaleMenuItemPrivate; enum { SLIDER_GRABBED, @@ -99,15 +99,15 @@ enum { static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (IdoScaleMenuItem, ido_scale_menu_item, GTK_TYPE_MENU_ITEM) - -#define GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), IDO_TYPE_SCALE_MENU_ITEM, IdoScaleMenuItemPrivate)) +G_DEFINE_TYPE_WITH_PRIVATE (IdoScaleMenuItem, ido_scale_menu_item, GTK_TYPE_MENU_ITEM) static gboolean ido_scale_menu_item_scroll_event (GtkWidget *menuitem, GdkEventScroll *event) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem); + IdoScaleMenuItem *item = IDO_SCALE_MENU_ITEM (menuitem); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (item); + GtkWidget *scale = priv->scale; if (priv->reverse_scroll) @@ -138,7 +138,7 @@ ido_scale_menu_item_scale_value_changed (GtkRange *range, gpointer user_data) { IdoScaleMenuItem *self = user_data; - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (self); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (self); /* The signal is not sent when it was set through * ido_scale_menu_item_set_value(). */ @@ -151,7 +151,8 @@ static void ido_scale_menu_item_constructed (GObject *object) { IdoScaleMenuItem *self = IDO_SCALE_MENU_ITEM (object); - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (self); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (self); + GObject *adj = G_OBJECT (gtk_adjustment_new (0.0, 0.0, 100.0, 1.0, 10.0, 0.0)); IdoRangeStyle range_style; GtkWidget *hbox; @@ -322,14 +323,13 @@ ido_scale_menu_item_class_init (IdoScaleMenuItemClass *item_class) G_TYPE_NONE, 1, G_TYPE_DOUBLE); - - g_type_class_add_private (item_class, sizeof (IdoScaleMenuItemPrivate)); } static void update_packing (IdoScaleMenuItem *self, IdoScaleMenuItemStyle style) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (self); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (self); + GtkBox * box = GTK_BOX (priv->hbox); GtkContainer *container = GTK_CONTAINER (priv->hbox); @@ -366,7 +366,7 @@ update_packing (IdoScaleMenuItem *self, IdoScaleMenuItemStyle style) static void ido_scale_menu_item_init (IdoScaleMenuItem *self) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (self); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (self); priv->reverse_scroll = TRUE; @@ -380,7 +380,7 @@ ido_scale_menu_item_set_property (GObject *object, GParamSpec *pspec) { IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (object); - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menu_item); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); switch (prop_id) { @@ -413,7 +413,7 @@ ido_scale_menu_item_get_property (GObject *object, GParamSpec *pspec) { IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (object); - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menu_item); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); GtkAdjustment *adjustment; switch (prop_id) @@ -442,7 +442,8 @@ ido_scale_menu_item_parent_key_press_event (GtkWidget *widget, GdkEventKey *event, gpointer user_data) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (user_data); + IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (user_data); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); /* only listen to events when the playback menu item is selected */ if (!priv->has_focus) @@ -469,7 +470,8 @@ ido_scale_menu_item_parent_key_press_event (GtkWidget *widget, static void ido_scale_menu_item_select (GtkMenuItem *item) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (item); + IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (item); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); priv->has_focus = TRUE; gtk_widget_set_state_flags (priv->scale, GTK_STATE_FLAG_FOCUSED, FALSE); @@ -480,7 +482,8 @@ ido_scale_menu_item_select (GtkMenuItem *item) static void ido_scale_menu_item_deselect (GtkMenuItem *item) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (item); + IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (item); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); priv->has_focus = FALSE; gtk_widget_unset_state_flags (priv->scale, GTK_STATE_FLAG_FOCUSED); @@ -492,7 +495,9 @@ static gboolean ido_scale_menu_item_button_press_event (GtkWidget *menuitem, GdkEventButton *event) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem); + IdoScaleMenuItem *item = IDO_SCALE_MENU_ITEM (menuitem); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (item); + GtkAllocation alloc; gint x, y; @@ -516,7 +521,8 @@ ido_scale_menu_item_button_release_event (GtkWidget *menuitem, GdkEventButton *event) { IdoScaleMenuItem *item = IDO_SCALE_MENU_ITEM (menuitem); - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (item); + GtkWidget *scale = priv->scale; GtkAllocation alloc; gint x, y; @@ -569,7 +575,9 @@ static gboolean ido_scale_menu_item_motion_notify_event (GtkWidget *menuitem, GdkEventMotion *event) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (menuitem); + IdoScaleMenuItem *menu_item = IDO_SCALE_MENU_ITEM (menuitem); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (menu_item); + GtkAllocation alloc; gint x, y; @@ -596,7 +604,7 @@ static void menu_hidden (GtkWidget *menu, IdoScaleMenuItem *scale) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (scale); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (scale); if (priv->grabbed) { @@ -718,7 +726,7 @@ ido_scale_menu_item_get_scale (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), NULL); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return priv->scale; } @@ -739,7 +747,7 @@ ido_scale_menu_item_get_style (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), IDO_SCALE_MENU_ITEM_STYLE_NONE); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return priv->style; } @@ -760,7 +768,7 @@ ido_scale_menu_item_set_style (IdoScaleMenuItem *menuitem, g_return_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem)); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); priv->style = style; @@ -784,7 +792,7 @@ ido_scale_menu_item_get_primary_image (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), NULL); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return priv->primary_image; } @@ -806,7 +814,7 @@ ido_scale_menu_item_get_secondary_image (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), NULL); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return priv->secondary_image; } @@ -859,7 +867,7 @@ ido_scale_menu_item_get_primary_label (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), NULL); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return gtk_label_get_text (GTK_LABEL (priv->primary_label)); } @@ -881,7 +889,7 @@ ido_scale_menu_item_get_secondary_label (IdoScaleMenuItem *menuitem) g_return_val_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem), NULL); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); return gtk_label_get_text (GTK_LABEL (priv->secondary_label)); } @@ -903,7 +911,7 @@ ido_scale_menu_item_set_primary_label (IdoScaleMenuItem *menuitem, g_return_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem)); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); if (priv->primary_label) { @@ -928,7 +936,7 @@ ido_scale_menu_item_set_secondary_label (IdoScaleMenuItem *menuitem, g_return_if_fail (IDO_IS_SCALE_MENU_ITEM (menuitem)); - priv = GET_PRIVATE (menuitem); + priv = ido_scale_menu_item_get_instance_private (menuitem); if (priv->secondary_label) { @@ -954,7 +962,8 @@ static void default_primary_clicked_handler (IdoScaleMenuItem * item) { g_debug ("%s: setting scale to lower bound", G_STRFUNC); - IdoScaleMenuItemPrivate * priv = GET_PRIVATE (item); + IdoScaleMenuItemPrivate * priv = ido_scale_menu_item_get_instance_private (item); + GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (priv->scale)); gtk_adjustment_set_value (adj, gtk_adjustment_get_lower (adj)); } @@ -977,7 +986,7 @@ static void default_secondary_clicked_handler (IdoScaleMenuItem * item) { g_debug ("%s: setting scale to upper bound", G_STRFUNC); - IdoScaleMenuItemPrivate * priv = GET_PRIVATE (item); + IdoScaleMenuItemPrivate * priv = ido_scale_menu_item_get_instance_private (item); GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (priv->scale)); gtk_adjustment_set_value (adj, gtk_adjustment_get_upper (adj)); } @@ -991,7 +1000,7 @@ static void ido_scale_menu_item_set_value (IdoScaleMenuItem *item, gdouble value) { - IdoScaleMenuItemPrivate *priv = GET_PRIVATE (item); + IdoScaleMenuItemPrivate *priv = ido_scale_menu_item_get_instance_private (item); /* set ignore_value_changed to signify to the scale menu item that it * should not emit its own value-changed signal, as that should only diff --git a/src/idoscalemenuitem.h b/src/idoscalemenuitem.h index 2c32a49..de6968e 100644 --- a/src/idoscalemenuitem.h +++ b/src/idoscalemenuitem.h @@ -47,13 +47,10 @@ typedef enum typedef struct _IdoScaleMenuItem IdoScaleMenuItem; typedef struct _IdoScaleMenuItemClass IdoScaleMenuItemClass; -typedef struct _IdoScaleMenuItemPrivate IdoScaleMenuItemPrivate; struct _IdoScaleMenuItem { GtkMenuItem parent_instance; - - IdoScaleMenuItemPrivate *priv; }; struct _IdoScaleMenuItemClass diff --git a/src/idoswitchmenuitem.c b/src/idoswitchmenuitem.c index d47392f..bd00e1d 100644 --- a/src/idoswitchmenuitem.c +++ b/src/idoswitchmenuitem.c @@ -23,24 +23,25 @@ #include "idoswitchmenuitem.h" #include "idoactionhelper.h" +static void ido_switch_menu_finalize (GObject * item); static gboolean ido_switch_menu_button_release_event (GtkWidget * widget, GdkEventButton * event); -struct _IdoSwitchMenuItemPrivate +typedef struct { GtkWidget * box; GtkWidget * content_area; GtkWidget * label; GtkWidget * image; GtkWidget * switch_w; -}; +} IdoSwitchMenuItemPrivate; /*** **** Life Cycle ***/ -G_DEFINE_TYPE (IdoSwitchMenuItem, ido_switch_menu_item, GTK_TYPE_CHECK_MENU_ITEM) +G_DEFINE_TYPE_WITH_PRIVATE (IdoSwitchMenuItem, ido_switch_menu_item, GTK_TYPE_CHECK_MENU_ITEM) static void ido_switch_menu_item_class_init (IdoSwitchMenuItemClass *klass) @@ -50,7 +51,8 @@ ido_switch_menu_item_class_init (IdoSwitchMenuItemClass *klass) GtkCheckMenuItemClass * check_class; gobject_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (gobject_class, sizeof (IdoSwitchMenuItemPrivate)); + + gobject_class->finalize = ido_switch_menu_finalize; widget_class = GTK_WIDGET_CLASS (klass); widget_class->button_release_event = ido_switch_menu_button_release_event; @@ -62,9 +64,8 @@ ido_switch_menu_item_class_init (IdoSwitchMenuItemClass *klass) static void ido_switch_menu_item_init (IdoSwitchMenuItem *item) { - IdoSwitchMenuItemPrivate *priv; + IdoSwitchMenuItemPrivate *priv = ido_switch_menu_item_get_instance_private(item); - priv = item->priv = G_TYPE_INSTANCE_GET_PRIVATE (item, IDO_TYPE_SWITCH_MENU_ITEM, IdoSwitchMenuItemPrivate); priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); priv->content_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); priv->switch_w = gtk_switch_new (); @@ -134,6 +135,8 @@ ido_switch_menu_item_get_content_area (IdoSwitchMenuItem * item) g_return_val_if_fail (IDO_IS_SWITCH_MENU_ITEM(item), NULL); + IdoSwitchMenuItemPrivate *priv = ido_switch_menu_item_get_instance_private(item); + if (!warned) { g_warning ("%s is deprecated. Please don't use it, especially if you're using" @@ -141,7 +144,7 @@ ido_switch_menu_item_get_content_area (IdoSwitchMenuItem * item) warned = TRUE; } - return GTK_CONTAINER (item->priv->content_area); + return GTK_CONTAINER (priv->content_area); } /** @@ -160,7 +163,7 @@ ido_switch_menu_item_set_label (IdoSwitchMenuItem *item, g_return_if_fail (IDO_IS_SWITCH_MENU_ITEM (item)); g_return_if_fail (label != NULL); - priv = item->priv; + priv = ido_switch_menu_item_get_instance_private(item); if (priv->label == NULL) { @@ -189,7 +192,7 @@ ido_switch_menu_item_set_icon (IdoSwitchMenuItem *item, g_return_if_fail (IDO_IS_SWITCH_MENU_ITEM (item)); g_return_if_fail (icon == NULL || G_IS_ICON (icon)); - priv = item->priv; + priv = ido_switch_menu_item_get_instance_private(item); if (icon) { @@ -213,10 +216,11 @@ ido_source_menu_item_state_changed (IdoActionHelper *helper, GVariant *state, gpointer user_data) { - IdoSwitchMenuItem *item = user_data; + IdoSwitchMenuItem *item = IDO_SWITCH_MENU_ITEM (user_data); + IdoSwitchMenuItemPrivate *priv = ido_switch_menu_item_get_instance_private(item); if (g_variant_is_of_type (state, G_VARIANT_TYPE_BOOLEAN)) - gtk_switch_set_active (GTK_SWITCH (item->priv->switch_w), + gtk_switch_set_active (GTK_SWITCH (priv->switch_w), g_variant_get_boolean (state)); } @@ -269,3 +273,10 @@ ido_switch_menu_item_new_from_menu_model (GMenuItem *menuitem, return item; } + +static void +ido_switch_menu_finalize (GObject * item) +{ + /* no-op */ +} + diff --git a/src/idoswitchmenuitem.h b/src/idoswitchmenuitem.h index 222b473..de218d1 100644 --- a/src/idoswitchmenuitem.h +++ b/src/idoswitchmenuitem.h @@ -34,13 +34,10 @@ G_BEGIN_DECLS typedef struct _IdoSwitchMenuItem IdoSwitchMenuItem; typedef struct _IdoSwitchMenuItemClass IdoSwitchMenuItemClass; -typedef struct _IdoSwitchMenuItemPrivate IdoSwitchMenuItemPrivate; struct _IdoSwitchMenuItem { GtkCheckMenuItem parent_instance; - - IdoSwitchMenuItemPrivate *priv; }; struct _IdoSwitchMenuItemClass diff --git a/src/idotimeline.c b/src/idotimeline.c index 8eea4b5..4929ba3 100644 --- a/src/idotimeline.c +++ b/src/idotimeline.c @@ -25,15 +25,11 @@ #include <gtk/gtk.h> #include <math.h> -#define IDO_TIMELINE_GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), IDO_TYPE_TIMELINE, IdoTimelinePriv)) #define MSECS_PER_SEC 1000 #define FRAME_INTERVAL(nframes) (MSECS_PER_SEC / nframes) #define DEFAULT_FPS 30 -typedef struct IdoTimelinePriv IdoTimelinePriv; - -struct IdoTimelinePriv -{ +typedef struct { guint duration; guint fps; guint source_id; @@ -48,7 +44,7 @@ struct IdoTimelinePriv guint animations_enabled : 1; guint loop : 1; guint direction : 1; -}; +} IdoTimelinePrivate; enum { PROP_0, @@ -81,7 +77,7 @@ static void ido_timeline_get_property (GObject *object, static void ido_timeline_finalize (GObject *object); -G_DEFINE_TYPE (IdoTimeline, ido_timeline, G_TYPE_OBJECT) +G_DEFINE_TYPE_WITH_PRIVATE (IdoTimeline, ido_timeline, G_TYPE_OBJECT) static void @@ -193,16 +189,12 @@ ido_timeline_class_init (IdoTimelineClass *klass) g_cclosure_marshal_VOID__DOUBLE, G_TYPE_NONE, 1, G_TYPE_DOUBLE); - - g_type_class_add_private (klass, sizeof (IdoTimelinePriv)); } static void ido_timeline_init (IdoTimeline *timeline) { - IdoTimelinePriv *priv; - - priv = IDO_TIMELINE_GET_PRIV (timeline); + IdoTimelinePrivate *priv = ido_timeline_get_instance_private (timeline); priv->fps = DEFAULT_FPS; priv->duration = 0.0; @@ -251,11 +243,8 @@ ido_timeline_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - IdoTimeline *timeline; - IdoTimelinePriv *priv; - - timeline = IDO_TIMELINE (object); - priv = IDO_TIMELINE_GET_PRIV (timeline); + IdoTimeline *timeline = IDO_TIMELINE (object); + IdoTimelinePrivate *priv = ido_timeline_get_instance_private (timeline); switch (prop_id) { @@ -282,9 +271,8 @@ ido_timeline_get_property (GObject *object, static void ido_timeline_finalize (GObject *object) { - IdoTimelinePriv *priv; - - priv = IDO_TIMELINE_GET_PRIV (object); + IdoTimeline *timeline = IDO_TIMELINE (object); + IdoTimelinePrivate *priv = ido_timeline_get_instance_private (timeline); if (priv->source_id) { @@ -301,11 +289,10 @@ ido_timeline_finalize (GObject *object) static gboolean ido_timeline_run_frame (IdoTimeline *timeline) { - IdoTimelinePriv *priv; gdouble delta_progress, progress; guint elapsed_time; - priv = IDO_TIMELINE_GET_PRIV (timeline); + IdoTimelinePrivate *priv = ido_timeline_get_instance_private (timeline); elapsed_time = (guint) (g_timer_elapsed (priv->timer, NULL) * 1000); g_timer_start (priv->timer); @@ -395,12 +382,12 @@ ido_timeline_new_for_screen (guint duration, void ido_timeline_start (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; gboolean enable_animations = FALSE; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (!priv->source_id) { @@ -446,11 +433,11 @@ ido_timeline_start (IdoTimeline *timeline) void ido_timeline_pause (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (priv->source_id) { @@ -470,11 +457,11 @@ ido_timeline_pause (IdoTimeline *timeline) void ido_timeline_rewind (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (ido_timeline_get_direction(timeline) != IDO_TIMELINE_DIRECTION_FORWARD) priv->progress = priv->last_progress = 1.; @@ -502,11 +489,11 @@ ido_timeline_rewind (IdoTimeline *timeline) gboolean ido_timeline_is_running (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), FALSE); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); return (priv->source_id != 0); } @@ -522,11 +509,12 @@ ido_timeline_is_running (IdoTimeline *timeline) guint ido_timeline_get_fps (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), 1); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); + return priv->fps; } @@ -542,12 +530,12 @@ void ido_timeline_set_fps (IdoTimeline *timeline, guint fps) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); g_return_if_fail (fps > 0); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); /* Coverity CID: 12650/12651: guard against division by 0. */ priv->fps = fps > 0 ? fps : priv->fps; @@ -575,11 +563,12 @@ ido_timeline_set_fps (IdoTimeline *timeline, gboolean ido_timeline_get_loop (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), FALSE); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); + return priv->loop; } @@ -595,11 +584,11 @@ void ido_timeline_set_loop (IdoTimeline *timeline, gboolean loop) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (loop != priv->loop) { @@ -619,11 +608,11 @@ void ido_timeline_set_duration (IdoTimeline *timeline, guint duration) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (duration != priv->duration) { @@ -643,11 +632,11 @@ ido_timeline_set_duration (IdoTimeline *timeline, guint ido_timeline_get_duration (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), 0); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); return priv->duration; } @@ -663,11 +652,11 @@ void ido_timeline_set_direction (IdoTimeline *timeline, IdoTimelineDirection direction) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (direction != priv->direction) { @@ -687,11 +676,12 @@ ido_timeline_set_direction (IdoTimeline *timeline, IdoTimelineDirection ido_timeline_get_direction (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), IDO_TIMELINE_DIRECTION_FORWARD); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); + return priv->direction; } @@ -706,12 +696,12 @@ void ido_timeline_set_screen (IdoTimeline *timeline, GdkScreen *screen) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); g_return_if_fail (GDK_IS_SCREEN (screen)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (priv->screen) g_object_unref (priv->screen); @@ -732,11 +722,12 @@ ido_timeline_set_screen (IdoTimeline *timeline, GdkScreen * ido_timeline_get_screen (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), NULL); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); + return priv->screen; } @@ -751,11 +742,12 @@ ido_timeline_get_screen (IdoTimeline *timeline) gdouble ido_timeline_get_progress (IdoTimeline *timeline) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_val_if_fail (IDO_IS_TIMELINE (timeline), 0.); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); + return priv->progress; } @@ -769,11 +761,11 @@ ido_timeline_get_progress (IdoTimeline *timeline) void ido_timeline_set_progress (IdoTimeline *timeline, gdouble progress) { - IdoTimelinePriv *priv; + IdoTimelinePrivate *priv; g_return_if_fail (IDO_IS_TIMELINE (timeline)); - priv = IDO_TIMELINE_GET_PRIV (timeline); + priv = ido_timeline_get_instance_private (timeline); if (priv->source_id) { diff --git a/src/idotimestampmenuitem.c b/src/idotimestampmenuitem.c index 0d33deb..0c9c086 100644 --- a/src/idotimestampmenuitem.c +++ b/src/idotimestampmenuitem.c @@ -39,17 +39,14 @@ enum static GParamSpec *properties[PROP_LAST]; -struct _IdoTimeStampMenuItemPrivate -{ +typedef struct { char * format; GDateTime * date_time; -}; - -typedef IdoTimeStampMenuItemPrivate priv_t; +} IdoTimeStampMenuItemPrivate; -G_DEFINE_TYPE (IdoTimeStampMenuItem, - ido_time_stamp_menu_item, - IDO_TYPE_BASIC_MENU_ITEM); +G_DEFINE_TYPE_WITH_PRIVATE (IdoTimeStampMenuItem, + ido_time_stamp_menu_item, + IDO_TYPE_BASIC_MENU_ITEM); /*** **** GObject Virtual Functions @@ -62,16 +59,16 @@ my_get_property (GObject * o, GParamSpec * pspec) { IdoTimeStampMenuItem * self = IDO_TIME_STAMP_MENU_ITEM (o); - priv_t * p = self->priv; + IdoTimeStampMenuItemPrivate * priv = ido_time_stamp_menu_item_get_instance_private(self); switch (property_id) { case PROP_FORMAT: - g_value_set_string (v, p->format); + g_value_set_string (v, priv->format); break; case PROP_DATE_TIME: - g_value_set_boxed (v, p->date_time); + g_value_set_boxed (v, priv->date_time); break; default: @@ -108,9 +105,9 @@ static void my_dispose (GObject * object) { IdoTimeStampMenuItem * self = IDO_TIME_STAMP_MENU_ITEM (object); - priv_t * p = self->priv; + IdoTimeStampMenuItemPrivate * priv = ido_time_stamp_menu_item_get_instance_private(self); - g_clear_pointer (&p->date_time, g_date_time_unref); + g_clear_pointer (&priv->date_time, g_date_time_unref); G_OBJECT_CLASS (ido_time_stamp_menu_item_parent_class)->dispose (object); } @@ -119,9 +116,9 @@ static void my_finalize (GObject * object) { IdoTimeStampMenuItem * self = IDO_TIME_STAMP_MENU_ITEM (object); - priv_t * p = self->priv; + IdoTimeStampMenuItemPrivate * priv = ido_time_stamp_menu_item_get_instance_private(self); - g_free (p->format); + g_free (priv->format); G_OBJECT_CLASS (ido_time_stamp_menu_item_parent_class)->finalize (object); } @@ -136,8 +133,6 @@ ido_time_stamp_menu_item_class_init (IdoTimeStampMenuItemClass *klass) GParamFlags prop_flags; GObjectClass * gobject_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (IdoTimeStampMenuItemPrivate)); - gobject_class->get_property = my_get_property; gobject_class->set_property = my_set_property; gobject_class->dispose = my_dispose; @@ -167,20 +162,18 @@ ido_time_stamp_menu_item_class_init (IdoTimeStampMenuItemClass *klass) static void ido_time_stamp_menu_item_init (IdoTimeStampMenuItem *self) { - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - IDO_TYPE_TIME_STAMP_MENU_ITEM, - IdoTimeStampMenuItemPrivate); - + /* no-op */ } static void update_timestamp_label (IdoTimeStampMenuItem * self) { char * str; - priv_t * p = self->priv; - if (p->date_time && p->format) - str = g_date_time_format (p->date_time, p->format); + IdoTimeStampMenuItemPrivate * priv = ido_time_stamp_menu_item_get_instance_private(self); + + if (priv->date_time && priv->format) + str = g_date_time_format (priv->date_time, priv->format); else str = NULL; @@ -210,14 +203,15 @@ void ido_time_stamp_menu_item_set_date_time (IdoTimeStampMenuItem * self, GDateTime * date_time) { - priv_t * p; + IdoTimeStampMenuItemPrivate * priv; g_return_if_fail (IDO_IS_TIME_STAMP_MENU_ITEM (self)); - p = self->priv; - g_clear_pointer (&p->date_time, g_date_time_unref); + priv = ido_time_stamp_menu_item_get_instance_private(self); + + g_clear_pointer (&priv->date_time, g_date_time_unref); if (date_time != NULL) - p->date_time = g_date_time_ref (date_time); + priv->date_time = g_date_time_ref (date_time); update_timestamp_label (self); } @@ -234,20 +228,25 @@ void ido_time_stamp_menu_item_set_format (IdoTimeStampMenuItem * self, const char * strftime_fmt) { - priv_t * p; + IdoTimeStampMenuItemPrivate * priv; g_return_if_fail (IDO_IS_TIME_STAMP_MENU_ITEM (self)); - p = self->priv; - g_free (p->format); - p->format = g_strdup (strftime_fmt); + priv = ido_time_stamp_menu_item_get_instance_private(self); + + g_free (priv->format); + priv->format = g_strdup (strftime_fmt); update_timestamp_label (self); } const gchar * ido_time_stamp_menu_item_get_format (IdoTimeStampMenuItem * self) { + IdoTimeStampMenuItemPrivate * priv; + g_return_val_if_fail (IDO_IS_TIME_STAMP_MENU_ITEM (self), NULL); - return self->priv->format; + priv = ido_time_stamp_menu_item_get_instance_private(self); + + return priv->format; } diff --git a/src/idotimestampmenuitem.h b/src/idotimestampmenuitem.h index 5847ba8..b596fad 100644 --- a/src/idotimestampmenuitem.h +++ b/src/idotimestampmenuitem.h @@ -31,7 +31,6 @@ G_BEGIN_DECLS typedef struct _IdoTimeStampMenuItem IdoTimeStampMenuItem; typedef struct _IdoTimeStampMenuItemClass IdoTimeStampMenuItemClass; -typedef struct _IdoTimeStampMenuItemPrivate IdoTimeStampMenuItemPrivate; struct _IdoTimeStampMenuItemClass { @@ -49,7 +48,6 @@ struct _IdoTimeStampMenuItem { /*< private >*/ IdoBasicMenuItem parent; - IdoTimeStampMenuItemPrivate * priv; }; diff --git a/src/idousermenuitem.c b/src/idousermenuitem.c index 8d8673e..bbb7916 100644 --- a/src/idousermenuitem.c +++ b/src/idousermenuitem.c @@ -42,8 +42,7 @@ enum static GParamSpec *properties[PROP_LAST]; -struct _IdoUserMenuItemPrivate -{ +typedef struct { GtkWidget* user_image; GtkWidget* user_name; GtkWidget* container; @@ -52,9 +51,9 @@ struct _IdoUserMenuItemPrivate gboolean is_current_user; gchar * label; GIcon * icon; -}; +} IdoUserMenuItemPrivate; -G_DEFINE_TYPE (IdoUserMenuItem, ido_user_menu_item, GTK_TYPE_MENU_ITEM); +G_DEFINE_TYPE_WITH_PRIVATE (IdoUserMenuItem, ido_user_menu_item, GTK_TYPE_MENU_ITEM); /* Prototypes */ static gboolean ido_user_menu_item_primitive_draw_cb_gtk_3 (GtkWidget * image, @@ -72,23 +71,24 @@ my_get_property (GObject * o, GParamSpec * pspec) { IdoUserMenuItem * self = IDO_USER_MENU_ITEM (o); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); switch (property_id) { case PROP_LABEL: - g_value_set_string (value, self->priv->label); + g_value_set_string (value, priv->label); break; case PROP_ICON: - g_value_set_object (value, self->priv->icon); + g_value_set_object (value, priv->icon); break; case PROP_IS_LOGGED_IN: - g_value_set_boolean (value, self->priv->is_logged_in); + g_value_set_boolean (value, priv->is_logged_in); break; case PROP_IS_CURRENT_USER: - g_value_set_boolean (value, self->priv->is_current_user); + g_value_set_boolean (value, priv->is_current_user); break; default: @@ -104,6 +104,7 @@ my_set_property (GObject * o, GParamSpec * pspec) { IdoUserMenuItem * self = IDO_USER_MENU_ITEM (o); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); switch (property_id) { @@ -120,7 +121,7 @@ my_set_property (GObject * o, break; case PROP_IS_CURRENT_USER: - self->priv->is_current_user = g_value_get_boolean (value); + priv->is_current_user = g_value_get_boolean (value); gtk_widget_queue_draw (GTK_WIDGET(self)); break; @@ -134,8 +135,9 @@ static void my_dispose (GObject *object) { IdoUserMenuItem * self = IDO_USER_MENU_ITEM (object); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); - g_clear_object (&self->priv->icon); + g_clear_object (&priv->icon); G_OBJECT_CLASS (ido_user_menu_item_parent_class)->dispose (object); } @@ -144,8 +146,9 @@ static void my_finalize (GObject *object) { IdoUserMenuItem * self = IDO_USER_MENU_ITEM (object); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); - g_free (self->priv->label); + g_free (priv->label); G_OBJECT_CLASS (ido_user_menu_item_parent_class)->finalize (object); } @@ -156,8 +159,6 @@ ido_user_menu_item_class_init (IdoUserMenuItemClass *klass) GParamFlags prop_flags; GObjectClass * gobject_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (klass, sizeof (IdoUserMenuItemPrivate)); - gobject_class->get_property = my_get_property; gobject_class->set_property = my_set_property; gobject_class->dispose = my_dispose; @@ -197,13 +198,7 @@ ido_user_menu_item_class_init (IdoUserMenuItemClass *klass) static void ido_user_menu_item_init (IdoUserMenuItem *self) { - IdoUserMenuItemPrivate * priv; - - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - IDO_USER_MENU_ITEM_TYPE, - IdoUserMenuItemPrivate); - - priv = self->priv; + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); // Create the UI elements. priv->user_image = gtk_image_new (); @@ -260,7 +255,7 @@ ido_user_menu_item_primitive_draw_cb_gtk_3 (GtkWidget * widget, g_return_val_if_fail(IS_IDO_USER_MENU_ITEM(user_data), FALSE); - priv = IDO_USER_MENU_ITEM(user_data)->priv; + priv = ido_user_menu_item_get_instance_private(IDO_USER_MENU_ITEM(user_data)); /* Draw dot only when user is the current user. */ if (priv->is_current_user) @@ -303,6 +298,8 @@ ido_user_menu_item_set_icon_from_file_icon (IdoUserMenuItem *self, gint height; GdkPixbuf *pixbuf; + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); + file = g_file_icon_get_file (G_FILE_ICON (icon)); path = g_file_get_path (file); @@ -316,7 +313,7 @@ ido_user_menu_item_set_icon_from_file_icon (IdoUserMenuItem *self, if (pixbuf) { - gtk_image_set_from_pixbuf (GTK_IMAGE (self->priv->user_image), pixbuf); + gtk_image_set_from_pixbuf (GTK_IMAGE (priv->user_image), pixbuf); g_object_unref (pixbuf); return TRUE; } @@ -331,15 +328,15 @@ ido_user_menu_item_set_icon_from_file_icon (IdoUserMenuItem *self, void ido_user_menu_item_set_icon (IdoUserMenuItem * self, GIcon * icon) { - IdoUserMenuItemPrivate * p = self->priv; + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); - if (p->icon == icon) + if (priv->icon == icon) return; - g_clear_object (&p->icon); + g_clear_object (&priv->icon); if (icon) - p->icon = g_object_ref (icon); + priv->icon = g_object_ref (icon); /* Avatars are always loaded from disk. Show the fallback when no icon * is set, the icon is not a file icon, or the file could not be @@ -349,7 +346,7 @@ ido_user_menu_item_set_icon (IdoUserMenuItem * self, GIcon * icon) !G_IS_FILE_ICON (icon) || !ido_user_menu_item_set_icon_from_file_icon (self, G_FILE_ICON (icon))) { - gtk_image_set_from_icon_name (GTK_IMAGE (p->user_image), + gtk_image_set_from_icon_name (GTK_IMAGE (priv->user_image), FALLBACK_ICON_NAME, GTK_ICON_SIZE_MENU); } @@ -370,20 +367,26 @@ ido_user_menu_item_set_icon_from_file (IdoUserMenuItem * self, const char * file void ido_user_menu_item_set_logged_in (IdoUserMenuItem * self, gboolean is_logged_in) { - gtk_widget_set_visible (self->priv->tick_icon, is_logged_in); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); + + gtk_widget_set_visible (priv->tick_icon, is_logged_in); } void ido_user_menu_item_set_current_user (IdoUserMenuItem * self, gboolean is_current_user) { - self->priv->is_current_user = is_current_user; + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); + + priv->is_current_user = is_current_user; gtk_widget_queue_draw (GTK_WIDGET (self)); } void ido_user_menu_item_set_label (IdoUserMenuItem * self, const char * label) { - gtk_label_set_label (GTK_LABEL(self->priv->user_name), label); + IdoUserMenuItemPrivate * priv = ido_user_menu_item_get_instance_private(self); + + gtk_label_set_label (GTK_LABEL(priv->user_name), label); } GtkWidget* diff --git a/src/idousermenuitem.h b/src/idousermenuitem.h index d1d5729..093078d 100644 --- a/src/idousermenuitem.h +++ b/src/idousermenuitem.h @@ -32,7 +32,6 @@ G_BEGIN_DECLS typedef struct _IdoUserMenuItem IdoUserMenuItem; typedef struct _IdoUserMenuItemClass IdoUserMenuItemClass; -typedef struct _IdoUserMenuItemPrivate IdoUserMenuItemPrivate; /* property keys */ #define IDO_USER_MENU_ITEM_PROP_LABEL "label" @@ -49,7 +48,6 @@ struct _IdoUserMenuItem { /*< private >*/ GtkMenuItem parent; - IdoUserMenuItemPrivate * priv; }; GType ido_user_menu_item_get_type (void) G_GNUC_CONST; |