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
This commit is contained in:
Daniel Garcia Moreno
2024-07-09 19:59:42 +00:00
committed by Georges Basile Stavracas Neto
parent 5dbf0c24bd
commit d7bbda4eaa
+14
View File
@@ -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))