[gnome-builder/wip/chergert/perspective] prefs: add IdePreferencesSwitch:path
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/perspective] prefs: add IdePreferencesSwitch:path
- Date: Sat, 7 Nov 2015 10:23:38 +0000 (UTC)
commit 4c765e487af6c7b2a23fd4077ae98f624abbf994
Author: Christian Hergert <chergert redhat com>
Date: Sat Nov 7 02:23:29 2015 -0800
prefs: add IdePreferencesSwitch:path
Allow specifying path for the switch
libide/preferences/ide-preferences-switch.c | 28 ++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 3 deletions(-)
---
diff --git a/libide/preferences/ide-preferences-switch.c b/libide/preferences/ide-preferences-switch.c
index fd2aa19..353dfe7 100644
--- a/libide/preferences/ide-preferences-switch.c
+++ b/libide/preferences/ide-preferences-switch.c
@@ -28,6 +28,7 @@ struct _IdePreferencesSwitch
gchar *key;
gchar *schema_id;
+ gchar *path;
GSettings *settings;
GVariant *target;
@@ -42,11 +43,12 @@ G_DEFINE_TYPE (IdePreferencesSwitch, ide_preferences_switch, IDE_TYPE_PREFERENCE
enum {
PROP_0,
PROP_IS_RADIO,
+ PROP_KEY,
+ PROP_PATH,
+ PROP_SCHEMA_ID,
PROP_SUBTITLE,
PROP_TARGET,
PROP_TITLE,
- PROP_SCHEMA_ID,
- PROP_KEY,
LAST_PROP
};
@@ -125,7 +127,11 @@ ide_preferences_switch_constructed (GObject *object)
goto chainup;
}
- self->settings = g_settings_new (self->schema_id);
+ if (self->path != NULL)
+ self->settings = g_settings_new_with_path (self->schema_id, self->path);
+ else
+ self->settings = g_settings_new (self->schema_id);
+
signal_detail = g_strdup_printf ("changed::%s", self->key);
g_signal_connect_object (self->settings,
@@ -246,6 +252,7 @@ ide_preferences_switch_finalize (GObject *object)
g_clear_pointer (&self->key, g_free);
g_clear_pointer (&self->schema_id, g_free);
+ g_clear_pointer (&self->path, g_free);
g_clear_pointer (&self->target, g_variant_unref);
g_clear_object (&self->settings);
@@ -274,6 +281,10 @@ ide_preferences_switch_get_property (GObject *object,
g_value_set_string (value, self->key);
break;
+ case PROP_PATH:
+ g_value_set_string (value, self->path);
+ break;
+
case PROP_TARGET:
g_value_set_variant (value, self->target);
break;
@@ -315,6 +326,10 @@ ide_preferences_switch_set_property (GObject *object,
self->key = g_value_dup_string (value);
break;
+ case PROP_PATH:
+ self->path = g_value_dup_string (value);
+ break;
+
case PROP_TARGET:
self->target = g_value_dup_variant (value);
break;
@@ -384,6 +399,13 @@ ide_preferences_switch_class_init (IdePreferencesSwitchClass *klass)
NULL,
(G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+ properties [PROP_PATH] =
+ g_param_spec_string ("path",
+ "Path",
+ "Path",
+ NULL,
+ (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+
properties [PROP_TITLE] =
g_param_spec_string ("title",
"Title",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]