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.
Getting the time zone based on the location of the event doesn't work
with virtual time zones, causing the offset to be incorrect on the
import dialog. This changes the function to adjust the time zone of the
GDateTime based on the offset from UTC, which should work for both
virtual and real timezones.
See #1243
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.
- Reorder to be consistent with other apps
- Remove `<help>` link to Discourse as that tag is intended for
persistent docs rather than a place to ask for help
- Remove deprecated `.desktop` suffix from `<id>`
- Add brand colors
- Update HW requirements to be more in accordance with AppStream
recommendations
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