[aisleriot/wip/redesign: 1/17] conf: Remove GConf backend
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aisleriot/wip/redesign: 1/17] conf: Remove GConf backend
- Date: Wed, 3 Jul 2013 17:53:26 +0000 (UTC)
commit 61cfd88f7e2c6ba9c4e7138ce37ae1485ec64279
Author: Christian Persch <chpe gnome org>
Date: Tue Jun 25 11:46:21 2013 +0200
conf: Remove GConf backend
That leaves only the keyfile backend.
src/lib/ar-conf.c | 373 +----------------------------------------------------
1 files changed, 3 insertions(+), 370 deletions(-)
---
diff --git a/src/lib/ar-conf.c b/src/lib/ar-conf.c
index aa1572f..fc5aa97 100644
--- a/src/lib/ar-conf.c
+++ b/src/lib/ar-conf.c
@@ -15,18 +15,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <config.h>
+#include "config.h"
#include <string.h>
#include <errno.h>
#include <gtk/gtk.h>
-#ifdef HAVE_GNOME
-#include <gconf/gconf-client.h>
-#else
#define ACCELMAP_EXT "accels"
-#endif
#include "ar-debug.h"
#include "ar-marshal.h"
@@ -37,15 +33,8 @@
struct ArConfPrivate {
char *game_name;
-
-#ifdef HAVE_GNOME
- GConfClient *gconf_client;
- char *base_path;
- gsize base_path_len;
-#else
GKeyFile *key_file;
char *main_group;
-#endif
guint need_init : 1;
guint dirty : 1;
};
@@ -81,17 +70,10 @@ enum {
};
static const char window_state_key_name[][12] = {
-#ifdef HAVE_GNOME
- "maximized",
- "fullscreen",
- "width",
- "height"
-#else
"Maximised",
"Fullscreen",
"Width",
"Height"
-#endif /* HAVE_GNOME */
};
typedef struct {
@@ -204,18 +186,11 @@ ar_conf_get_accel_map_path (ArConf *conf,
char *game_name, *conf_dir;
char *conf_file = NULL;
const char *override;
+ char *accelmap_filename;
game_name = g_ascii_strdown (priv->game_name, -1);
-#ifdef HAVE_GNOME
- override = g_getenv ("GNOME22_USER_DIR");
- if (override)
- conf_dir = g_build_filename (override, "accels", NULL);
- else
- conf_dir = g_build_filename (g_get_home_dir (), ".gnome2", "accels", NULL);
-#else
conf_dir = g_build_filename (g_get_user_config_dir (), "gnome-games", NULL);
-#endif
if (!conf_dir)
goto loser;
@@ -230,17 +205,9 @@ ar_conf_get_accel_map_path (ArConf *conf,
}
}
-#ifdef HAVE_GNOME
- conf_file = g_build_filename (conf_dir, game_name, NULL);
-#else
-{
- char *accelmap_filename;
-
accelmap_filename = g_strdup_printf ("%s.%s", game_name, ACCELMAP_EXT);
conf_file = g_build_filename (conf_dir, accelmap_filename, NULL);
g_free (accelmap_filename);
-}
-#endif
loser:
g_free (conf_dir);
@@ -275,73 +242,6 @@ ar_conf_save_accel_map (ArConf *conf)
g_free (conf_file);
}
-#ifdef HAVE_GNOME
-
-static void
-gconf_notify_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *gcentry,
- ArConf *conf)
-{
- ArConfPrivate *priv = conf->priv;
- char *key;
- char **path;
-
- if (!g_str_has_prefix (gcentry->key, priv->base_path))
- return;
-
- key = gcentry->key + priv->base_path_len;
- if (*key != '/')
- return;
-
- path = g_strsplit (key + 1, "/", 2);
- if (!path)
- return;
-
- if (path[0] && path[1])
- g_signal_emit (conf, signals[VALUE_CHANGED], 0, path[0], path[1]);
- else if (path[0])
- g_signal_emit (conf, signals[VALUE_CHANGED], 0, NULL, path[0]);
-
- g_strfreev (path);
-}
-
-static char *
-get_gconf_key_name (const char *group, const char *key)
-{
- ArConfPrivate *priv = instance->priv;
-
- if (!group)
- return g_strdup_printf ("%s/%s", priv->base_path, key);
-
- return g_strdup_printf ("%s/%s/%s", priv->base_path, group, key);
-}
-
-static GConfValueType
-get_gconf_value_type_from_schema (const char *key_name)
-{
- ArConfPrivate *priv = instance->priv;
- GConfSchema *schema;
- char *schema_key;
- GConfValueType type = GCONF_VALUE_STRING;
-
- schema_key = g_strconcat ("/schemas", key_name, NULL);
- schema = gconf_client_get_schema (priv->gconf_client, schema_key, NULL);
-
- if (schema) {
- type = gconf_schema_get_type (schema);
- gconf_schema_free (schema);
- }
-
- g_free (schema_key);
-
- return type;
-}
-
-#endif /* HAVE_GNOME */
-
-#ifndef HAVE_GNOME
-
static void
mark_dirty_cb (ArConf *conf)
{
@@ -350,8 +250,6 @@ mark_dirty_cb (ArConf *conf)
priv->dirty = TRUE;
}
-#endif /* !HAVE_GNOME */
-
/* Class implementation */
static void
@@ -364,9 +262,7 @@ ar_conf_init (ArConf *conf)
priv->need_init = FALSE;
priv->dirty = FALSE;
-#ifndef HAVE_GNOME
g_signal_connect (conf, "value-changed", G_CALLBACK (mark_dirty_cb), NULL);
-#endif
}
static GObject *
@@ -378,10 +274,8 @@ ar_conf_constructor (GType type,
ArConf *conf;
ArConfPrivate *priv;
char *game_name;
-#ifndef HAVE_GNOME
char *conf_file;
GError *error = NULL;
-#endif /* HAVE_GNOME */
g_assert (instance == NULL);
@@ -395,23 +289,6 @@ ar_conf_constructor (GType type,
game_name = g_ascii_strdown (priv->game_name, -1);
-#ifdef HAVE_GNOME
- priv->gconf_client = gconf_client_get_default ();
-
- priv->base_path = g_strdup_printf ("/apps/%s", game_name);
- priv->base_path_len = strlen (priv->base_path);
-
- gconf_client_add_dir (priv->gconf_client, priv->base_path,
- GCONF_CLIENT_PRELOAD_NONE, NULL);
-
- gconf_client_notify_add (priv->gconf_client,
- priv->base_path,
- (GConfClientNotifyFunc) gconf_notify_cb,
- conf, NULL,
- NULL);
-
-#else /* !HAVE_GNOME */
-
priv->main_group = g_strdup_printf ("%s Config", priv->game_name);
conf_file = g_build_filename (g_get_user_config_dir (), "gnome-games", game_name, NULL);
@@ -431,8 +308,6 @@ ar_conf_constructor (GType type,
g_free (conf_file);
-#endif /* HAVE_GNOME */
-
ar_conf_load_accel_map (conf);
g_free (game_name);
@@ -449,23 +324,11 @@ ar_conf_finalize (GObject *object)
/* Save the accel map */
ar_conf_save_accel_map (conf);
-#ifdef HAVE_GNOME
- gconf_client_remove_dir (priv->gconf_client, priv->base_path, NULL);
-
- g_free (priv->base_path);
-
- g_object_unref (priv->gconf_client);
- priv->gconf_client = NULL;
-
-#else /* !HAVE_GNOME */
-
ar_conf_save ();
g_free (priv->main_group);
g_key_file_free (priv->key_file);
-#endif /* HAVE_GNOME */
-
g_free (priv->game_name);
G_OBJECT_CLASS (ar_conf_parent_class)->finalize (object);
@@ -544,13 +407,6 @@ ar_conf_initialise (const char *game_name)
"game-name", game_name,
NULL);
-#ifdef HAVE_GNOME
- /* GConf uses ORBit2 which needs threads (but it's too late to call
- * g_thread_init() here). See bug #547885.
- */
- g_assert (g_thread_supported ());
-#endif
-
return !instance->priv->need_init;
}
@@ -592,7 +448,6 @@ ar_conf_get_default (void)
void
ar_conf_save (void)
{
-#ifndef HAVE_GNOME
ArConfPrivate *priv = instance->priv;
char *game_name, *conf_file, *conf_dir, *data = NULL;
gsize len = 0;
@@ -638,7 +493,6 @@ loser:
g_free (conf_file);
g_free (conf_dir);
g_free (game_name);
-#endif /* !HAVE_GNOME */
}
/**
@@ -658,17 +512,7 @@ ar_conf_get_string (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name, *value;
-
- key_name = get_gconf_key_name (group, key);
- value = gconf_client_get_string (priv->gconf_client, key_name, NULL);
- g_free (key_name);
-
- return value;
-#else
return g_key_file_get_string (priv->key_file, group ? group : priv->main_group, key, error);
-#endif /* HAVE_GNOME */
}
/**
@@ -714,16 +558,8 @@ ar_conf_set_string (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- gconf_client_set_string (priv->gconf_client, key_name, value, NULL);
- g_free (key_name);
-#else
g_key_file_set_string (priv->key_file, group ? group : priv->main_group, key, value);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -744,35 +580,7 @@ ar_conf_get_string_list (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
- GSList *list, *l;
- char **values = NULL;
- gsize n = 0;
-
- key_name = get_gconf_key_name (group, key);
-
- list = gconf_client_get_list (priv->gconf_client, key_name, GCONF_VALUE_STRING, NULL);
- if (list != NULL) {
- values = g_new (char *, g_slist_length (list) + 1);
-
- for (l = list; l != NULL; l = l->next) {
- values[n++] = l->data;
- }
-
- /* NULL termination */
- values[n] = NULL;
-
- g_slist_free (list); /* the strings themselves are now owned by the array */
- }
-
- *n_values = n;
-
- g_free (key_name);
- return values;
-#else
return g_key_file_get_string_list (priv->key_file, group ? group : priv->main_group, key, n_values, error);
-#endif /* HAVE_GNOME */
}
/**
@@ -790,27 +598,8 @@ ar_conf_set_string_list (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
- GSList *list = NULL;
- gsize i;
-
- key_name = get_gconf_key_name (group, key);
-
- for (i = 0; i < n_values; ++i) {
- list = g_slist_prepend (list, (gpointer) values[i]);
- }
- list = g_slist_reverse (list);
-
- gconf_client_set_list (priv->gconf_client, key_name, GCONF_VALUE_STRING, list, NULL);
-
- g_slist_free (list);
-
- g_free (key_name);
-#else
g_key_file_set_string_list (priv->key_file, group ? group : priv->main_group, key, values, n_values);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -830,18 +619,7 @@ ar_conf_get_integer (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- int value;
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- value = gconf_client_get_int (priv->gconf_client, key_name, error);
- g_free (key_name);
-
- return value;
-#else
return g_key_file_get_integer (priv->key_file, group ? group : priv->main_group, key, error);
-#endif /* HAVE_GNOME */
}
/**
@@ -885,16 +663,8 @@ ar_conf_set_integer (const char *group, const char *key, int value)
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- gconf_client_set_int (priv->gconf_client, key_name, value, NULL);
- g_free (key_name);
-#else
g_key_file_set_integer (priv->key_file, group ? group : priv->main_group, key, value);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -915,30 +685,7 @@ ar_conf_get_integer_list (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
- GSList *list, *l;
- int *values = NULL;
- gsize n = 0;
-
- key_name = get_gconf_key_name (group, key);
-
- list = gconf_client_get_list (priv->gconf_client, key_name, GCONF_VALUE_STRING, NULL);
- if (list != NULL) {
- values = g_new (int, g_slist_length (list));
-
- for (l = list; l != NULL; l = l->next) {
- values[n++] = GPOINTER_TO_INT (l->data);
- }
- }
-
- *n_values = n;
-
- g_free (key_name);
- return values;
-#else
return g_key_file_get_integer_list (priv->key_file, group ? group : priv->main_group, key, n_values,
error);
-#endif /* HAVE_GNOME */
}
/**
@@ -956,27 +703,8 @@ ar_conf_set_integer_list (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
- GSList *list = NULL;
- gsize i;
-
- key_name = get_gconf_key_name (group, key);
-
- for (i = 0; i < n_values; ++i) {
- list = g_slist_prepend (list, GINT_TO_POINTER (values[i]));
- }
- list = g_slist_reverse (list);
-
- gconf_client_set_list (priv->gconf_client, key_name, GCONF_VALUE_INT, list, NULL);
-
- g_slist_free (list);
-
- g_free (key_name);
-#else
g_key_file_set_integer_list (priv->key_file, group ? group : priv->main_group, key, values, n_values);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -996,18 +724,7 @@ ar_conf_get_boolean (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- gboolean value;
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- value = gconf_client_get_bool (priv->gconf_client, key_name, error);
- g_free (key_name);
-
- return value;
-#else
return g_key_file_get_boolean (priv->key_file, group ? group : priv->main_group, key, error);
-#endif /* HAVE_GNOME */
}
/**
@@ -1051,16 +768,8 @@ ar_conf_set_boolean (const char *group, const char *key,
{
ArConfPrivate *priv = instance->priv;
-#ifdef HAVE_GNOME
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- gconf_client_set_bool (priv->gconf_client, key_name, value, NULL);
- g_free (key_name);
-#else
g_key_file_set_boolean (priv->key_file, group ? group : priv->main_group, key, value);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -1078,21 +787,9 @@ double
ar_conf_get_double (const char *group, const char *key,
GError ** error)
{
-#if defined(HAVE_GNOME)
- ArConfPrivate *priv = instance->priv;
- double value;
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- value = gconf_client_get_float (priv->gconf_client, key_name, error);
- g_free (key_name);
-
- return value;
-#else
ArConfPrivate *priv = instance->priv;
return g_key_file_get_double (priv->key_file, group ? group : priv->main_group, key, error);
-#endif /* HAVE_GNOME */
}
/**
@@ -1106,19 +803,10 @@ ar_conf_get_double (const char *group, const char *key,
void
ar_conf_set_double (const char *group, const char *key, double value)
{
-#if defined(HAVE_GNOME)
- ArConfPrivate *priv = instance->priv;
- char *key_name;
-
- key_name = get_gconf_key_name (group, key);
- gconf_client_set_float (priv->gconf_client, key_name, value, NULL);
- g_free (key_name);
-#else
ArConfPrivate *priv = instance->priv;
g_key_file_set_double (priv->key_file, group ? group : priv->main_group, key, value);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
@@ -1137,36 +825,6 @@ ar_conf_get_keyval (const char *group, const char *key,
GError ** error)
{
ArConfPrivate *priv = instance->priv;
-
-#ifdef HAVE_GNOME
- GConfValueType type;
- char *key_name, *value;
- guint keyval = GDK_KEY_VoidSymbol;
-
- key_name = get_gconf_key_name (group, key);
- type = get_gconf_value_type_from_schema (key_name);
-
- /* The result could be a keycode or a key name. */
- if (type == GCONF_VALUE_STRING) {
- value = gconf_client_get_string (priv->gconf_client, key_name, error);
- if (!value) {
- keyval = GDK_KEY_VoidSymbol;
- } else {
- keyval = gdk_keyval_from_name (value);
- g_free (value);
- }
- } else if (type == GCONF_VALUE_INT) {
- keyval = gconf_client_get_int (priv->gconf_client, key_name, error);
- if (*error || keyval == 0)
- keyval = GDK_KEY_VoidSymbol;
- } else {
- g_warning ("Unknown value type for key %s\n", key_name);
- }
-
- g_free (key_name);
-
- return keyval;
-#else
char *value;
guint keyval = GDK_KEY_VoidSymbol;
@@ -1177,7 +835,6 @@ ar_conf_get_keyval (const char *group, const char *key,
}
return keyval;
-#endif /* HAVE_GNOME */
}
/**
@@ -1193,7 +850,7 @@ ar_conf_get_keyval (const char *group, const char *key,
*/
guint
ar_conf_get_keyval_with_default (const char *group, const char *key,
- guint default_keyval)
+ guint default_keyval)
{
GError *error = NULL;
guint value;
@@ -1222,29 +879,6 @@ void
ar_conf_set_keyval (const char *group, const char *key, guint value)
{
ArConfPrivate *priv = instance->priv;
-
-#ifdef HAVE_GNOME
- GConfValueType type;
- char *key_name, *name;
-
- if (value == GDK_KEY_VoidSymbol)
- return;
-
- key_name = get_gconf_key_name (group, key);
- type = get_gconf_value_type_from_schema (key_name);
-
- /* The result could be a keycode or a key name. */
- if (type == GCONF_VALUE_STRING) {
- name = gdk_keyval_name (value);
- gconf_client_set_string (priv->gconf_client, key_name, name, NULL);
- } else if (type == GCONF_VALUE_INT) {
- gconf_client_set_int (priv->gconf_client, key_name, (int) value, NULL);
- } else {
- g_warning ("Unknown value type for key %s\n", key_name);
- }
-
- g_free (key_name);
-#else
char *name;
if (value == GDK_KEY_VoidSymbol)
@@ -1253,7 +887,6 @@ ar_conf_set_keyval (const char *group, const char *key, guint value)
name = gdk_keyval_name (value);
g_key_file_set_string (priv->key_file, group, key, name);
g_signal_emit (instance, signals[VALUE_CHANGED], 0, group, key);
-#endif /* HAVE_GNOME */
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]