aboutsummaryrefslogtreecommitdiffstats
path: root/modules/calendar/e-memo-shell-backend.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-11-23 09:48:44 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-11-23 09:48:44 +0800
commit9918361aef9ad1360a0ed3a240cc58d6cd9e30f8 (patch)
tree50bf24934b5ab3fefcc27913d1855a27c75e6d40 /modules/calendar/e-memo-shell-backend.c
parentfa1bb9a17e11cf12ce02d9b49bba2753f6020ea0 (diff)
parente64d6fe05c30c2cc1d7625a202afba3ba2da07cd (diff)
downloadgsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar.gz
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar.bz2
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar.lz
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar.xz
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.tar.zst
gsoc2013-evolution-9918361aef9ad1360a0ed3a240cc58d6cd9e30f8.zip
Merge branch 'wip/gsettings'
Diffstat (limited to 'modules/calendar/e-memo-shell-backend.c')
-rw-r--r--modules/calendar/e-memo-shell-backend.c41
1 files changed, 26 insertions, 15 deletions
diff --git a/modules/calendar/e-memo-shell-backend.c b/modules/calendar/e-memo-shell-backend.c
index ed4e81d559..c31689fec9 100644
--- a/modules/calendar/e-memo-shell-backend.c
+++ b/modules/calendar/e-memo-shell-backend.c
@@ -645,18 +645,24 @@ e_memo_shell_backend_get_source_list (EMemoShellBackend *memo_shell_backend)
GSList *
e_memo_shell_backend_get_selected_memo_lists (EMemoShellBackend *memo_shell_backend)
{
- GConfClient *client;
- GSList *selected_memo_lists;
- const gchar *key;
+ GSettings *settings;
+ GSList *selected_memo_lists = NULL;
+ gchar **strv;
+ gint ii;
g_return_val_if_fail (
E_IS_MEMO_SHELL_BACKEND (memo_shell_backend), NULL);
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/memos/selected_memos";
- selected_memo_lists = gconf_client_get_list (
- client, key, GCONF_VALUE_STRING, NULL);
- g_object_unref (client);
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ strv = g_settings_get_strv (settings, "selected-memos");
+ g_object_unref (settings);
+
+ if (strv != NULL) {
+ for (ii = 0; strv[ii] != NULL; ii++)
+ selected_memo_lists = g_slist_append (selected_memo_lists, g_strdup (strv[ii]));
+
+ g_strfreev (strv);
+ }
return selected_memo_lists;
}
@@ -665,14 +671,19 @@ void
e_memo_shell_backend_set_selected_memo_lists (EMemoShellBackend *memo_shell_backend,
GSList *selected_memo_lists)
{
- GConfClient *client;
- const gchar *key;
+ GSettings *settings;
+ GSList *link;
+ GPtrArray *array = g_ptr_array_new ();
g_return_if_fail (E_IS_MEMO_SHELL_BACKEND (memo_shell_backend));
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/memos/selected_memos";
- gconf_client_set_list (
- client, key, GCONF_VALUE_STRING, selected_memo_lists, NULL);
- g_object_unref (client);
+ for (link = selected_memo_lists; link != NULL; link = link->next)
+ g_ptr_array_add (array, link->data);
+ g_ptr_array_add (array, NULL);
+
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ g_settings_set_strv (settings, "selected-memos", (const gchar *const *) array->pdata);
+ g_object_unref (settings);
+
+ g_ptr_array_free (array, FALSE);
}