aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@gnome-db.org>2011-09-21 23:15:07 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-09-21 23:15:07 +0800
commitd757ba352a135a81cfb2e638b25d66998dbe1eb9 (patch)
treee0fa4b362ae4b4f0b75669a24e509b9f35143761
parentb9a43c056c67bc343748fbd7c1b5385a6457014a (diff)
downloadgsoc2013-evolution-d757ba352a135a81cfb2e638b25d66998dbe1eb9.tar.gz
gsoc2013-evolution-d757ba352a135a81cfb2e638b25d66998dbe1eb9.tar.zst
gsoc2013-evolution-d757ba352a135a81cfb2e638b25d66998dbe1eb9.zip
Port EMemoShellBackend to GSettings
-rw-r--r--data/evolution.convert1
-rw-r--r--data/org.gnome.evolution.calendar.gschema.xml.in5
-rw-r--r--modules/calendar/e-cal-shell-backend.c2
-rw-r--r--modules/calendar/e-memo-shell-backend.c43
4 files changed, 34 insertions, 17 deletions
diff --git a/data/evolution.convert b/data/evolution.convert
index 83f5efccc5..f2289ed14a 100644
--- a/data/evolution.convert
+++ b/data/evolution.convert
@@ -52,6 +52,7 @@ month-scroll-by-week = /apps/evolution/calendar/display/month_scroll_by_week
notify-programs = /apps/evolution/calendar/notify/programs
notify-with-tray = /apps/evolution/calendar/notify/notify_with_tray
selected-calendars = /apps/evolution/calendar/display/selected_calendars
+selected-memos = /apps/evolution/calendar/memos/selected_memos
show-memo-preview = /apps/evolution/calendar/display/show_memo_preview
timezone = /apps/evolution/calendar/display/timezone
use-24hour-format = /apps/evolution/calendar/display/use_24hour_format
diff --git a/data/org.gnome.evolution.calendar.gschema.xml.in b/data/org.gnome.evolution.calendar.gschema.xml.in
index 9525066123..48fa505e06 100644
--- a/data/org.gnome.evolution.calendar.gschema.xml.in
+++ b/data/org.gnome.evolution.calendar.gschema.xml.in
@@ -101,6 +101,11 @@
<_summary>List of selected calendars</_summary>
<_description>List of calendars to load</_description>
</key>
+ <key name="selected-memos" type="as">
+ <default>[]</default>
+ <_summary>List of selected memos</_summary>
+ <_description>List of memos to load</_description>
+ </key>
<key name="show-memo-preview" type="b">
<default>true</default>
<_summary>Show the memo preview pane</_summary>
diff --git a/modules/calendar/e-cal-shell-backend.c b/modules/calendar/e-cal-shell-backend.c
index 2a1edb96d2..36af9fd827 100644
--- a/modules/calendar/e-cal-shell-backend.c
+++ b/modules/calendar/e-cal-shell-backend.c
@@ -910,7 +910,7 @@ e_cal_shell_backend_get_selected_calendars (ECalShellBackend *cal_shell_backend)
E_IS_CAL_SHELL_BACKEND (cal_shell_backend), NULL);
settings = g_settings_new ("org.gnome.evolution.calendar");
- selected_calendars = g_settings_get_strv (settings, "selected-calendars");
+ strv = g_settings_get_strv (settings, "selected-calendars");
g_object_unref (settings);
if (strv != NULL) {
diff --git a/modules/calendar/e-memo-shell-backend.c b/modules/calendar/e-memo-shell-backend.c
index 7edb82d6bb..e9c8233a99 100644
--- a/modules/calendar/e-memo-shell-backend.c
+++ b/modules/calendar/e-memo-shell-backend.c
@@ -645,34 +645,45 @@ 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;
+ char **strv;
+ gint i;
+ GSList *selected_memo_list = NULL;
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 (i = 0; strv[i] != NULL; i++)
+ selected_memo_list = g_slist_append (selected_memo_list, g_strdup (strv[i]));
+
+ g_strfreev (strv);
+ }
- return selected_memo_lists;
+ return selected_memo_list;
}
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 *l;
+ 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 (l = selected_memo_list; l != NULL; l = l->next)
+ g_ptr_array_add (array, l->data);
+
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ g_settings_set_strv (settings, "selected-memos", array->pdata);
+ g_object_unref (settings);
+
+ g_ptr_array_free (array, FALSE);
}