static void add_event_clicked_cb (GcalYearView *year_view, GtkButton *button) { GcalYearViewPrivate *priv = year_view->priv; icaltimetype *start_date, *end_date = NULL; if (priv->popover_mode) gtk_widget_hide (priv->popover); if (priv->start_selected_date->day == 0) { start_date = gcal_dup_icaltime (priv->current_date); } else { start_date = gcal_dup_icaltime (priv->start_selected_date); end_date = gcal_dup_icaltime (priv->end_selected_date); end_date->day += 1; *end_date = icaltime_normalize (*end_date); end_date->is_date = 1; } start_date->is_date = 1; g_signal_emit_by_name (GCAL_VIEW (year_view), "create-event-detailed", start_date, end_date); g_free (start_date); if (end_date != NULL) g_free (end_date); }
static void gcal_week_view_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { switch (property_id) { case PROP_DATE: gcal_view_set_date (GCAL_VIEW (object), g_value_get_boxed (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } }