From 02a596e967b13ab7c85fe2608160a9ec119ee5e9 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Mon, 10 Mar 2025 17:34:16 -0600 Subject: [PATCH] GcalScheduleValues: store the original value of the all_day flag We'll need this for ::changed() Part-of: --- src/gui/event-editor/gcal-schedule-section.c | 4 +++- src/gui/event-editor/gcal-schedule-section.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/event-editor/gcal-schedule-section.c b/src/gui/event-editor/gcal-schedule-section.c index 8e752b9f..7a9477bf 100644 --- a/src/gui/event-editor/gcal-schedule-section.c +++ b/src/gui/event-editor/gcal-schedule-section.c @@ -119,6 +119,7 @@ gcal_schedule_values_copy (const GcalScheduleValues *values) GcalScheduleValues *copy = g_new0 (GcalScheduleValues, 1); copy->all_day = values->all_day; + copy->orig_all_day = values->orig_all_day; copy->orig_date_start = values->orig_date_start ? g_date_time_ref (values->orig_date_start) : NULL; copy->orig_date_end = values->orig_date_end ? g_date_time_ref (values->orig_date_end) : NULL; copy->date_start = values->date_start ? g_date_time_ref (values->date_start) : NULL; @@ -912,7 +913,8 @@ gcal_schedule_values_from_event (GcalEvent *event, { GcalRecurrence *recur = gcal_event_get_recurrence (event); - values->all_day = gcal_event_get_all_day (event); + values->orig_all_day = gcal_event_get_all_day (event); + values->all_day = values->orig_all_day; values->orig_date_start = g_date_time_ref (gcal_event_get_date_start (event)); values->date_start = g_date_time_ref (values->orig_date_start); diff --git a/src/gui/event-editor/gcal-schedule-section.h b/src/gui/event-editor/gcal-schedule-section.h index fda4cedd..bfae481a 100644 --- a/src/gui/event-editor/gcal-schedule-section.h +++ b/src/gui/event-editor/gcal-schedule-section.h @@ -44,6 +44,7 @@ typedef struct /* Original times from the GcalEvent. We keep these around to be able to reconstruct * the event's duration in case the all-day toggle gets turned on and off repeatedly. */ + gboolean orig_all_day; GDateTime *orig_date_start; GDateTime *orig_date_end;