From fe359a8a599b11ac51cd89ddffcce2fa9ea232fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= <corentin@elementary.io> Date: Mon, 1 Apr 2019 08:23:42 +0200 Subject: [PATCH 4/5] LLConfig: use modern GObject syntax --- src/ll-config.c | 85 ++++++++++++++++++++++--------------------------- src/ll-config.h | 14 ++------ 2 files changed, 40 insertions(+), 59 deletions(-) diff --git a/src/ll-config.c b/src/ll-config.c index 6dc19b4..e00c818 100644 --- a/src/ll-config.c +++ b/src/ll-config.c @@ -13,13 +13,12 @@ /* Property identifiers */ enum { - PROP_0, - PROP_LOCK_ON_SUSPEND, + PROP_LOCK_ON_SUSPEND = 1, PROP_LATE_LOCKING, PROP_LOCK_AFTER_SCREENSAVER, PROP_LOCK_ON_LID, PROP_IDLE_HINT, - N_PROP + N_PROPERTIES }; @@ -32,15 +31,9 @@ static void ll_config_set_property (GObject *object, const GValue *value, GParamSpec *pspec); - -struct _LLConfigClass -{ - GObjectClass __parent__; -}; - struct _LLConfig { - GObject __parent__; + GObject parent_instance; GSettings *settings; guint lock_after_screensaver; gboolean late_locking : 1; @@ -51,6 +44,7 @@ struct _LLConfig G_DEFINE_TYPE (LLConfig, ll_config, G_TYPE_OBJECT) +static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, }; /** * ll_config_set_property: @@ -159,67 +153,64 @@ ll_config_class_init (LLConfigClass *klass) * * Enable lock-on-suspend **/ - g_object_class_install_property (object_class, - PROP_LOCK_ON_SUSPEND, - g_param_spec_boolean ("lock-on-suspend", - NULL, - NULL, - FALSE, - G_PARAM_READWRITE)); + obj_properties[PROP_LOCK_ON_SUSPEND] = + g_param_spec_boolean ("lock-on-suspend", + NULL, + NULL, + FALSE, + G_PARAM_READWRITE); /** * LLConfig:late-locking: * * Lock after screensaver has ended. **/ - g_object_class_install_property (object_class, - PROP_LATE_LOCKING, - g_param_spec_boolean ("late-locking", - NULL, - NULL, - FALSE, - G_PARAM_READWRITE)); + obj_properties[PROP_LATE_LOCKING] = + g_param_spec_boolean ("late-locking", + NULL, + NULL, + FALSE, + G_PARAM_READWRITE); /** * LLConfig:lock-after-screensaver: * * Seconds after screensaver to lock **/ - g_object_class_install_property (object_class, - PROP_LOCK_AFTER_SCREENSAVER, - g_param_spec_uint ("lock-after-screensaver", - NULL, - NULL, - 0, - 3600, - 0, - G_PARAM_READWRITE)); + obj_properties[PROP_LOCK_AFTER_SCREENSAVER] = + g_param_spec_uint ("lock-after-screensaver", + NULL, + NULL, + 0, 3600, 0, + G_PARAM_READWRITE); /** * LLConfig:lock-on-lid: * * Enable lock-on-lid **/ - g_object_class_install_property (object_class, - PROP_LOCK_ON_LID, - g_param_spec_boolean ("lock-on-lid", - NULL, - NULL, - FALSE, - G_PARAM_READWRITE)); + obj_properties[PROP_LOCK_ON_LID] = + g_param_spec_boolean ("lock-on-lid", + NULL, + NULL, + FALSE, + G_PARAM_READWRITE); /** * LLConfig:idle-hint: * * Set idle hint during screensaver **/ - g_object_class_install_property (object_class, - PROP_IDLE_HINT, - g_param_spec_boolean ("idle-hint", - NULL, - NULL, - FALSE, - G_PARAM_READWRITE)); + obj_properties[PROP_IDLE_HINT] = + g_param_spec_boolean ("idle-hint", + NULL, + NULL, + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_properties (object_class, + N_PROPERTIES, + obj_properties); } /** diff --git a/src/ll-config.h b/src/ll-config.h index a2f5dff..6213fa1 100644 --- a/src/ll-config.h +++ b/src/ll-config.h @@ -5,21 +5,11 @@ G_BEGIN_DECLS -typedef struct _LLConfigClass LLConfigClass; -typedef struct _LLConfig LLConfig; - -#define LL_TYPE_CONFIG (ll_config_get_type () ) -#define LL_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LL_TYPE_CONFIG, LLConfig)) -#define LL_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LL_TYPE_CONFIG, LLConfigClass)) -#define LL_IS_CONFIG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), LL_TYPE_CONFIG)) -#define LL_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LL_TYPE_CONFIG)) -#define LL_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LL_TYPE_CONFIG, LLConfigClass)) - -GType ll_config_get_type (void) G_GNUC_CONST; +#define LL_TYPE_CONFIG ll_config_get_type () +G_DECLARE_FINAL_TYPE (LLConfig, ll_config, LL, CONFIG, GObject) LLConfig *ll_config_new (void); - G_END_DECLS; #endif /* __LL_CONFIG_H */ -- 2.30.0