views/month-view: Change visuals of out-of-month day cells

This still looks like garbage becase of the rudimentary way we
compute the current date, but it's a start.
This commit is contained in:
Georges Basile Stavracas Neto
2023-08-11 15:13:44 -03:00
parent 7e26bd5649
commit e7846a6b9c
3 changed files with 34 additions and 0 deletions
+25
View File
@@ -721,3 +721,28 @@ gcal_month_view_row_remove_event (GcalMonthViewRow *self,
GCAL_EXIT;
}
void
gcal_month_view_row_update_style_for_date (GcalMonthViewRow *self,
GDateTime *date)
{
g_autoptr (GDateTime) range_start = NULL;
g_assert (GCAL_IS_MONTH_VIEW_ROW (self));
g_assert (date != NULL);
g_assert (self->range != NULL);
range_start = gcal_range_get_start (self->range);
for (guint i = 0; i < 7; i++)
{
g_autoptr (GDateTime) cell_date = NULL;
gboolean different_month;
cell_date = g_date_time_add_days (range_start, i);
different_month = g_date_time_get_year (cell_date) != g_date_time_get_year (date) ||
g_date_time_get_month (cell_date) != g_date_time_get_month (date);
gcal_month_cell_set_different_month (GCAL_MONTH_CELL (self->day_cells[i]), different_month);
}
}
+3
View File
@@ -50,4 +50,7 @@ void gcal_month_view_row_add_event (GcalMonthViewR
void gcal_month_view_row_remove_event (GcalMonthViewRow *self,
GcalEvent *event);
void gcal_month_view_row_update_style_for_date (GcalMonthViewRow *self,
GDateTime *date);
G_END_DECLS
+6
View File
@@ -320,6 +320,12 @@ update_week_ranges (GcalMonthView *self,
}
}
for (gint i = 0; i < self->week_rows->len; i++)
{
GcalMonthViewRow *row = g_ptr_array_index (self->week_rows, i);
gcal_month_view_row_update_style_for_date (row, new_date);
}
dump_row_ranges (self);
}