From d7bbda4eaa84d81241163f763f0d1255d986178c Mon Sep 17 00:00:00 2001 From: Daniel Garcia Moreno Date: Thu, 9 Nov 2023 12:15:04 +0100 Subject: [PATCH] views/agenda: Do not create new header for all-day Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/898 Fix https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/968 --- src/gui/views/gcal-agenda-view.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gui/views/gcal-agenda-view.c b/src/gui/views/gcal-agenda-view.c index ff150320..199341c6 100644 --- a/src/gui/views/gcal-agenda-view.c +++ b/src/gui/views/gcal-agenda-view.c @@ -329,10 +329,15 @@ update_header (GtkListBoxRow *row, GcalAgendaView *self = GCAL_AGENDA_VIEW (user_data); GDateTime *start = get_start_date_for_row (self, row); GDateTime *end = get_end_date_for_row (self, row); + GtkWidget *widget = gtk_list_box_row_get_child (row); + GcalEvent *event = NULL; g_autofree gchar *label = NULL; GtkWidget *header; g_autoptr (GDateTime) today = NULL; + if (GCAL_IS_EVENT_WIDGET (widget)) + event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (widget)); + today = g_date_time_new_now_local (); if (before) @@ -355,6 +360,15 @@ update_header (GtkListBoxRow *row, gtk_list_box_row_set_header (row, NULL); return; } + + /* All day events don't need to check for end date */ + if (event && + gcal_event_get_all_day (event) && + gcal_date_time_compare_date (start, before_start) == 0) + { + gtk_list_box_row_set_header (row, NULL); + return; + } } if (get_row_is_multiday (row))