diff options
author | Chris Mayo <aklhfex@gmail.com> | 2023-03-27 19:22:34 +0100 |
---|---|---|
committer | Felipe Borges <felipeborges@gnome.org> | 2023-04-17 12:14:58 +0000 |
commit | 0d1ae3d4f49767ac3441e61aa119fcc7c386f8dd (patch) | |
tree | 9e762b553d911570a6f996e9cf16b0c753e4d11c | |
parent | 92c4b6a706b32c2c5eb89b4169a7e21537a59c3c (diff) | |
download | gnome-control-center-0d1ae3d4f49767ac3441e61aa119fcc7c386f8dd.tar.gz |
datetime: Fix Time Format ComboRow
Failed to set property AdwEnumListModel.enum-type to GDesktopClockFormat: Unsupported GType 'GDesktopClockFormat' for value of type 'GType'
meson.build code adapted from background/meson.build.
-rw-r--r-- | panels/datetime/cc-datetime-panel.c | 2 | ||||
-rw-r--r-- | panels/datetime/cc-datetime-panel.ui | 2 | ||||
-rw-r--r-- | panels/datetime/meson.build | 25 |
3 files changed, 28 insertions, 1 deletions
diff --git a/panels/datetime/cc-datetime-panel.c b/panels/datetime/cc-datetime-panel.c index 65a31800d..f19ebf014 100644 --- a/panels/datetime/cc-datetime-panel.c +++ b/panels/datetime/cc-datetime-panel.c @@ -34,6 +34,7 @@ #define GNOME_DESKTOP_USE_UNSTABLE_API #include <gdesktop-enums.h> +#include "gdesktop-enums-types.h" #include <string.h> #include <stdlib.h> #include <libintl.h> @@ -815,6 +816,7 @@ cc_date_time_panel_class_init (CcDateTimePanelClass *klass) g_type_ensure (CC_TYPE_LIST_ROW); g_type_ensure (CC_TYPE_TZ_DIALOG); + g_type_ensure (G_DESKTOP_TYPE_DESKTOP_CLOCK_FORMAT); gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/datetime/cc-datetime-panel.ui"); diff --git a/panels/datetime/cc-datetime-panel.ui b/panels/datetime/cc-datetime-panel.ui index fbfa6f834..f15b33a03 100644 --- a/panels/datetime/cc-datetime-panel.ui +++ b/panels/datetime/cc-datetime-panel.ui @@ -199,7 +199,7 @@ <signal name="notify::selected-item" handler="change_clock_settings" object="CcDateTimePanel" swapped="no"/> <property name="model"> <object class="AdwEnumListModel"> - <property name="enum_type">GDesktopClockFormat</property> + <property name="enum-type">GDesktopClockFormat</property> </object> </property> <property name="expression"> diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build index 9aa67e80d..3b6f5e197 100644 --- a/panels/datetime/meson.build +++ b/panels/datetime/meson.build @@ -43,6 +43,31 @@ sources = files( 'tz.c' ) +enums = 'gdesktop-enums-types' +enums_header = files( + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', + 'cc-datetime-panel.h' +) + +sources += gnome.mkenums( + enums + '.h', + sources: enums_header, + fhead: '#pragma once\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n', + fprod: '/* enumerations from "@filename@" */\n', + vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define G_DESKTOP_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n', + ftail: 'G_END_DECLS\n' +) + +sources += gnome.mkenums( + enums + '.c', + sources: enums_header, + fhead: '#include <gdesktop-enums.h>\n#include "gdesktop-enums-types.h"\n#include "cc-datetime-panel.h"', + fprod: '\n/* enumerations from "@filename@" */', + vhead: 'GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {', + vprod: ' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },', + vtail: ' { 0, NULL, NULL }\n };\n etype = g_@type@_register_static ("@EnumName@", values);\n }\n return etype;\n}\n' +) + gdbus = 'timedated' gdbus_iface_xml = gdbus + '1-interface.xml' |