Federico Mena Quintero 324e3ef71c Move recurrence fields into GcalScheduleSectionValues, split it into "orig" and "curr" values
This commit does a bit too much, but with these themes:

- Move the recurrence fields into GcalScheduleValues.  This was needed
  for consistency, anyway, and...

- ... the next step was to make ::changed() work, which actually
  required knowing the original and current values of the recurrence as
  well as the dates.

- But then, having a field "orig_foo" for each field "foo" starts
  getting unwieldy.  So, I moved things around:

  - GcalScheduleValues has start/end dates and all_day, and the recurrence.

  - GcalScheduleSectionValues is new; it has the "orig" and "curr"
    values of the previous type.  This simplifies memory management
    since each field can be freed with gcal_schedule_values_free()
    instead of duplicating _free() for each sub-field.

  - GcalScheduleSectionValues also has time_format, as a way to
    decouple that value from GcalContext.  It's not in orig/curr
    because it does not pertain the event; it's just a display-related
    thing.

- Actually fix gcal_schedule_section_changed(),
  gcal_schedule_section_recurrence_changed(), and
  gcal_schedule_section_day_changed().  These become simple since they
  just look at the orig/curr fields, without having to touch widgetry.

- All test pass.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550>
2025-08-27 20:00:00 -03:00
2025-08-27 18:45:25 +02:00
2025-04-04 23:59:13 +00:00
2019-05-04 12:05:39 -03:00
2018-07-31 12:35:56 -03:00
2025-06-25 15:51:42 +00:00
2012-04-25 23:56:34 -04:00
2025-07-05 17:43:42 -03:00
2025-07-05 17:41:18 -03:00

GNOME Calendar

GNOME Calendar is a simple and beautiful calendar application for GNOME. We give a lot of attention to details, and as such, design is an essential and ongoing effort.

Flatpak

Contributors Guide

Check out our CONTRIBUTING.md and HACKING.md for more details.

S
Description
No description provided
Readme
19 MiB
Languages
C 97.6%
Meson 1.2%
CSS 0.7%
Python 0.3%
Shell 0.2%