gnome-calendar:fix-shifting-events

Last commit made on 2022-10-15
Get this branch:
git clone -b fix-shifting-events https://git.launchpad.net/gnome-calendar

Branch merges

Branch information

Name:
fix-shifting-events
Repository:
lp:gnome-calendar

Recent commits

7d7c27d... by Ray Strode <email address hidden>

core: Handle exceptions in event list

If a recurrence of events is set up and one of the events gets
deleted, that event needs to be marked as an exception on the
main event so that it doesn't get recreated any time the main
event is edited.

This commit adds code to manage setting up this exception.

d071c5e... by Ray Strode <email address hidden>

manager: Fix bug where recurring events shift after being edited

Right now if a user edits say event 3 in a set of 5 events, the
whole event set gets shifted over by 3. It's as if the middle
instance event is treated as the new first event.

This is because of a bit of the code that clears the recurrence
id of the event, to get at the "main event", and edit the whole
set. The code retains the start time from the instance, though,
rather than use the start time of the main event it's trying to
update.

This commit queries for the main event from the instance event,
and sets the new main event start time to match the old main
event start time, before doing an update.

c973a12... by Ray Strode <email address hidden>

Revert "event-editor/dialog: Don't show MOD_ALL if schedule changed"

This reverts commit db9ec7b84278bcfa22a3279d47f4009076e7bac6.

b89284e... by Georges Basile Stavracas Neto

window: Properly hide start headerbar buttons

6b012bb... by Georges Basile Stavracas Neto

event-editor/schedule: Trivial autoptr cleanup

a23d63f... by Georges Basile Stavracas Neto

event-editor/dialog: Don't ask mod type if event wasn't recurrent

db9ec7b... by Georges Basile Stavracas Neto

event-editor/dialog: Don't show MOD_ALL if schedule changed

We get into seriously tricky situations if we try and change the
date & time of an event with recurrency, and pass MOD_ALL. That's
because it is ambioguous *where* the change must be applied.

Don't allow selecting MOD_ALL when the scheduling of the recurrent
event changes.

Fixes https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/882

d679775... by Georges Basile Stavracas Neto

event-editor/dialog: Don't apply changes if nothing changed

This saves some cycles by not doing anything when nothing needs to
be done.

fbfb9ce... by Georges Basile Stavracas Neto

event-editor/sections: Add vfunc to check for changes

This will be useful for next commits where we will need to check
if the schedule section actually changed something.

56dfc64... by Georges Basile Stavracas Neto

event-editor/dialog: Don't apply changes to readonly events

In practice this never does anything relevant, because widgets are
insensitive, but it's better not to nonetheless.