The comments explaining date formatting to translators have a couple of typos related to the day name variables (%A and %a).
This commit fixes them.
Closes#1377
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>
If the horizontal space does not allow for an icon and
a temperature label, there'd still be enough space for
an icon only.
Visually, it makes sense to align that icon in icon-only
mode to the end.
Closes: #856
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Co-authored-by: Georged Basile Stavracas Neto
<georges.stavracas@gmail.com>
The measurement in opposit direction of the one in which
the elements are lined up needs not to add up all the
sizes but just get the maximal size.
This bug leads to too high minimal and natural widths
(and heights) of the month view.
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
The emblem-*-symbolic will be removed from the Adwaita theme in the next
version. Ship checkmark-small-symbolic and use it instead of
emblem-ok-symbolic.
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.
Currently we only show writable calendars in the calendar row, but
for read-only events, the read-only calendar must be selected. But
that's impossible because it's not in the model.
Change the model to a flattened list as follows:
+ FlattenListModel -----------+
| |
| + writable calendars -----+ |
| | | |
| | - Calendar 1 | |
| | - Calendar 2 | |
| | - Calendar 3 | |
| | [...] | |
| | | |
| +-------------------------+ |
| + read-only calendars ----+ |
| | | |
| | - Calendar 1 | |
| | [...] | |
| | | |
| +-------------------------+ |
+-----------------------------+
The read-only calendars list only ever has 1 item: the calendar
of the current event, and only if the event is in a read-only
calendar.
agenda-view sort_func uses gcal_date_time_compare_date, which is
insufficient for this case.
we want to compare events date(s) down to the last minute, so that we
can be able to sort them in chronological order.
we use the g_date_time_compare function.
Fixes: #936
Co-authored-by: Georges Basile Stavracas Neto
<georges.stavracas@gmail.com>
Files that aren't in the UTF-8 encoding were breaking the import dialog.
This tries to guess the encoding of the file before processing it, based
on the Byte Order Mark (BOM), and converts it to UTF-8.
Fixes#1243
When the user deletes a calendar in the calendar management dialog, a
popover allows them to undo the deletion. The calendar is fully deleted
only when the toast is dismissed or when the toast reaches its timeout.
When the user closes the calendar management dialog without dismissing
the toast and before the end of the timeout, the calendar can still be
manipulated for a short period of time.
To fix this, I removed the calendar-management-dialog from the UI of the
window, and made the window create and destroy the dialog on demand.
This forces the toast overlay to dismiss all toasts.
Using a tooltip to inform when the calendar is read-only won't
work in touch devices.
This change also improves a11y, as Orca now reads this message,
something that wasn't happening before.
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.
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