From 93c7bdcb6aebc80357cd78d8e80a0f8d957cf456 Mon Sep 17 00:00:00 2001 From: mindonwarp Date: Sun, 20 Sep 2026 21:40:29 +0200 Subject: [PATCH] views: Redraw the agenda view when week-start-day changes Updates the visible rows after the selected date shifts within the week. The agenda view displays all events starting from the selected day and up until the last day of the same week. Part-of: --- src/gui/views/gcal-agenda-view.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gui/views/gcal-agenda-view.c b/src/gui/views/gcal-agenda-view.c index dfee0216..8d0e7396 100644 --- a/src/gui/views/gcal-agenda-view.c +++ b/src/gui/views/gcal-agenda-view.c @@ -299,6 +299,15 @@ gcal_agenda_view_get_previous_date (GcalView *view) return g_date_time_add_weeks (self->date, -1); } +static void +gcal_agenda_view_first_weekday_changed (GcalView *view) +{ + GcalAgendaView *self = GCAL_AGENDA_VIEW (view); + + gtk_list_view_scroll_to (self->list_view, 0, GTK_LIST_SCROLL_FOCUS, NULL); + gcal_timeline_subscriber_range_changed (GCAL_TIMELINE_SUBSCRIBER (view)); +} + static void gcal_view_interface_init (GcalViewInterface *iface) { @@ -308,6 +317,7 @@ gcal_view_interface_init (GcalViewInterface *iface) iface->clear_marks = gcal_agenda_view_clear_marks; iface->get_next_date = gcal_agenda_view_get_next_date; iface->get_previous_date = gcal_agenda_view_get_previous_date; + iface->first_weekday_changed = gcal_agenda_view_first_weekday_changed; }