Ship as Federated Calendar, with the application ID
computer.federated.FederatedCalendar and the executable
federated-calendar, so it can be installed and run alongside GNOME
Calendar.
The settings schema follows the application ID too, so the two don't
share settings or install the same schema. The project name sets the
executable, gettext domain and data directory; the desktop file, D-Bus
service, search provider, metainfo and icons follow the application ID.
Internal resource paths and the template file names are unchanged, to
keep merging from GNOME Calendar simple.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Since we now have fatal criticals enabled, we are prone to crashes
caused by our external dependencies emitting criticals. The newest case
is the Adwaita About dialog. The critical happened because `ministream`
couldn't find a release tag for 52.0
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/864>
We'll need this for G_MUTEX_AUTO_LOCK(). It basically does
g_autoptr (GMutexLocker) G_GNUC_UNUSED var = g_mutex_locker_new (mutex)
which will let us remove static-scan's warnings about assigned
variables that are never read, e.g. it complains about "locker" here:
g_autoptr (GMutexLocker) locker = g_mutex_locker_new (&priv->shared.mutex);
The whole point of GMutexLocker is to be used with g_autoptr for a
mutex that is unlocked when its scope ends.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/581>
Create a new GcalTimeChooserRow widget from AdwEntryRow that parses the
entry into a time, or lets the user pick a time from a popover.
[feaneron] Improved code style, reworked regex management.
This removes a lot of duplicated code, as we can simply reuse the
appdata file. It will also allow us to add release notes without
needing to rewrite them. A simple update in the
`adw_about_dialog_new_from_appdata` method will take care of
displaying the release notes.
This also renames the appdata file from `appdata.xml` to
`metainfo.xml`, as `appdata.xml` is considered a legacy filename.
It's still a dependency through libgweather, but Calendar doesn't use it
directly. It looks like it was added for the weather feature, in a
function that ended up being removed.