When dragging and dropping events in week view during the week of
daylight savings time switch, events were off by one hour. This fixes this
behavior by using the util function gcal_date_time_add_floating_minutes.
Fixes#1198
When importing .ics files as events,
you can assign the resulting events to any writable calendar,
even those hidden from the view.
However, it is good to have a hint of such calendars being invisible.
That way, users can have predictable expectations.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1184
Reading the `get_source_parent_name_color` call after `color_paintable`,
one gets the impression they are somehow related, but they are not.
Furthermore, this unfortunate location complicates my upcoming changes.
Let's relocate that code next to the context where it is actually used.
This improves clarity and maintainability.
gtk_filter_list_model_new expected that the model passed to be
an owned reference, but we were passing an unowned one, causing
a double free after the function is called repeatedly. This
was particularly noticeable in the importer dialog.
Fixes#1282
By !474, we now use a GListModel to store the calendars.
Nonetheless, we still use the GListStore API, which no longer
works.
This commit introduces a simple linear search for the default calendar
In practice, the name and color widgets are currently meant to be used
when creating a local calendar, not when subscribing online, especially
as a single online calendar link can bundle multiple calendars.
This makes the scope of those widgets clearer,
and also makes the dialog more balanced.
Related: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/566
Replace the manually positioned & styled group label by a property
This simplifies the XML code, makes the style match the rest of the UI,
and prevents libadwaita from sometimes moving such labels to the bottom.
Now that the "Open" button has been removed,
it is now a feature to "Connect" rather than "Import",
so update the section title to reflect that.
Also give a hint as to what protocols are supported.
A file imported as a "new calendar" would make it dependent on the file.
This feature was confusing everybody and is downright dangerous.
This does not prevent anyone from creating normal calendars,
and importing events from .ics files into them.
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/390
Currently, the progress bar is pulsed as soon as the user starts
typing, giving the impression that a process is on going. But,
in reality, validation is performed 500 ms.
After this changes the progress bar is pulsed only when validation
is on-going. The timeout has been increased to 750ms too.
Use the widget to display calendars and distinguish whether
they are visible or not. Currently, it does not distinguish
read-only calendars, but once !494 is merged, it should not
be a problem.