From 1f8985e47623421fa563e5449671c18f186cbc3a Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Fri, 7 May 2021 11:10:36 +0200 Subject: [PATCH 1/2] calendar: value of day property is shifted by 1 The day is a number between 1 and 31 and that's what we get from GDateTime. --- gtk/gtkcalendar.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index ad7cbb1541..cda27021b8 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -1025,7 +1025,7 @@ gtk_calendar_set_property (GObject *object, case PROP_DAY: date = g_date_time_new_local (g_date_time_get_year (calendar->date), g_date_time_get_month (calendar->date), - g_value_get_int (value) + 1, + g_value_get_int (value), 0, 0, 0); if (date) { @@ -1065,7 +1065,7 @@ gtk_calendar_get_property (GObject *object, g_value_set_int (value, g_date_time_get_month (calendar->date) - 1); break; case PROP_DAY: - g_value_set_int (value, g_date_time_get_day_of_month (calendar->date) - 1); + g_value_set_int (value, g_date_time_get_day_of_month (calendar->date)); break; case PROP_SHOW_HEADING: g_value_set_boolean (value, gtk_calendar_get_show_heading (calendar)); From 7b2b8b86e1e9a6a383e33126ee5877a4d9850741 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Fri, 7 May 2021 12:13:49 +0200 Subject: [PATCH 2/2] calendar: do not allow to set 0 as day We no longer unselect the current day when 0 is set, so update the documentation and the property definition. --- gtk/gtkcalendar.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index cda27021b8..93f1793078 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -397,16 +397,13 @@ gtk_calendar_class_init (GtkCalendarClass *class) * GtkCalendar:day: * * The selected day (as a number between 1 and 31). - * - * This can be set to 0 to unselect the currently selected day. - * This property gets initially set to the current day. */ g_object_class_install_property (gobject_class, PROP_DAY, g_param_spec_int ("day", P_("Day"), - P_("The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day)"), - 0, 31, 0, + P_("The selected day (as a number between 1 and 31)"), + 1, 31, 1, G_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); /**