From bacd7ef92f5a3375155d162398debf4bc1700baa Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Fri, 23 Jun 2023 14:11:37 -0700 Subject: [PATCH] builder: add support for parsing GDateTime This will parse a containing the ISO 8601 format for a date for use in GDateTime properties. For example: 2023-06-23T00:00:00.00 --- gtk/gtkbuilder.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 4315c65536..2b227da8da 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -2362,6 +2362,24 @@ gtk_builder_value_from_string_type (GtkBuilder *builder, ret = FALSE; } } + else if (G_VALUE_HOLDS (value, G_TYPE_DATE_TIME)) + { + GDateTime *date_time; + + date_time = g_date_time_new_from_iso8601 (string, NULL); + + if (date_time) + g_value_take_boxed (value, date_time); + else + { + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_INVALID_VALUE, + "Could not parse GDateTime '%s'", + string); + ret = FALSE; + } + } else { g_set_error (error, -- 2.30.2