diff --git a/src/gcal-event-widget.c b/src/gcal-event-widget.c index 4cae475b..caa8843b 100644 --- a/src/gcal-event-widget.c +++ b/src/gcal-event-widget.c @@ -834,6 +834,22 @@ gcal_event_widget_new_with_summary_and_color (const gchar *summary, NULL); } +GtkWidget* +gcal_event_widget_clone (GcalEventWidget *widget) +{ + GtkWidget *new_widget; + GcalEventData *data; + + data = gcal_event_widget_get_data (widget); + g_object_ref (data->event_component); + + new_widget = gcal_event_widget_new_from_data (data); + g_free (data); + + gcal_event_widget_set_read_only(GCAL_EVENT_WIDGET (new_widget), gcal_event_widget_get_read_only (widget)); + return new_widget; +} + const gchar* gcal_event_widget_peek_uuid (GcalEventWidget *event) { @@ -854,6 +870,15 @@ gcal_event_widget_set_read_only (GcalEventWidget *event, priv->read_only = read_only; } +gboolean +gcal_event_widget_get_read_only (GcalEventWidget *event) +{ + GcalEventWidgetPrivate *priv; + priv = gcal_event_widget_get_instance_private (event); + + return priv->read_only; +} + /** * gcal_event_widget_set_date: * @event: a #GcalEventWidget diff --git a/src/gcal-event-widget.h b/src/gcal-event-widget.h index bf71cac4..75268c42 100644 --- a/src/gcal-event-widget.h +++ b/src/gcal-event-widget.h @@ -61,11 +61,15 @@ GtkWidget* gcal_event_widget_new_from_data (GcalEventData * GtkWidget* gcal_event_widget_new_with_summary_and_color (const gchar *summary, const GdkRGBA *color); +GtkWidget* gcal_event_widget_clone (GcalEventWidget *widget); + const gchar* gcal_event_widget_peek_uuid (GcalEventWidget *event); void gcal_event_widget_set_read_only (GcalEventWidget *event, gboolean read_only); +gboolean gcal_event_widget_get_read_only (GcalEventWidget *event); + void gcal_event_widget_set_date (GcalEventWidget *event, const icaltimetype *date);