[PATCH] test-ui: replace GConf with GKeyFile
- From: Víctor Manuel Jáquez Leal <vjaquez igalia com>
- To: grilo-list gnome org
- Subject: [PATCH] test-ui: replace GConf with GKeyFile
- Date: Mon, 2 May 2011 13:10:33 +0200
GConf is a bloated and deprecated dependency to grilo-test-ui. This patch
replace its usage with a simple GKeyFile.
Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez igalia com>
---
configure.ac | 2 +-
tools/grilo-test-ui/main.c | 89 ++++++++++++++++++++++++++++++++++++++-----
2 files changed, 79 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index 6f1e865..5d2b33b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -107,7 +107,7 @@ AC_SUBST(GLIB_MKENUMS)
gtkver="gtk+-3.0"
PKG_CHECK_EXISTS([gtk+-3.0], [gtkver="gtk+-3.0"], [gtkver="gtk+-2.0"])
-PKG_CHECK_MODULES([GTU], [ ${gtkver} gconf-2.0 ],
+PKG_CHECK_MODULES([GTU], [ ${gtkver} ],
[ BUILD_GRILO_TEST_UI=yes ],
[ BUILD_GRILO_TEST_UI=no ])
diff --git a/tools/grilo-test-ui/main.c b/tools/grilo-test-ui/main.c
index a996325..37ac2fd 100644
--- a/tools/grilo-test-ui/main.c
+++ b/tools/grilo-test-ui/main.c
@@ -28,7 +28,6 @@
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <string.h>
-#include <gconf/gconf-client.h>
#include "flickr-auth.h"
@@ -52,9 +51,6 @@ GRL_LOG_DOMAIN_STATIC(test_ui_log_domain);
"If you do not authorize it, then you can not access your " \
"private photos."
-
-#define GCONF_GTU_FLICKR_TOKEN "/apps/grilo-test-ui/auth-token"
-
/* ----- Youtube Config tokens ---- */
#define YOUTUBE_KEY "AI39si4EfscPllSfUy1IwexMf__kntTL_G5dfSr2iUEVN45RHGq92Aq0lX25OlnOkG6KTN-4soVAkAf67fWYXuHfVADZYr7S1A"
@@ -1293,25 +1289,96 @@ search_combo_setup (void)
}
static gchar *
+get_config_dir ()
+{
+ char *confdir;
+ GFile *dir;
+ GError *error = NULL;
+
+ confdir = g_build_filename (g_get_user_config_dir (),
+ "grilo-test-ui",
+ NULL);
+
+ /* create the configuration directory if needed */
+ if (g_file_test (confdir, (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)))
+ return confdir;
+
+ dir = g_file_new_for_path (confdir);
+ g_file_make_directory_with_parents (dir, NULL, &error);
+ g_object_unref (dir);
+
+ if (error && error->code != G_IO_ERROR_EXISTS) {
+ g_critical ("Could not create config directory %s: %s",
+ confdir, error->message);
+ g_clear_error (&error);
+ return NULL;
+ }
+
+ return confdir;
+}
+
+static gchar *
load_flickr_token (void)
{
- GConfClient *confclient;
- gchar *token;
+ GKeyFile *keyfile;
+ gchar *path;
+ gchar *file = NULL;
+ gchar *token = NULL;
+
+ path = get_config_dir ();
+ if (path) {
+ file = g_build_filename (path, "tokens.conf", NULL);
+ g_free (path);
+ }
- confclient = gconf_client_get_default ();
+ if (!file)
+ return NULL;
- token = gconf_client_get_string (confclient, GCONF_GTU_FLICKR_TOKEN, NULL);
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, file, G_KEY_FILE_NONE, NULL))
+ goto bailout;
+ token = g_key_file_get_value (keyfile, "flickr", "auth-token", NULL);
+
+bailout:
+ g_free (file);
+ g_key_file_free (keyfile);
return token;
}
static void
save_flickr_token (const gchar *token)
{
- GConfClient *confclient;
+ GKeyFile *keyfile;
+ gchar *path;
+ gchar *file = NULL;
+
+ path = get_config_dir ();
+ if (path) {
+ file = g_build_filename (path, "tokens.conf", NULL);
+ g_free (path);
+ }
+
+ if (!file)
+ return;
+
+ keyfile = g_key_file_new ();
+ g_key_file_load_from_file (keyfile, file, G_KEY_FILE_NONE, NULL);
+ g_key_file_set_value (keyfile, "flickr", "auth-token", token);
+
+ {
+ GError *error = NULL;
+ gchar *content = g_key_file_to_data (keyfile, NULL, NULL);
+ g_file_set_contents (file, content, -1, &error);
+ if (error) {
+ g_warning ("Could not write %s: %s", file, error->message);
+ g_clear_error (&error);
+ }
+ g_free (content);
+ }
- confclient = gconf_client_get_default ();
- gconf_client_set_string (confclient, GCONF_GTU_FLICKR_TOKEN, token, NULL);
+ g_free (file);
+ g_key_file_free (keyfile);
}
static void
--
1.7.4.4
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]