UX/UI designed by Philipp Sauberzweig (@PhilippSauberz).
The event editor dialog is now a NavigationView and the participants
details open in a separate page. Group attendees/participants in
AdwPreferencesGroups and bind groups'
ListBox widgets to backing filter models. These are just "views" into a
single GListStore containing all the event attendees.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/671>
This lets users override the "first day of the week" through a
GSetting, instead of being forced to use whatever is defined by
the locale, which often may not be correct for their culture,
language or location.
Currently this would apply only upon (re)starting the app.
Fixes: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/160
Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
Co-authored-by: Titouan Real <titouan.real@gmail.com>
Co-authored-by: Adrien Plazas <aplazas@gnome.org>
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>
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
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
This avoids some web servers or WAFs doing weird stuff with our requests
which would lead to situations where our web calendar source discovery
would face server errors, redirects, incorrect contents, etc.
Fixes#651
Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/290
Use a GtkListBox and bind from the model. Create rows from the model
items, and bind properties as needed.
The action target is set only when the calendar is writable because
setting an invalid action+target pair makes the row insensitive.
Remove the ancient menu icon hack.
- Fix a bug where clicking the "Add Event" button created an empty title in the event editor dialog.
- Add "error" class when the user writes an invalid event name.
- Add new function to validate event name.
Because the sections are split into files, the event editor will need a signal to check that each section is correct, and each section will have to emit the signal. This will need to be done in a future commit.
This patch fixes an issue when creating new events in week view the week
after the daylight saving change.
The problem was in the calc of the selected date, that's done couting
the 30 minutes slots and adding that minutes to the week_start datetime.
When there's a daylight saving change, the real date to select should be
adjusted. This patch adds a new util function to make it easy to add
minutes ignoring the tz so we can make this calc directly with
gcal_date_time_add_floating_minutes.
This also includes a new test file with some checks for the new util
function and spring / autumn changes.
This new function could be used in other places to fix specific issues
that could be caused by the same logic error, calculate a selection or
event position based on GDateTime operations.
Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/482
This refactor combines the functions
gcal_utils_launch_online_accounts_panel and
gcal_utils_launch_datetime_settings_panel into a single function that
takes a panel ID as an argument.
Shortcut is added so that time-related system settings can be easily
accessed. See #1023
The code is largely just a copy-paste of the code that opens the
"Online Accounts…" menu.
Fixes#1023