views: Redraw week view after changing week-start-day
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/822>
This commit is contained in:
@@ -1302,3 +1302,17 @@ gcal_week_grid_set_date (GcalWeekGrid *self,
|
|||||||
invalidate_layout_blocks (self);
|
invalidate_layout_blocks (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gcal_week_grid_redraw:
|
||||||
|
* @self: a #GcalWeekGrid
|
||||||
|
*
|
||||||
|
* Triggers a redraw of the grid after e.g.
|
||||||
|
* changing the start day of week.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gcal_week_grid_redraw (GcalWeekGrid *self)
|
||||||
|
{
|
||||||
|
g_assert (GCAL_IS_WEEK_GRID (self));
|
||||||
|
|
||||||
|
invalidate_layout_blocks (self);
|
||||||
|
}
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ void gcal_week_grid_clear_marks (GcalWeekGrid
|
|||||||
void gcal_week_grid_set_date (GcalWeekGrid *self,
|
void gcal_week_grid_set_date (GcalWeekGrid *self,
|
||||||
GDateTime *date);
|
GDateTime *date);
|
||||||
|
|
||||||
|
void gcal_week_grid_redraw (GcalWeekGrid *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* GCAL_WEEK_GRID_H */
|
#endif /* GCAL_WEEK_GRID_H */
|
||||||
|
|||||||
@@ -1907,3 +1907,22 @@ gcal_week_header_set_expanded (GcalWeekHeader *self,
|
|||||||
|
|
||||||
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_EXPANDED]);
|
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_EXPANDED]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gcal_week_header_redraw:
|
||||||
|
* @self: a #GcalWeekHeader
|
||||||
|
*
|
||||||
|
* Triggers a redraw of the week header
|
||||||
|
* after changing the start day of week.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gcal_week_header_redraw (GcalWeekHeader *self)
|
||||||
|
{
|
||||||
|
g_assert (GCAL_IS_WEEK_HEADER (self));
|
||||||
|
|
||||||
|
update_title (self);
|
||||||
|
gtk_widget_queue_draw (GTK_WIDGET (self));
|
||||||
|
|
||||||
|
update_unchanged_events (self, self->active_date);
|
||||||
|
update_weather_infos (self);
|
||||||
|
}
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ gboolean gcal_week_header_get_expanded (GcalWeekHeader
|
|||||||
void gcal_week_header_set_expanded (GcalWeekHeader *self,
|
void gcal_week_header_set_expanded (GcalWeekHeader *self,
|
||||||
gboolean expanded);
|
gboolean expanded);
|
||||||
|
|
||||||
|
void gcal_week_header_redraw (GcalWeekHeader *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* GCAL_WEEK_HEADER_H */
|
#endif /* GCAL_WEEK_HEADER_H */
|
||||||
|
|||||||
@@ -464,6 +464,15 @@ gcal_week_view_get_previous_date (GcalView *view)
|
|||||||
return g_date_time_add_weeks (self->date, -1);
|
return g_date_time_add_weeks (self->date, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_week_view_first_weekday_changed (GcalView *view)
|
||||||
|
{
|
||||||
|
GcalWeekView *self = GCAL_WEEK_VIEW (view);
|
||||||
|
|
||||||
|
gcal_week_header_redraw (GCAL_WEEK_HEADER (self->header));
|
||||||
|
gcal_week_grid_redraw (GCAL_WEEK_GRID (self->week_grid));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_view_interface_init (GcalViewInterface *iface)
|
gcal_view_interface_init (GcalViewInterface *iface)
|
||||||
{
|
{
|
||||||
@@ -473,6 +482,7 @@ gcal_view_interface_init (GcalViewInterface *iface)
|
|||||||
iface->clear_marks = gcal_week_view_clear_marks;
|
iface->clear_marks = gcal_week_view_clear_marks;
|
||||||
iface->get_next_date = gcal_week_view_get_next_date;
|
iface->get_next_date = gcal_week_view_get_next_date;
|
||||||
iface->get_previous_date = gcal_week_view_get_previous_date;
|
iface->get_previous_date = gcal_week_view_get_previous_date;
|
||||||
|
iface->first_weekday_changed = gcal_week_view_first_weekday_changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user