libical 4 changed several APIs used by GNOME Calendar:
- libical-glib now provides autoptr cleanup for ICalTime, so only
define it ourselves for older versions.
- i_cal_recurrence_get/set_by_day() were removed in favor of the
dynamically sized by-rule arrays; add local helpers on top of
i_cal_recurrence_get/set_by().
- i_cal_errno_return() was renamed to i_cal_error_icalerrno().
Also make the create-tzid event test independent of line folding,
which differs between libical versions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a wrapper for the ECalComponentOrganizer. An instance of this type
is kept as part of the GcalEvent structure.
The GcalEventOrganizer is just a "proxy" to the ECalComponentAttendee
and its purpose is to unclutter the GcalEvent interface and provide a
bindable base for a UI widget.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671>
Creates a chooser managing a GDateTime. The chooser allows the user
to change the date, the time and the timezone independently.
This replaces the precedent GcalTimeChooserRow widget, because it is
easier to manage the different interactions with the user in a single
widget.
Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com>
Introduce a new GcalStubCalendar class that essentially
removes the ECalClient initialization from GcalCalendar,
and use it as part of a new private library consumed by
the tests.