diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c index 04f29c04..f5d2c16f 100644 --- a/src/gcal-event-widget.c +++ b/src/gcal-event-widget.c @@ -677,7 +677,7 @@ gcal_event_widget_new_from_data (GcalEventData *data) /* summary */ e_cal_component_get_summary (priv->component, &e_summary); - gcal_event_widget_set_summary (event, e_summary.value); + gcal_event_widget_set_summary (event, (gchar*) e_summary.value); /* color */ color = g_new0 (GdkRGBA, 1); @@ -887,3 +887,28 @@ gcal_event_widget_get_has_reminders (GcalEventWidget *event) g_object_get (event, "has-reminders", &has_reminders, NULL); return has_reminders; } + +/** + * gcal_event_widget_get_data: + * @event: a #GcalEventWidget instance + * + * Returns a #GcalEventData with shallows members, meaning the members + * are owned but the struct should be freed. + * + * Returns: (transfer full): a #GcalEventData + **/ +GcalEventData* +gcal_event_widget_get_data (GcalEventWidget *event) +{ + GcalEventWidgetPrivate *priv; + GcalEventData *data; + + g_return_val_if_fail (GCAL_IS_EVENT_WIDGET (event), NULL); + priv = gcal_event_widget_get_instance_private (event); + + data = g_new0 (GcalEventData, 1); + data->source = priv->source; + data->event_component = priv->component; + + return data; +} diff --git a/src/gcal-event-widget.h b/src/gcal-event-widget.h index 65fcb949..3afc51f7 100644 --- a/src/gcal-event-widget.h +++ b/src/gcal-event-widget.h @@ -93,6 +93,8 @@ void gcal_event_widget_set_has_reminders (GcalEventWidget * gboolean gcal_event_widget_get_has_reminders (GcalEventWidget *event); +GcalEventData* gcal_event_widget_get_data (GcalEventWidget *event); + G_END_DECLS #endif /* __GCAL_EVENT_WIDGET_H__ */