aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore33
-rw-r--r--addressbook/gui/contact-editor/Makefile.am1
-rw-r--r--addressbook/gui/contact-editor/e-contact-quick-add.c1
-rw-r--r--addressbook/gui/merging/eab-contact-compare.c1
-rw-r--r--calendar/gui/alarm-notify/alarm-notify.c9
-rw-r--r--calendar/gui/alarm-notify/config-data.c120
-rw-r--r--calendar/gui/calendar-config.c89
-rw-r--r--calendar/gui/calendar-config.h13
-rw-r--r--calendar/gui/dialogs/comp-editor.c39
-rw-r--r--calendar/gui/e-calendar-view.c2
-rw-r--r--calendar/gui/e-day-view-time-item.c21
-rw-r--r--calendar/gui/e-week-view.c43
-rw-r--r--calendar/gui/gnome-cal.c6
-rw-r--r--calendar/importers/icalendar-importer.c16
-rw-r--r--configure.ac2
-rw-r--r--data/Makefile.am29
-rw-r--r--data/evolution.convert217
-rw-r--r--data/org.gnome.evolution.addressbook.gschema.xml.in39
-rw-r--r--data/org.gnome.evolution.calendar.gschema.xml.in184
-rw-r--r--data/org.gnome.evolution.eplugin.attachment-reminder.gschema.xml.in9
-rw-r--r--data/org.gnome.evolution.eplugin.bogo-junk.gschema.xml.in9
-rw-r--r--data/org.gnome.evolution.eplugin.email-custom-header.gschema.xml.in9
-rw-r--r--data/org.gnome.evolution.eplugin.external-editor.gschema.xml.in14
-rw-r--r--data/org.gnome.evolution.eplugin.face-picture.gschema.xml.in9
-rw-r--r--data/org.gnome.evolution.eplugin.mail-notification.gschema.xml.in44
-rw-r--r--data/org.gnome.evolution.eplugin.templates.gschema.xml.in9
-rw-r--r--data/org.gnome.evolution.gschema.xml.in14
-rw-r--r--data/org.gnome.evolution.importer.gschema.xml.in14
-rw-r--r--data/org.gnome.evolution.mail.gschema.xml.in569
-rw-r--r--data/org.gnome.evolution.shell.gschema.xml.in94
-rw-r--r--help/C/mail-error-failed-to-append-to-sent-folder.page32
-rw-r--r--help/C/mail-error-folder-mismatch.page52
-rw-r--r--help/C/mail-error-no-provider-available.page49
-rw-r--r--mail/em-subscription-editor.h2
-rw-r--r--mail/mail-config.ui1
-rw-r--r--modules/calendar/e-cal-shell-backend.c40
-rw-r--r--modules/calendar/e-cal-shell-content.c36
-rw-r--r--modules/calendar/e-cal-shell-sidebar.c12
-rw-r--r--modules/calendar/e-calendar-preferences.c16
-rw-r--r--modules/calendar/e-memo-shell-backend.c41
-rw-r--r--modules/calendar/e-memo-shell-content.c14
-rw-r--r--modules/calendar/e-memo-shell-view-actions.c14
-rw-r--r--modules/calendar/e-task-shell-backend.c40
-rw-r--r--modules/calendar/e-task-shell-content.c16
-rw-r--r--modules/calendar/e-task-shell-view-actions.c15
-rw-r--r--modules/mail/e-mail-shell-backend.c6
-rw-r--r--modules/mail/em-account-prefs.c3
-rw-r--r--modules/network-manager/Makefile.am1
-rw-r--r--plugins/publish-calendar/publish-format-fb.c1
-rw-r--r--plugins/publish-calendar/publish-format-ical.c1
-rw-r--r--plugins/save-calendar/rdf-format.c8
-rw-r--r--shell/e-shell.c17
-rw-r--r--widgets/table/e-table-field-chooser-item.c4
-rw-r--r--widgets/table/e-table-header-utils.c2
54 files changed, 1757 insertions, 325 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..c1b47cc737
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,33 @@
+Makefile.in
+Makefile.in.in
+m4/*
+configure
+ABOUT-NLS
+aclocal.m4
+autom4te.cache/
+compile
+config.guess
+config.h.in
+config.log
+config.rpath
+config.sub
+depcomp
+gnome-doc-utils.make
+gtk-doc.make
+install-sh
+intltool-extract.in
+intltool-merge.in
+intltool-update.in
+ltmain.sh
+missing
+mkinstalldirs
+po/Makevars.template
+po/POTFILES
+po/Rules-quot
+po/boldquot.sed
+po/en@boldquot.header
+po/en@quot.header
+po/insert-header.sin
+po/quot.sed
+po/remove-potcdate.sin
+*~
diff --git a/addressbook/gui/contact-editor/Makefile.am b/addressbook/gui/contact-editor/Makefile.am
index 254af85207..9c1e553400 100644
--- a/addressbook/gui/contact-editor/Makefile.am
+++ b/addressbook/gui/contact-editor/Makefile.am
@@ -34,6 +34,7 @@ libecontacteditor_la_LIBADD = \
$(top_builddir)/addressbook/gui/merging/libeabbookmerging.la \
$(top_builddir)/addressbook/printing/libecontactprint.la \
$(top_builddir)/widgets/menus/libmenus.la \
+ $(EVOLUTION_ADDRESSBOOK_LIBS) \
$(EVOLUTION_DATA_SERVER_LIBS) \
$(GNOME_PLATFORM_LIBS)
diff --git a/addressbook/gui/contact-editor/e-contact-quick-add.c b/addressbook/gui/contact-editor/e-contact-quick-add.c
index 3595437f28..75ac692f3f 100644
--- a/addressbook/gui/contact-editor/e-contact-quick-add.c
+++ b/addressbook/gui/contact-editor/e-contact-quick-add.c
@@ -473,7 +473,6 @@ build_quick_add_dialog (QuickAdd *qa)
gconf_client, "/apps/evolution/addressbook/sources");
source = e_source_list_peek_default_source (qa->source_list);
g_object_unref (gconf_client);
-
qa->combo_box = e_source_combo_box_new (qa->source_list);
e_source_combo_box_set_active (
E_SOURCE_COMBO_BOX (qa->combo_box), source);
diff --git a/addressbook/gui/merging/eab-contact-compare.c b/addressbook/gui/merging/eab-contact-compare.c
index 231a14281c..b936c9810d 100644
--- a/addressbook/gui/merging/eab-contact-compare.c
+++ b/addressbook/gui/merging/eab-contact-compare.c
@@ -833,7 +833,6 @@ eab_contact_locate_match_full (EBookClient *book_client,
return;
source = e_source_list_peek_default_source (info->source_list);
-
e_client_utils_open_new (
source, E_CLIENT_SOURCE_TYPE_CONTACTS, FALSE, NULL,
e_client_utils_authenticate_handler, NULL,
diff --git a/calendar/gui/alarm-notify/alarm-notify.c b/calendar/gui/alarm-notify/alarm-notify.c
index e612b0c56c..3b5402b4a6 100644
--- a/calendar/gui/alarm-notify/alarm-notify.c
+++ b/calendar/gui/alarm-notify/alarm-notify.c
@@ -37,9 +37,7 @@
#include "alarm-queue.h"
#include "config-data.h"
-#define ALARM_NOTIFY_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), TYPE_ALARM_NOTIFY, AlarmNotifyPrivate))
+#define APPLICATION_ID "org.gnome.EvolutionAlarmNotify"
#define APPLICATION_ID "org.gnome.EvolutionAlarmNotify"
@@ -222,7 +220,7 @@ alarm_notify_finalize (GObject *object)
AlarmNotifyPrivate *priv;
gint ii;
- priv = ALARM_NOTIFY_GET_PRIVATE (object);
+ priv = ALARM_NOTIFY (object)->priv;
for (ii = 0; ii < E_CAL_CLIENT_SOURCE_TYPE_LAST; ii++) {
g_hash_table_foreach (
@@ -311,7 +309,8 @@ alarm_notify_init (AlarmNotify *an)
{
gint ii;
- an->priv = ALARM_NOTIFY_GET_PRIVATE (an);
+ an->priv = G_TYPE_INSTANCE_GET_PRIVATE (
+ an, TYPE_ALARM_NOTIFY, AlarmNotifyPrivate);
an->priv->mutex = g_mutex_new ();
an->priv->selected_calendars = config_data_get_calendars (
"/apps/evolution/calendar/sources");
diff --git a/calendar/gui/alarm-notify/config-data.c b/calendar/gui/alarm-notify/config-data.c
index 567ca69c09..f44a832b4c 100644
--- a/calendar/gui/alarm-notify/config-data.c
+++ b/calendar/gui/alarm-notify/config-data.c
@@ -30,14 +30,11 @@
#include <libedataserver/e-source-list.h>
#include "config-data.h"
-#define KEY_LAST_NOTIFICATION_TIME \
- "/apps/evolution/calendar/notify/last_notification_time"
-#define KEY_PROGRAMS "/apps/evolution/calendar/notify/programs"
-
/* Whether we have initied ourselves by reading
* the data from the configuration engine. */
static gboolean inited = FALSE;
static GConfClient *conf_client = NULL;
+static GSettings *calendar_settings = NULL;
static ESourceList *calendar_source_list = NULL, *tasks_source_list = NULL;
/* Copied from ../calendar-config.c; returns whether the locale has 'am' and
@@ -69,6 +66,9 @@ do_cleanup (void)
g_object_unref (conf_client);
conf_client = NULL;
+ g_object_unref (calendar_settings);
+ calendar_settings = FALSE;
+
inited = FALSE;
}
@@ -87,6 +87,8 @@ ensure_inited (void)
return;
}
+ calendar_settings = g_settings_new ("org.gnome.evolution.calendar");
+
g_atexit ((GVoidFunc) do_cleanup);
/* load the sources for calendars and tasks */
@@ -104,8 +106,10 @@ config_data_get_calendars (const gchar *key)
gboolean state;
GSList *gconf_list;
- if (!inited)
+ if (!inited) {
conf_client = gconf_client_get_default ();
+ calendar_settings = g_settings_new ("org.gnome.evolution.calendar");
+ }
gconf_list = gconf_client_get_list (conf_client,
key,
@@ -119,15 +123,11 @@ config_data_get_calendars (const gchar *key)
return cal_sources;
}
- state = gconf_client_get_bool (conf_client,
- "/apps/evolution/calendar/notify/notify_with_tray",
- NULL);
+ state = g_settings_get_boolean (calendar_settings, "notify-with-tray");
if (!state) /* Should be old client */ {
GSList *source;
- gconf_client_set_bool (conf_client,
- "/apps/evolution/calendar/notify/notify_with_tray",
- TRUE,
- NULL);
+
+ g_settings_set_boolean (calendar_settings, "notify-with-tray", TRUE);
source = gconf_client_get_list (conf_client,
"/apps/evolution/calendar/sources",
GCONF_VALUE_STRING,
@@ -200,17 +200,14 @@ icaltimezone *
config_data_get_timezone (void)
{
gchar *location;
- const gchar *key;
icaltimezone *local_timezone;
ensure_inited ();
- key = "/apps/evolution/calendar/display/use_system_timezone";
- if (gconf_client_get_bool (conf_client, key, NULL))
+ if (g_settings_get_boolean (calendar_settings, "use-system-timezone"))
location = e_cal_util_get_system_timezone_location ();
else {
- key = "/apps/evolution/calendar/display/timezone";
- location = gconf_client_get_string (conf_client, key, NULL);
+ location = g_settings_get_string (calendar_settings, "timezone");
}
if (location && location[0])
@@ -229,10 +226,7 @@ config_data_get_24_hour_format (void)
ensure_inited ();
if (locale_supports_12_hour_format ()) {
- const gchar *key;
-
- key = "/apps/evolution/calendar/display/use_24hour_format";
- return gconf_client_get_bool (conf_client, key, NULL);
+ return g_settings_get_boolean (calendar_settings, "use-24hour-format");
}
return TRUE;
@@ -243,9 +237,7 @@ config_data_get_notify_with_tray (void)
{
ensure_inited ();
- return gconf_client_get_bool (conf_client,
- "/apps/evolution/calendar/notify/notify_with_tray",
- NULL);
+ return g_settings_get_boolean (calendar_settings, "notify-with-tray");
}
/**
@@ -260,7 +252,6 @@ void
config_data_set_last_notification_time (ECalClient *cal,
time_t t)
{
- GConfClient *client;
time_t current_t, now = time (NULL);
g_return_if_fail (t != -1);
@@ -291,14 +282,11 @@ config_data_set_last_notification_time (ECalClient *cal,
}
}
- if (!(client = config_data_get_conf_client ()))
- return;
-
/* we only store the new notification time if it is bigger
* than the already stored one */
- current_t = gconf_client_get_int (client, KEY_LAST_NOTIFICATION_TIME, NULL);
+ current_t = g_settings_get_int (calendar_settings, "last-notification-time");
if (t > current_t || current_t > now)
- gconf_client_set_int (client, KEY_LAST_NOTIFICATION_TIME, t, NULL);
+ g_settings_set_int (calendar_settings, "last-notification-time", t);
}
/**
@@ -311,8 +299,7 @@ config_data_set_last_notification_time (ECalClient *cal,
time_t
config_data_get_last_notification_time (ECalClient *cal)
{
- GConfValue *value;
- GConfClient *client;
+ time_t value, now;
if (cal) {
ESource *source = e_client_get_source (E_CLIENT (cal));
@@ -326,33 +313,21 @@ config_data_get_last_notification_time (ECalClient *cal)
if (last_notified && *last_notified &&
g_time_val_from_iso8601 (last_notified, &tmval)) {
- time_t now = time (NULL), val = (time_t) tmval.tv_sec;
+ time_t now = time (NULL), value = (time_t) tmval.tv_sec;
- if (val > now)
- val = now;
- return val;
+ if (value > now)
+ value = now;
+ return value;
}
}
}
- if (!(client = config_data_get_conf_client ()))
- return -1;
+ value = g_settings_get_int (calendar_settings, "last-notification-time");
+ now = time (NULL);
+ if (value > now)
+ value = now;
- value = gconf_client_get_without_default (
- client, KEY_LAST_NOTIFICATION_TIME, NULL);
- if (value) {
- time_t val, now;
-
- val = (time_t) gconf_value_get_int (value);
- now = time (NULL);
-
- if (val > now)
- val = now;
-
- return val;
- }
-
- return -1;
+ return value;
}
/**
@@ -364,17 +339,19 @@ config_data_get_last_notification_time (ECalClient *cal)
void
config_data_save_blessed_program (const gchar *program)
{
- GConfClient *client;
- GSList *l;
+ gchar **list;
+ gint i;
+ GArray *array = g_array_new (TRUE, FALSE, sizeof (gchar *));
- if (!(client = config_data_get_conf_client ()))
- return;
+ list = g_settings_get_strv (calendar_settings, "notify-programs");
+ for (i = 0; i < g_strv_length (list); i++)
+ g_array_append_val (array, list[i]);
- l = gconf_client_get_list (client, KEY_PROGRAMS, GCONF_VALUE_STRING, NULL);
- l = g_slist_append (l, g_strdup (program));
- gconf_client_set_list (client, KEY_PROGRAMS, GCONF_VALUE_STRING, l, NULL);
- g_slist_foreach (l, (GFunc) g_free, NULL);
- g_slist_free (l);
+ g_array_append_val (array, program);
+ g_settings_set_strv (calendar_settings, "notify-programs", (const gchar *const *) array->data);
+
+ g_strfreev (list);
+ g_array_free (array, TRUE);
}
/**
@@ -388,23 +365,22 @@ config_data_save_blessed_program (const gchar *program)
gboolean
config_data_is_blessed_program (const gchar *program)
{
- GConfClient *client;
- GSList *l, *n;
+ gchar **list;
+ gint i = 0;
gboolean found = FALSE;
- if (!(client = config_data_get_conf_client ()))
+ list = g_settings_get_strv (calendar_settings, "notify-programs");
+ if (!list)
return FALSE;
- l = gconf_client_get_list (client, KEY_PROGRAMS, GCONF_VALUE_STRING, NULL);
- while (l) {
- n = l->next;
+ while (list[i] != NULL) {
if (!found)
- found = strcmp ((gchar *) l->data, program) == 0;
- g_free (l->data);
- g_slist_free_1 (l);
- l = n;
+ found = strcmp ((gchar *) list[i], program) == 0;
+ i++;
}
+ g_strfreev (list);
+
return found;
}
diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c
index 6d97cdf8cf..85c2e3e60d 100644
--- a/calendar/gui/calendar-config.c
+++ b/calendar/gui/calendar-config.c
@@ -31,6 +31,7 @@
#include <time.h>
#include <string.h>
+#include <gio/gio.h>
#include <e-util/e-util.h>
#include <libecal/e-cal-time-util.h>
#include <libedataserver/e-data-server-util.h>
@@ -40,7 +41,7 @@
#include "calendar-config-keys.h"
#include "calendar-config.h"
-static GConfClient *config = NULL;
+static GSettings *config = NULL;
static void
do_cleanup (void)
@@ -55,18 +56,17 @@ calendar_config_init (void)
if (config)
return;
- config = gconf_client_get_default ();
+ config = g_settings_new ("org.gnome.evolution.calendar");
g_atexit ((GVoidFunc) do_cleanup);
-
- gconf_client_add_dir (config, CALENDAR_CONFIG_PREFIX, GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
}
void
-calendar_config_remove_notification (guint id)
+calendar_config_remove_notification (CalendarConfigChangedFunc func,
+ gpointer data)
{
calendar_config_init ();
- gconf_client_notify_remove (config, id);
+ g_signal_handlers_disconnect_by_func (G_OBJECT (config), G_CALLBACK (func), data);
}
/* Returns TRUE if the locale has 'am' and 'pm' strings defined, in which
@@ -92,7 +92,7 @@ calendar_config_get_timezone_stored (void)
{
calendar_config_init ();
- return gconf_client_get_string (config, CALENDAR_CONFIG_TIMEZONE, NULL);
+ return g_settings_get_string (config, "timezone");
}
static gchar *
@@ -142,7 +142,7 @@ calendar_config_get_24_hour_format (void)
* default. If the locale doesn't have 'am' and 'pm' strings we have
* to use 24-hour format, or strftime ()/strptime () won't work. */
if (calendar_config_locale_supports_12_hour_format ())
- return gconf_client_get_bool (config, CALENDAR_CONFIG_24HOUR, NULL);
+ return g_settings_get_boolean (config, "use-24hour-format");
return TRUE;
}
@@ -153,20 +153,17 @@ calendar_config_get_month_scroll_by_week (void)
{
calendar_config_init ();
- return gconf_client_get_bool (config, CALENDAR_CONFIG_MONTH_SCROLL_BY_WEEK, NULL);
+ return g_settings_get_boolean (config, "month-scroll-by-week");
}
-guint
-calendar_config_add_notification_month_scroll_by_week (GConfClientNotifyFunc func,
+void
+calendar_config_add_notification_month_scroll_by_week (CalendarConfigChangedFunc func,
gpointer data)
{
- guint id;
-
calendar_config_init ();
- id = gconf_client_notify_add (config, CALENDAR_CONFIG_MONTH_SCROLL_BY_WEEK, func, data, NULL, NULL);
-
- return id;
+ g_signal_connect (G_OBJECT (config), "changed::month-scroll-by-week",
+ G_CALLBACK (func), data);
}
/***************************************/
@@ -177,7 +174,7 @@ calendar_config_get_working_days (void)
{
calendar_config_init ();
- return gconf_client_get_int (config, CALENDAR_CONFIG_WORKING_DAYS, NULL);
+ return g_settings_get_int (config, "working-days");
}
/* Settings to hide completed tasks. */
@@ -186,7 +183,7 @@ calendar_config_get_hide_completed_tasks (void)
{
calendar_config_init ();
- return gconf_client_get_bool (config, CALENDAR_CONFIG_TASKS_HIDE_COMPLETED, NULL);
+ return g_settings_get_boolean (config, "hide-completed-tasks");
}
static EDurationType
@@ -197,7 +194,7 @@ calendar_config_get_hide_completed_tasks_units (void)
calendar_config_init ();
- units = gconf_client_get_string (config, CALENDAR_CONFIG_TASKS_HIDE_COMPLETED_UNITS, NULL);
+ units = g_settings_get_string (config, "hide-completed-tasks-units");
if (units && !strcmp (units, "minutes"))
cu = E_DURATION_MINUTES;
@@ -229,7 +226,7 @@ calendar_config_get_hide_completed_tasks_sexp (gboolean get_completed)
gint value;
units = calendar_config_get_hide_completed_tasks_units ();
- value = gconf_client_get_int (config, CALENDAR_CONFIG_TASKS_HIDE_COMPLETED_VALUE, NULL);
+ value = g_settings_get_int (config, "hide-completed-tasks-value");
if (value == 0) {
/* If the value is 0, we want to hide completed tasks
@@ -284,7 +281,7 @@ calendar_config_set_dir_path (const gchar *path)
{
calendar_config_init ();
- gconf_client_set_string (config, CALENDAR_CONFIG_SAVE_DIR, path, NULL);
+ g_settings_set_string (config, "audio-dir", path);
}
gchar *
@@ -294,7 +291,7 @@ calendar_config_get_dir_path (void)
calendar_config_init ();
- path = gconf_client_get_string (config, CALENDAR_CONFIG_SAVE_DIR, NULL);
+ path = g_settings_get_string (config, "audio-dir");
return path;
}
@@ -304,11 +301,19 @@ calendar_config_get_dir_path (void)
GSList *
calendar_config_get_day_second_zones (void)
{
- GSList *res;
+ GSList *res = NULL;
+ gchar **strv;
+ gint i;
calendar_config_init ();
- res = gconf_client_get_list (config, CALENDAR_CONFIG_DAY_SECOND_ZONES_LIST, GCONF_VALUE_STRING, NULL);
+ strv = g_settings_get_strv (config, "day-second-zones");
+ for (i = 0; i < g_strv_length (strv); i++) {
+ if (strv[i] != NULL)
+ res = g_slist_append (res, g_strdup (strv[i]));
+ }
+
+ g_strfreev (strv);
return res;
}
@@ -331,16 +336,12 @@ calendar_config_set_day_second_zone (const gchar *location)
if (location && *location) {
GSList *lst, *l;
- GError *error = NULL;
gint max_zones;
+ GPtrArray *array;
+ gint i;
/* configurable max number of timezones to remember */
- max_zones = gconf_client_get_int (config, CALENDAR_CONFIG_DAY_SECOND_ZONES_MAX, &error);
-
- if (error) {
- g_error_free (error);
- max_zones = -1;
- }
+ max_zones = g_settings_get_int (config, "day-second-zones-max");
if (max_zones <= 0)
max_zones = 5;
@@ -364,18 +365,17 @@ calendar_config_set_day_second_zone (const gchar *location)
lst = g_slist_prepend (lst, g_strdup (location));
}
- while (g_slist_length (lst) > max_zones) {
- l = g_slist_last (lst);
- g_free (l->data);
- lst = g_slist_delete_link (lst, l);
- }
+ array = g_ptr_array_new ();
+ for (i = 0, l = lst; i < max_zones && l != NULL; i++, l = l->next)
+ g_ptr_array_add (array, l->data);
- gconf_client_set_list (config, CALENDAR_CONFIG_DAY_SECOND_ZONES_LIST, GCONF_VALUE_STRING, lst, NULL);
+ g_settings_set_strv (config, "day-second-zones", (const gchar * const *) array->pdata);
calendar_config_free_day_second_zones (lst);
+ g_ptr_array_free (array, FALSE);
}
- gconf_client_set_string (config, CALENDAR_CONFIG_DAY_SECOND_ZONE, location ? location : "", NULL);
+ g_settings_set_string (config, "day-second-zone", location ? location : "");
}
/* location of the second time zone user has selected. Free with g_free. */
@@ -384,7 +384,7 @@ calendar_config_get_day_second_zone (void)
{
calendar_config_init ();
- return gconf_client_get_string (config, CALENDAR_CONFIG_DAY_SECOND_ZONE, NULL);
+ return g_settings_get_string (config, "day-second-zone");
}
void
@@ -424,15 +424,12 @@ calendar_config_select_day_second_zone (void)
g_object_unref (tzdlg);
}
-guint
-calendar_config_add_notification_day_second_zone (GConfClientNotifyFunc func,
+void
+calendar_config_add_notification_day_second_zone (CalendarConfigChangedFunc func,
gpointer data)
{
- guint id;
-
calendar_config_init ();
- id = gconf_client_notify_add (config, CALENDAR_CONFIG_DAY_SECOND_ZONE, func, data, NULL, NULL);
-
- return id;
+ g_signal_connect (G_OBJECT (config), "changed::day-second-zone",
+ G_CALLBACK (func), data);
}
diff --git a/calendar/gui/calendar-config.h b/calendar/gui/calendar-config.h
index 0be1e203c9..483fbbd667 100644
--- a/calendar/gui/calendar-config.h
+++ b/calendar/gui/calendar-config.h
@@ -28,9 +28,9 @@
#ifndef _CALENDAR_CONFIG_H_
#define _CALENDAR_CONFIG_H_
+#include <gio/gio.h>
#include <gdk/gdk.h>
#include <libecal/e-cal-client.h>
-#include <gconf/gconf-client.h>
#include <e-util/e-util-enums.h>
/* These are used to get/set the working days in the week. The bit-flags are
@@ -47,7 +47,11 @@ typedef enum
CAL_SATURDAY = 1 << 6
} CalWeekdays;
-void calendar_config_remove_notification (guint id);
+typedef void (* CalendarConfigChangedFunc) (GSettings *settings,
+ const gchar *key,
+ gpointer user_data);
+
+void calendar_config_remove_notification (CalendarConfigChangedFunc func, gpointer data);
/*
* Calendar Settings.
@@ -79,10 +83,11 @@ void calendar_config_free_day_second_zones (GSList *zones);
void calendar_config_set_day_second_zone (const gchar *location);
gchar * calendar_config_get_day_second_zone (void);
void calendar_config_select_day_second_zone (void);
-guint calendar_config_add_notification_day_second_zone (GConfClientNotifyFunc func, gpointer data);
+
+void calendar_config_add_notification_day_second_zone (CalendarConfigChangedFunc func, gpointer data);
/* Scroll in a month view by a week, not by a month */
gboolean calendar_config_get_month_scroll_by_week (void);
-guint calendar_config_add_notification_month_scroll_by_week (GConfClientNotifyFunc func, gpointer data);
+void calendar_config_add_notification_month_scroll_by_week (CalendarConfigChangedFunc func, gpointer data);
#endif /* _CALENDAR_CONFIG_H_ */
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 4fa0250838..d5eee61a87 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -34,13 +34,13 @@
#include <unistd.h>
#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
+#include <gio/gio.h>
#include <gdk/gdkkeysyms.h>
#include <libebackend/e-extensible.h>
#include <e-util/e-util.h>
#include <e-util/e-alert-sink.h>
#include <e-util/e-dialog-utils.h>
#include <e-util/e-util-private.h>
-#include <e-util/gconf-bridge.h>
#include <shell/e-shell.h>
#include <libedataserver/e-data-server-util.h>
@@ -71,6 +71,8 @@ struct _CompEditorPrivate {
gpointer shell; /* weak pointer */
+ GSettings *calendar_settings;
+
/* EFocusTracker keeps selection actions up-to-date. */
EFocusTracker *focus_tracker;
@@ -1637,6 +1639,7 @@ comp_editor_finalize (GObject *object)
priv = COMP_EDITOR (object)->priv;
+ g_object_unref (priv->calendar_settings);
g_free (priv->summary);
/* Chain up to parent's finalize() method. */
@@ -1653,39 +1656,35 @@ comp_editor_constructed (GObject *object)
}
static void
-comp_editor_bind_gconf (CompEditor *editor)
+comp_editor_bind_settings (CompEditor *editor)
{
- GConfBridge *bridge;
GtkAction *action;
- const gchar *key;
g_return_if_fail (editor != NULL);
- bridge = gconf_bridge_get ();
-
- key = "/apps/evolution/calendar/display/show_categories";
action = comp_editor_get_action (editor, "view-categories");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-categories",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
- key = "/apps/evolution/calendar/display/show_role";
action = comp_editor_get_action (editor, "view-role");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-role",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
- key = "/apps/evolution/calendar/display/show_rsvp";
action = comp_editor_get_action (editor, "view-rsvp");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-rsvp",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
- key = "/apps/evolution/calendar/display/show_status";
action = comp_editor_get_action (editor, "view-status");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-status",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
- key = "/apps/evolution/calendar/display/show_timezone";
action = comp_editor_get_action (editor, "view-time-zone");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-timezone",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
- key = "/apps/evolution/calendar/display/show_type";
action = comp_editor_get_action (editor, "view-type");
- gconf_bridge_bind_property (bridge, key, G_OBJECT (action), "active");
+ g_settings_bind (editor->priv->calendar_settings, "editor-show-type",
+ G_OBJECT (action), "active", G_SETTINGS_BIND_DEFAULT);
}
static gboolean
@@ -1981,6 +1980,8 @@ comp_editor_init (CompEditor *editor)
active_editors = g_list_prepend (active_editors, editor);
+ priv->calendar_settings = g_settings_new ("org.gnome.evolution.calendar");
+
/* Each editor window gets its own window group. */
window = GTK_WINDOW (editor);
priv->window_group = gtk_window_group_new ();
@@ -2190,7 +2191,7 @@ comp_editor_init (CompEditor *editor)
store, "row-inserted",
G_CALLBACK (attachment_store_changed_cb), editor);
- comp_editor_bind_gconf (editor);
+ comp_editor_bind_settings (editor);
gtk_application_add_window (
GTK_APPLICATION (shell), GTK_WINDOW (editor));
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c
index 0da5afc618..2a762e411d 100644
--- a/calendar/gui/e-calendar-view.c
+++ b/calendar/gui/e-calendar-view.c
@@ -1571,7 +1571,7 @@ e_calendar_view_new_appointment_full (ECalendarView *cal_view,
gint time_div = e_calendar_view_get_time_divisions (cal_view);
gint hours, mins;
- if (!time_div) /* Possible if your gconf values aren't so nice */
+ if (!time_div) /* Possible if your settings values aren't so nice */
time_div = 30;
if (time_day_begin (now) == time_day_begin (dtstart)) {
diff --git a/calendar/gui/e-day-view-time-item.c b/calendar/gui/e-day-view-time-item.c
index 928a91bbfb..c901b82013 100644
--- a/calendar/gui/e-day-view-time-item.c
+++ b/calendar/gui/e-day-view-time-item.c
@@ -65,7 +65,6 @@ struct _EDayViewTimeItemPrivate {
gboolean dragging_selection;
/* The second timezone if shown, or else NULL. */
- guint second_zone_changed_id;
icaltimezone *second_zone;
};
@@ -109,9 +108,8 @@ static gint e_day_view_time_item_convert_position_to_row
(EDayViewTimeItem *time_item,
gint y);
-static void edvti_second_zone_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
+static void edvti_second_zone_changed_cb (GSettings *settings,
+ const gchar *key,
gpointer user_data);
enum {
@@ -178,9 +176,7 @@ day_view_time_item_finalize (GObject *object)
time_item = E_DAY_VIEW_TIME_ITEM (object);
- if (time_item->priv->second_zone_changed_id)
- calendar_config_remove_notification (time_item->priv->second_zone_changed_id);
- time_item->priv->second_zone_changed_id = 0;
+ calendar_config_remove_notification ((CalendarConfigChangedFunc) edvti_second_zone_changed_cb, time_item);
/* Chain up to parent's dispose() method. */
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -238,9 +234,9 @@ day_view_time_item_init (EDayViewTimeItem *time_item)
g_free (last);
}
- time_item->priv->second_zone_changed_id =
- calendar_config_add_notification_day_second_zone (
- edvti_second_zone_changed_cb, time_item);
+ calendar_config_add_notification_day_second_zone (
+ (CalendarConfigChangedFunc) edvti_second_zone_changed_cb,
+ time_item);
}
GType
@@ -732,9 +728,8 @@ e_day_view_time_item_event (GnomeCanvasItem *item,
}
static void
-edvti_second_zone_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
+edvti_second_zone_changed_cb (GSettings *settings,
+ const gchar *key,
gpointer user_data)
{
EDayViewTimeItem *time_item = user_data;
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index 036b6192f5..4b2eeb02bf 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -638,6 +638,22 @@ week_view_cursor_key_right (EWeekView *week_view)
}
static void
+month_scrol_by_week_changed_cb (GSettings *settings,
+ const gchar *key,
+ gpointer user_data)
+{
+ EWeekView *week_view = user_data;
+
+ g_return_if_fail (week_view != NULL);
+ g_return_if_fail (E_IS_WEEK_VIEW (week_view));
+
+ if (week_view->multi_week_view && week_view->month_scroll_by_week != calendar_config_get_month_scroll_by_week ()) {
+ week_view->multi_week_view = FALSE;
+ e_week_view_set_multi_week_view (week_view, TRUE);
+ }
+}
+
+static void
e_week_view_class_init (EWeekViewClass *class)
{
GObjectClass *object_class;
@@ -895,10 +911,7 @@ e_week_view_dispose (GObject *object)
week_view->resize_width_cursor = NULL;
}
- if (week_view->scroll_by_week_notif_id) {
- calendar_config_remove_notification (week_view->scroll_by_week_notif_id);
- week_view->scroll_by_week_notif_id = 0;
- }
+ calendar_config_remove_notification (month_scrol_by_week_changed_cb, week_view);
/* Chain up to parent's dispose() method. */
G_OBJECT_CLASS (e_week_view_parent_class)->dispose (object);
@@ -1875,23 +1888,6 @@ e_week_view_recalc_day_starts (EWeekView *week_view,
}
}
-static void
-month_scrol_by_week_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- gpointer user_data)
-{
- EWeekView *week_view = user_data;
-
- g_return_if_fail (week_view != NULL);
- g_return_if_fail (E_IS_WEEK_VIEW (week_view));
-
- if (week_view->multi_week_view && week_view->month_scroll_by_week != calendar_config_get_month_scroll_by_week ()) {
- week_view->multi_week_view = FALSE;
- e_week_view_set_multi_week_view (week_view, TRUE);
- }
-}
-
gboolean
e_week_view_get_multi_week_view (EWeekView *week_view)
{
@@ -1919,8 +1915,7 @@ e_week_view_set_multi_week_view (EWeekView *week_view,
gtk_widget_show (week_view->titles_canvas);
week_view->month_scroll_by_week = calendar_config_get_month_scroll_by_week ();
- if (!week_view->scroll_by_week_notif_id)
- week_view->scroll_by_week_notif_id = calendar_config_add_notification_month_scroll_by_week (month_scrol_by_week_changed_cb, week_view);
+ calendar_config_add_notification_month_scroll_by_week (month_scrol_by_week_changed_cb, week_view);
if (week_view->month_scroll_by_week) {
page_increment = 1;
@@ -1934,7 +1929,7 @@ e_week_view_set_multi_week_view (EWeekView *week_view,
page_increment = page_size = 1;
if (week_view->scroll_by_week_notif_id) {
- calendar_config_remove_notification (week_view->scroll_by_week_notif_id);
+ calendar_config_remove_notification (month_scrol_by_week_changed_cb, week_view);
week_view->scroll_by_week_notif_id = 0;
}
}
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 66c90fb1c2..6fd51534b5 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -103,7 +103,6 @@ struct _GnomeCalendarPrivate {
* was selected in the date navigator to show the view. */
ECalendarView *views[GNOME_CAL_LAST_VIEW];
GnomeCalendarViewType current_view_type;
- GList *notifications;
gboolean range_selected;
@@ -1508,11 +1507,6 @@ gnome_calendar_do_dispose (GObject *object)
}
}
- for (l = priv->notifications; l; l = l->next)
- calendar_config_remove_notification (GPOINTER_TO_UINT (l->data));
- g_list_free (priv->notifications);
- priv->notifications = NULL;
-
free_dn_queries (gcal);
if (priv->sexp) {
diff --git a/calendar/importers/icalendar-importer.c b/calendar/importers/icalendar-importer.c
index 449cab0d24..3887780ed7 100644
--- a/calendar/importers/icalendar-importer.c
+++ b/calendar/importers/icalendar-importer.c
@@ -1023,13 +1023,13 @@ gnome_calendar_getwidget (EImport *ei,
EImportImporter *im)
{
GtkWidget *hbox, *w;
- GConfClient *gconf;
+ GSettings *settings;
gboolean done_cal, done_tasks;
- gconf = gconf_client_get_default ();
- done_cal = gconf_client_get_bool (gconf, "/apps/evolution/importer/gnome-calendar/calendar", NULL);
- done_tasks = gconf_client_get_bool (gconf, "/apps/evolution/importer/gnome-calendar/tasks", NULL);
- g_object_unref (gconf);
+ settings = g_settings_new ("org.gnome.evolution.importer");
+ done_cal = g_settings_get_boolean (settings, "gnome-calendar-done-calendar");
+ done_tasks = g_settings_get_boolean (settings, "gnome-calendar-done-tasks");
+ g_object_unref (settings);
g_datalist_set_data(&target->data, "gnomecal-do-cal", GINT_TO_POINTER(!done_cal));
g_datalist_set_data(&target->data, "gnomecal-do-tasks", GINT_TO_POINTER(!done_tasks));
@@ -1380,11 +1380,11 @@ get_users_timezone (void)
if (e_shell_settings_get_boolean (shell_settings, "cal-use-system-timezone")) {
location = e_cal_util_get_system_timezone_location ();
} else {
- GConfClient *client = gconf_client_get_default ();
+ GSettings *settings = g_settings_new ("org.gnome.evolution.calendar");
- location = gconf_client_get_string (client, CALENDAR_CONFIG_TIMEZONE, NULL);
+ location = g_settings_get_string (settings, "timezone");
- g_object_unref (client);
+ g_object_unref (settings);
}
if (location) {
diff --git a/configure.ac b/configure.ac
index 93f03bb8c6..f0234435a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -161,6 +161,8 @@ if test "x${GCC}" = "xyes"; then
CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
+GLIB_GSETTINGS
+
dnl ******************************
dnl I18N stuff
dnl ******************************
diff --git a/data/Makefile.am b/data/Makefile.am
index 3b17a94a3a..fb4c041c23 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -10,6 +10,28 @@ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
+gsettings_SCHEMAS = \
+ org.gnome.evolution.gschema.xml \
+ org.gnome.evolution.addressbook.gschema.xml \
+ org.gnome.evolution.calendar.gschema.xml \
+ org.gnome.evolution.importer.gschema.xml \
+ org.gnome.evolution.mail.gschema.xml \
+ org.gnome.evolution.shell.gschema.xml.in \
+ org.gnome.evolution.eplugin.attachment-reminder.gschema.xml \
+ org.gnome.evolution.eplugin.bogo-junk.gschema.xml \
+ org.gnome.evolution.eplugin.email-custom-header.gschema.xml \
+ org.gnome.evolution.eplugin.external-editor.gschema.xml \
+ org.gnome.evolution.eplugin.face-picture.gschema.xml \
+ org.gnome.evolution.eplugin.mail-notification.gschema.xml \
+ org.gnome.evolution.eplugin.templates.gschema.xml
+
+@INTLTOOL_XML_NOMERGE_RULE@
+
+@GSETTINGS_RULES@
+
+convertdir = $(datadir)/GConf/gsettings
+convert_DATA = evolution.convert
+
mimedir = $(datadir)/mime-info
dist_mime_DATA = evolution.mime
@@ -54,6 +76,11 @@ CLEANFILES = \
EXTRA_DIST = \
$(autostart_in_files) \
- $(desktop_in_files)
+ $(desktop_in_files) \
+ $(convert_DATA) \
+ $(gsettings_SCHEMAS:.xml=.xml.in.in)
+
+DISTCLEANFILES = \
+ $(gsettings_SCHEMAS)
-include $(top_srcdir)/git.mk
diff --git a/data/evolution.convert b/data/evolution.convert
new file mode 100644
index 0000000000..452ea39479
--- /dev/null
+++ b/data/evolution.convert
@@ -0,0 +1,217 @@
+[org.gnome.evolution]
+version = /apps/evolution/version
+last-upgraded-version = /apps/evolution/last_version
+
+[org.gnome.evolution.shell]
+skip-warning-dialog = /apps/evolution/shell/skip_warning_dialog
+attachment-view = /apps/evolution/shell/attachment_view
+file-chooser-folder = /apps/evolution/shell/file_chooser_folder
+start-offline = /apps/evolution/shell/start_offline
+folder-paths = /apps/evolution/shell/offline/folder_paths
+express-mode = /apps/evolution/shell/express_mode
+window-y = /apps/evolution/shell/view_defaults/window_y
+window-x = /apps/evolution/shell/view_defaults/window_x
+window-width = /apps/evolution/shell/view_defaults/window_width
+window-height = /apps/evolution/shell/view_defaults/window_height
+window-maximized = /apps/evolution/shell/view_defaults/window_maximized
+buttons-visible = /apps/evolution/shell/view_defaults/buttons_visible
+buttons-style = /apps/evolution/shell/view_defaults/buttons_style
+toolbar-visible = /apps/evolution/shell/view_defaults/toolbar_visible
+sidebar-visible = /apps/evolution/shell/view_defaults/sidebar_visible
+statusbar-visible = /apps/evolution/shell/view_defaults/statusbar_visible
+default-component-id = /apps/evolution/shell/view_defaults/component_id
+folder-bar-width = /apps/evolution/shell/view_defaults/folder_bar/width
+
+[org.gnome.evolution.addressbook]
+completion-minimum-query-length = /apps/evolution/addressbook/completion/minimum_query_length
+completion-show-address = /apps/evolution/addressbook/completion/show_address
+select-names-last-used-uri = /apps/evolution/addressbook/select_names/last_used_uri
+layout = /apps/evolution/addressbook/display/layout
+hpane-position = /apps/evolution/addressbook/display/hpane_position
+vpane-position = /apps/evolution/addressbook/display/vpane_position
+show-preview = /apps/evolution/addressbook/display/show_preview
+
+[org.gnome.evolution.calendar]
+audio-dir = /apps/evolution/calendar/audio_dir
+date-navigator-pane-position = /apps/evolution/calendar/display/date_navigator_pane_position
+day-second-zone = /apps/evolution/calendar/display/day_second_zone
+day-second-zones = /apps/evolution/calendar/display/day_second_zones
+day-second-zones-max = /apps/evolution/calendar/display/day_second_zones_max
+editor-show-categories = /apps/evolution/calendar/display/show_categories
+editor-show-role = /apps/evolution/calendar/display/show_role
+editor-show-rsvp = /apps/evolution/calendar/display/show_rsvp
+editor-show-status = /apps/evolution/calendar/display/show_status
+editor-show-timezone = /apps/evolution/calendar/display/show_timezone
+editor-show-type = /apps/evolution/calendar/display/show_type
+hide-completed-tasks = /apps/evolution/calendar/tasks/hide_completed
+hide-completed-tasks-units = /apps/evolution/calendar/tasks/hide_completed_units
+hide-completed-tasks-value = /apps/evolution/calendar/tasks/hide_completed_value
+hpane-position = /apps/evolution/calendar/display/hpane_position
+last-notification-time = /apps/evolution/calendar/notify/last_notification_time
+memo-hpane-position = /apps/evolution/calendar/display/memo_hpane_position
+memo-layout = /apps/evolution/calendar/display/memo_layout
+memo-vpane-position = /apps/evolution/calendar/display/memo_vpane_position
+month-hpane-position = /apps/evolution/calendar/display/month_hpane_position
+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
+selected-tasks = /apps/evolution/calendar/tasks/selected_tasks
+show-memo-preview = /apps/evolution/calendar/display/show_memo_preview
+show-task-preview = /apps/evolution/calendar/display/show_task_preview
+tag-vpane-position = /apps/evolution/calendar/display/tag_vpane_position
+task-hpane-position = /apps/evolution/calendar/display/task_hpane_position
+task-vpane-position = /apps/evolution/calendar/display/task_vpane_position
+task-layout = /apps/evolution/calendar/display/task_layout
+timezone = /apps/evolution/calendar/display/timezone
+use-24hour-format = /apps/evolution/calendar/display/use_24hour_format
+use-system-timezone = /apps/evolution/calendar/display/use_system_timezone
+working-days = /apps/evolution/calendar/display/working_days
+
+[org.gnome.evolution.importer]
+gnome-calendar-done-calendar = /apps/evolution/importer/gnome-calendar/calendar
+gnome-calendar-done-tasks = /apps/evolution/importer/gnome-calendar/tasks
+
+[org.gnome.evolution.mail]
+check-if-default-mailer = /apps/evolution/mail/prompts/checkdefault
+composer-charset = /apps/evolution/mail/composer/charset
+composer-inline-spelling = /apps/evolution/mail/composer/inline_spelling
+composer-magic-links = /apps/evolution/mail/composer/magic_links
+composer-magic-smileys = /apps/evolution/mail/composer/magic_smileys
+composer-group-reply-to-list = /apps/evolution/mail/composer/group_reply_to_list
+composer-reply-start-bottom = /apps/evolution/mail/composer/reply_start_bottom
+composer-request-receipt = /apps/evolution/mail/composer/request_receipt
+composer-send-html = /apps/evolution/mail/composer/send_html
+composer-spell-color = /apps/evolution/mail/composer/spell_color
+composer-spell-languages = /apps/evolution/mail/composer/spell_languages
+composer-show-bcc = /apps/evolution/mail/composer/show_mail_bcc
+composer-show-cc = /apps/evolution/mail/composer/show_mail_cc
+composer-show-reply-to = /apps/evolution/mail/composer/show_mail_reply_to
+composer-show-post-from = /apps/evolution/mail/composer/show_post_from
+composer-show-post-reply-to = /apps/evolution/mail/composer/show_post_reply_to
+composer-outlook-filenames = /apps/evolution/mail/composer/outlook_filenames
+composer-top-signature = /apps/evolution/mail/composer/top_signature
+composer-no-signature-delim = /apps/evolution/mail/composer/no_signature_delim
+composer-width = /apps/evolution/mail/composer/width
+composer-height = /apps/evolution/mail/composer/height
+composer-ignore-list-reply-to = /apps/evolution/mail/composer/ignore_list_reply_to
+show-animated-images = /apps/evolution/mail/display/animated_images
+side-bar-search = /apps/evolution/mail/display/side_bar_search
+no-folder-dots = /apps/evolution/mail/display/no_folder_dots
+magic-spacebar = /apps/evolution/mail/display/magic_spacebar
+global-view-setting = /apps/evolution/mail/display/global_view_setting
+mark-citations = /apps/evolution/mail/display/mark_citations
+citation-colour = /apps/evolution/mail/display/citation_colour
+caret-mode = /apps/evolution/mail/display/caret_mode
+charset = /apps/evolution/mail/display/charset
+load-http-images = /apps/evolution/mail/display/load_http_images
+animate-images = /apps/evolution/mail/display/animate_images
+shoe-all-headers = /apps/evolution/mail/display/show_all_headers
+headers = /apps/evolution/mail/display/headers
+show-sender-photo = /apps/evolution/mail/display/sender_photo
+photo-local = /apps/evolution/mail/display/photo_local
+mime-types = /apps/evolution/mail/display/mime_types
+mark-seen = /apps/evolution/mail/display/mark_seen
+mark-seen-timeout = /apps/evolution/mail/display/mark_seen_timeout
+show-email = /apps/evolution/mail/display/show_email
+vertical-view-fonts = /apps/evolution/mail/display/vertical_view_fonts
+show-deleted = /apps/evolution/mail/display/show_deleted
+enable-vfolders = /apps/evolution/mail/display/enable_vfolders
+safe-list = /apps/evolution/mail/display/safe_list
+paned-size = /apps/evolution/mail/display/paned_size
+hpaned-size = /apps/evolution/mail/display/hpaned_size
+layout = /apps/evolution/mail/display/layout
+variable-width-font = /apps/evolution/mail/display/fonts/variable
+monospace-font = /apps/evolution/mail/display/fonts/monospace
+use-custom-font = /apps/evolution/mail/display/fonts/use_custom
+address-compress = /apps/evolution/mail/display/address_compress
+force-message-limit = /apps/evolution/mail/display/force_message_limit
+message-text-part-limit = /apps/evolution/mail/display/message_text_part_limit
+address-count = /apps/evolution/mail/display/address_count
+thread-subject = /apps/evolution/mail/display/thread_subject
+thread-expand = /apps/evolution/mail/display/thread_expand
+thread-latest = /apps/evolution/mail/display/thread_latest
+mail-browser-width = /apps/evolution/mail/mail_browser_width
+mail-browser-height = /apps/evolution/mail/mail_browser_height
+mail-browser-maximized = /apps/evolution/mail/mail_browser_maximized
+subscription-editor-height = /apps/evolution/mail/subscription_editor_height
+subscription-editor-maximized = /apps/evolution/mail/subscription_editor_maximized
+subscription-editor-width = /apps/evolution/mail/subscription_editor_width
+filters-log-actions = /apps/evolution/mail/filters/log
+filters-log-file = /apps/evolution/mail/filters/logfile
+flush-outbox = /apps/evolution/mail/filters/flush-outbox
+forward-style = /apps/evolution/mail/format/forward_style
+reply-style = /apps/evolution/mail/format/reply_style
+message-display-style = /apps/evolution/mail/format/message_display_style
+prompt-on-empty-subject = /apps/evolution/mail/prompts/empty_subject
+prompt-on-expunge = /apps/evolution/mail/prompts/expunge
+prompt-on-only-bcc = /apps/evolution/mail/prompts/only_bcc
+prompt-on-unwanted-html = /apps/evolution/mail/prompts/unwanted_html
+prompt-on-open-many = /apps/evolution/mail/prompts/open_many
+prompt-on-mark-all-read = /apps/evolution/mail/prompts/mark_all_read
+prompt-on-delete-in-vfolder = /apps/evolution/mail/prompts/delete_in_vfolder
+prompt-on-private-list-reply = /apps/evolution/mail/prompts/private_list_reply
+prompt-on-list-reply-to = /apps/evolution/mail/prompts/list_reply_to
+prompt-on-reply-many-recips = /apps/evolution/mail/prompts/reply_many_recips
+prompt-on-reply-close-browser = /apps/evolution/mail/prompts/reply_close_browser
+trash-empty-on-exit = /apps/evolution/mail/trash/empty_on_exit
+trash-empty-on-exit-days = /apps/evolution/mail/trash/empty_on_exit_days
+trash-empty-date = /apps/evolution/mail/trash/empty_date
+error-timeout = /apps/evolution/mail/display/error_timeout
+error-level = /apps/evolution/mail/display/error_level
+show-real-date = /apps/evolution/mail/display/show_real_date
+labels = /apps/evolution/mail/labels
+junk-check-incoming = /apps/evolution/mail/junk/check_incoming
+junk-empty-on-exit = /apps/evolution/mail/junk/empty_on_exit
+junk-empty-on-exit-days = /apps/evolution/mail/junk/empty_on_exit_days
+junk-empty-date = /apps/evolution/mail/junk/empty_date
+junk-default-plugin = /apps/evolution/mail/junk/default_plugin
+junk-sa-local-only = /apps/evolution/mail/junk/sa/local_only
+junk-sa-use-daemon = /apps/evolution/mail/junk/sa/use_daemon
+junk-lookup-addressbook = /apps/evolution/mail/junk/lookup_addressbook
+junk-lookup-addressbook-local-only = /apps/evolution/mail/junk/lookup_addressbook_local_only
+junk-check-custom-header = /apps/evolution/mail/junk/check_custom_header
+junk-custom-header = /apps/evolution/mail/junk/custom_header
+default-account = /apps/evolution/mail/default_account
+save-dir = /apps/evolution/mail/save_dir
+composer-current-folder = /apps/evolution/mail/composer/current_folder
+filter-editor-height = /apps/evolution/mail/filter_editor_height
+filter-editor-maximized = /apps/evolution/mail/filter_editor_maximized
+filter-editor-width = /apps/evolution/mail/filter_editor_width
+send-recv-height = /apps/evolution/mail/send_recv_height
+send-recv-maximized = /apps/evolution/mail/send_recv_maximized
+send-recv-width = /apps/evolution/mail/send_recv_width
+vfolder-editor-height = /apps/evolution/mail/vfolder_editor_height
+vfolder-editor-maximized = /apps/evolution/mail/vfolder_editor_maximized
+vfolder-editor-width = /apps/evolution/mail/vfolder_editor_width
+sync-interval = /apps/evolution/mail/sync_interval
+
+[org.gnome.evolution.eplugin.attachment-reminder]
+attachment-reminder-clues = /apps/evolution/mail/attachment_reminder_clues
+
+[org.gnome.evolution.eplugin.bogo-junk]
+utf8-for-spam-filter = /apps/evolution/mail/junk/bogofilter/unicode
+
+[org.gnome.evolution.eplugin.email-custom-header]
+custom-header = /apps/evolution/eplugin/email_custom_header/customHeader
+
+[org.gnome.evolution.eplugin.external-editor]
+external-editor-command = /apps/evolution/eplugin/external-editor/editor-command
+external-editor-launch-on-key-press = /apps/evolution/eplugin/external-editor/launch-on-key-press
+
+[org.gnome.evolution.eplugin.face-picture]
+insert-face-picture = /apps/evolution/eplugin/face/insert_by_default
+
+[org.gnome.evolution.eplugin.mail-notification]
+notify-only-inbox = /apps/evolution/eplugin/mail-notification/notify-only-inbox
+notify-dbus-enabled = /apps/evolution/eplugin/mail-notification/dbus-enabled
+notify-status-enabled = /apps/evolution/eplugin/mail-notification/status-enabled
+notify-status-notification = /apps/evolution/eplugin/mail-notification/status-notification
+notify-sound-enabled = /apps/evolution/eplugin/mail-notification/sound-enabled
+notify-sound-beep = /apps/evolution/eplugin/mail-notification/sound-beep
+notify-sound-file = /apps/evolution/eplugin/mail-notification/sound-file
+notify-sound-use-theme = /apps/evolution/eplugin/mail-notification/sound-use-theme
+
+[org.gnome.evolution.eplugin.templates]
+template-placeholders = /apps/evolution/mail/template_placeholders
diff --git a/data/org.gnome.evolution.addressbook.gschema.xml.in b/data/org.gnome.evolution.addressbook.gschema.xml.in
new file mode 100644
index 0000000000..f4f1a556c7
--- /dev/null
+++ b/data/org.gnome.evolution.addressbook.gschema.xml.in
@@ -0,0 +1,39 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.addressbook" path="/org/gnome/evolution/addressbook/">
+ <key name="completion-minimum-query-length" type="i">
+ <default>3</default>
+ <_summary>Autocomplete length</_summary>
+ <_description>The number of characters that must be typed before Evolution will attempt to autocomplete.</_description>
+ </key>
+ <key name="completion-show-address" type="b">
+ <default>false</default>
+ <_summary>Show autocompleted name with an address</_summary>
+ <_description>Whether force showing the mail address with the name of the autocompleted contact in the entry.</_description>
+ </key>
+ <key name="select-names-last-used-uri" type="s">
+ <default>''</default>
+ <_summary>URI for the folder last used in the select names dialog</_summary>
+ <_description>URI for the folder last used in the select names dialog.</_description>
+ </key>
+ <key name="layout" type="i">
+ <default>0</default>
+ <_summary>Contact layout style</_summary>
+ <_description>The layout style determines where to place the preview pane in relation to the contact list. "0" (Classic View) places the preview pane below the contact list. "1" (Vertical View) places the preview pane next to the contact list.</_description>
+ </key>
+ <key name="hpane-position" type="i">
+ <default>200</default>
+ <_summary>Contact preview pane position (horizontal)</_summary>
+ <_description>Position of the contact preview pane when oriented horizontally.</_description>
+ </key>
+ <key name="vpane-position" type="i">
+ <default>400</default>
+ <_summary>Contact preview pane position (vertical)</_summary>
+ <_description>Position of the contact preview pane when oriented vertically.</_description>
+ </key>
+ <key name="show-preview" type="b">
+ <default>true</default>
+ <_summary>Show preview pane</_summary>
+ <_description>Whether to show the preview pane.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.calendar.gschema.xml.in b/data/org.gnome.evolution.calendar.gschema.xml.in
new file mode 100644
index 0000000000..cc32a3c36d
--- /dev/null
+++ b/data/org.gnome.evolution.calendar.gschema.xml.in
@@ -0,0 +1,184 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.calendar" path="/org/gnome/evolution/calendar/">
+ <key name="audio-dir" type="s">
+ <default>''</default>
+ <_summary>Save directory for reminder audio</_summary>
+ <_description>Directory for saving reminder audio files</_description>
+ </key>
+ <key name="date-navigator-pane-position" type="i">
+ <default>150</default>
+ <_summary>Month view vertical pane position</_summary>
+ <_description>Position of the vertical pane, between the calendar lists and the date navigator calendar</_description>
+ </key>
+ <key name="day-second-zone" type="s">
+ <default>''</default>
+ <_summary>The second timezone for a Day View</_summary>
+ <_description>Shows the second time zone in a Day View, if set. Value is similar to one used in a 'timezone' key</_description>
+ </key>
+ <key name="day-second-zones" type="as">
+ <default>[]</default>
+ <_summary>Recently used second time zones in a Day View</_summary>
+ <_description>List of recently used second time zones in a Day View</_description>
+ </key>
+ <key name="day-second-zones-max" type="i">
+ <default>5</default>
+ <_summary>Maximum number of recently used timezones to remember</_summary>
+ <_description>Maximum number of recently used timezones to remember in a 'day-second-zones' list</_description>
+ </key>
+ <key name="editor-show-categories" type="b">
+ <default>false</default>
+ <_summary>Show categories field in the event/meeting/task editor</_summary>
+ <_description>Whether to show categories field in the event/meeting editor</_description>
+ </key>
+ <key name="editor-show-role" type="b">
+ <default>true</default>
+ <_summary>Show Role field in the event/task/meeting editor</_summary>
+ <_description>Whether to show role field in the event/task/meeting editor</_description>
+ </key>
+ <key name="editor-show-rsvp" type="b">
+ <default>false</default>
+ <_summary>Show RSVP field in the event/task/meeting editor</_summary>
+ <_description>Whether to show RSVP field in the event/task/meeting editor</_description>
+ </key>
+ <key name="editor-show-status" type="b">
+ <default>false</default>
+ <_summary>Show status field in the event/task/meeting editor</_summary>
+ <_description>Whether to show status field in the event/task/meeting editor</_description>
+ </key>
+ <key name="editor-show-timezone" type="b">
+ <default>false</default>
+ <_summary>Show timezone field in the event/meeting editor</_summary>
+ <_description>Whether to show timezone field in the event/meeting editor</_description>
+ </key>
+ <key name="editor-show-type" type="b">
+ <default>false</default>
+ <_summary>Show type field in the event/task/meeting editor</_summary>
+ <_description>Whether to show type field in the event/task/meeting editor</_description>
+ </key>
+ <key name="hide-completed-tasks" type="b">
+ <default>false</default>
+ <_summary>Hide completed tasks</_summary>
+ <_description>Whether to hide completed tasks in the tasks view</_description>
+ </key>
+ <key name="hide-completed-tasks-units" type="s">
+ <default>'days'</default>
+ <_summary>Hide task units</_summary>
+ <_description>Units for determining when to hide tasks, "minutes", "hours" or "days"</_description>
+ </key>
+ <key name="hide-completed-tasks-value" type="i">
+ <default>1</default>
+ <_summary>Hide task value</_summary>
+ <_description>Number of units for determining when to hide tasks</_description>
+ </key>
+ <key name="hpane-position" type="i">
+ <default>400</default>
+ <_summary>Horizontal pane position</_summary>
+ <_description>Position of the horizontal pane, between the date navigator calendar and the task list when not in the month view, in pixels</_description>
+ </key>
+ <key name="last-notification-time" type="i">
+ <default>1</default>
+ <_summary>Last reminder time</_summary>
+ <_description>Time the last reminder ran, in time_t</_description>
+ </key>
+ <key name="memo-hpane-position" type="i">
+ <default>200</default>
+ <_summary>Memo preview pane position (horizontal)</_summary>
+ <_description>Position of the task preview pane when oriented horizontally</_description>
+ </key>
+ <key name="memo-layout" type="i">
+ <default>0</default>
+ <_summary>Memo layout style</_summary>
+ <_description>The layout style determines where to place the preview pane in relation to the memo list. "0" (Classic View) places the preview pane below the memo list. "1" (Vertical View) places the preview pane next to the memo list</_description>
+ </key>
+ <key name="memo-vpane-position" type="i">
+ <default>400</default>
+ <_summary>Memo preview pane position (vertical)</_summary>
+ <_description>Position of the memo preview pane when oriented vertically</_description>
+ </key>
+ <key name="month-hpane-position" type="i">
+ <default>32000</default>
+ <_summary>Month view horizontal pane position</_summary>
+ <_description>Position of the horizontal pane, between the view and the date navigator calendar and task list in the month view, in pixels</_description>
+ </key>
+ <key name="month-scroll-by-week" type="b">
+ <default>true</default>
+ <_summary>Scroll Month View by a week, not by a month</_summary>
+ <_description>Whether to scroll a Month View by a week, not by a month</_description>
+ </key>
+ <key name="notify-programs" type="as">
+ <default>[]</default>
+ <_summary>Reminder programs</_summary>
+ <_description>Programs that are allowed to be run by reminders</_description>
+ </key>
+ <key name="notify-with-tray" type="b">
+ <default>false</default>
+ <_summary>Show display reminders in notification tray</_summary>
+ <_description>Whether or not to use the notification tray for display reminders</_description>
+ </key>
+ <key name="selected-calendars" type="as">
+ <default>[]</default>
+ <_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 memo lists</_summary>
+ <_description>List of memo lists to load</_description>
+ </key>
+ <key name="selected-tasks" type="as">
+ <default>[]</default>
+ <_summary>List of selected task lists</_summary>
+ <_description>List of task lists to load</_description>
+ </key>
+ <key name="show-memo-preview" type="b">
+ <default>true</default>
+ <_summary>Show the memo preview pane</_summary>
+ <_description>If "true", show the memo preview pane in the main window</_description>
+ </key>
+ <key name="show-task-preview" type="b">
+ <default>true</default>
+ <_summary>Show the task preview pane</_summary>
+ <_description>If "true", show the task preview pane in the main window</_description>
+ </key>
+ <key name="tag-vpane-position" type="i">
+ <default>0</default>
+ <_summary>Vertical position for the tag pane</_summary>
+ <_description>Vertical position for the tag pane</_description>
+ </key>
+ <key name="task-hpane-position" type="i">
+ <default>200</default>
+ <_summary>Task preview pane position (horizontal)</_summary>
+ <_description>Position of the task preview pane when oriented horizontally</_description>
+ </key>
+ <key name="task-layout" type="i">
+ <default>0</default>
+ <_summary>Task layout style</_summary>
+ <_description>The layout style determines where to place the preview pane in relation to the task list. "0" (Classic View) places the preview pane below the task list. "1" (Vertical View) places the preview pane next to the task list</_description>
+ </key>
+ <key name="task-vpane-position" type="i">
+ <default>400</default>
+ <_summary>Task preview pane position (vertical)</_summary>
+ <_description>Position of the task preview pane when oriented vertically</_description>
+ </key>
+ <key name="timezone" type="s">
+ <default>'UTC'</default>
+ <_summary>Timezone</_summary>
+ <_description>The default timezone to use for dates and times in the calendar, as an untranslated Olsen timezone database location like "America/New York"</_description>
+ </key>
+ <key name="use-24hour-format" type="b">
+ <default>false</default>
+ <_summary>Twenty four hour time format</_summary>
+ <_description>Whether to show times in twenty four hour format instead of using am/pm</_description>
+ </key>
+ <key name="use-system-timezone" type="b">
+ <default>true</default>
+ <_summary>Use system timezone</_summary>
+ <_description>Use the system timezone instead of the timezone selected in Evolution</_description>
+ </key>
+ <key name="working-days" type="i">
+ <default>62</default>
+ <_summary>Work days</_summary>
+ <_description>Days on which the start and end of work hours should be indicated</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.attachment-reminder.gschema.xml.in b/data/org.gnome.evolution.eplugin.attachment-reminder.gschema.xml.in
new file mode 100644
index 0000000000..71fa2afaa7
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.attachment-reminder.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.attachment-reminder" path="/org/gnome/evolution/eplugin/attachment-reminder/">
+ <key name="attachment-reminder-clues" type="as">
+ <default>['attachment','attaching','attached','enclosed']</default>
+ <_summary>List of clues for the attachment reminder plugin to look for in a message body</_summary>
+ <_description>List of clues for the attachment reminder plugin to look for in a message body.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.bogo-junk.gschema.xml.in b/data/org.gnome.evolution.eplugin.bogo-junk.gschema.xml.in
new file mode 100644
index 0000000000..84ad60a66c
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.bogo-junk.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.bogo-junk" path="/org/gnome/evolution/eplugin/bogo-junk/">
+ <key name="utf8-for-spam-filter" type="b">
+ <default>true</default>
+ <_summary>Convert mail messages to Unicode</_summary>
+ <_description>Convert message text to Unicode UTF-8 to unify spam/ham tokens coming from different character sets.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.email-custom-header.gschema.xml.in b/data/org.gnome.evolution.eplugin.email-custom-header.gschema.xml.in
new file mode 100644
index 0000000000..a82c18170d
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.email-custom-header.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.email-custom-header" path="/org/gnome/evolution/eplugin/email-custom-header/">
+ <key name="custom-header" type="as">
+ <default>['Security=Personal;Unclassified;Protected;InConfidence;Secret;Topsecret']</default>
+ <_summary>List of Custom Headers</_summary>
+ <_description>The key specifies the list of custom headers that you can add to an outgoing message. The format for specifying a Header and Header value is: Name of the custom header followed by "=" and the values separated by ";"</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.external-editor.gschema.xml.in b/data/org.gnome.evolution.eplugin.external-editor.gschema.xml.in
new file mode 100644
index 0000000000..114cfd3990
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.external-editor.gschema.xml.in
@@ -0,0 +1,14 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.external-editor" path="/org/gnome/evolution/eplugin/external-editor/">
+ <key name="external-editor-command" type="s">
+ <default>'gedit'</default>
+ <_summary>Default External Editor</_summary>
+ <_description>The default command that must be used as the editor.</_description>
+ </key>
+ <key name="external-editor-launch-on-key-press" type="b">
+ <default>false</default>
+ <_summary>Automatically launch when a new mail is edited</_summary>
+ <_description>Automatically launch editor when key is pressed in the mail composer.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.face-picture.gschema.xml.in b/data/org.gnome.evolution.eplugin.face-picture.gschema.xml.in
new file mode 100644
index 0000000000..a5430b7fdd
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.face-picture.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.face-picture" path="/org/gnome/evolution/eplugin/face-picture/">
+ <key name="insert-face-picture" type="b">
+ <default>false</default>
+ <_summary>Insert Face picture by default</_summary>
+ <_description>Whether insert Face picture to outgoing messages by default. The picture should be set before checking this, otherwise nothing happens.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.mail-notification.gschema.xml.in b/data/org.gnome.evolution.eplugin.mail-notification.gschema.xml.in
new file mode 100644
index 0000000000..d70313e25c
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.mail-notification.gschema.xml.in
@@ -0,0 +1,44 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.mail-notification" path="/org/gnome/evolution/eplugin/mail-notification/">
+ <key name="notify-only-inbox" type="b">
+ <default>true</default>
+ <_summary>Notify new messages for Inbox only.</_summary>
+ <_description>Whether to notify new messages in Inbox folder only.</_description>
+ </key>
+ <key name="notify-dbus-enabled" type="b">
+ <default>true</default>
+ <_summary>Enable D-Bus messages.</_summary>
+ <_description>Generates a D-Bus message when new mail messages arrive.</_description>
+ </key>
+ <key name="notify-status-enabled" type="b">
+ <default>true</default>
+ <_summary>Enable icon in notification area.</_summary>
+ <_description>Show new mail icon in notification area when new messages arrive.</_description>
+ </key>
+ <key name="notify-status-notification" type="b">
+ <default>true</default>
+ <_summary>Popup message together with the icon.</_summary>
+ <_description>Whether show message over the icon when new messages arrive.</_description>
+ </key>
+ <key name="notify-sound-enabled" type="b">
+ <default>true</default>
+ <_summary>Play sound when new messages arrive.</_summary>
+ <_description>Whether play sound or beep when new messages arrive.</_description>
+ </key>
+ <key name="notify-sound-beep" type="b">
+ <default>true</default>
+ <_summary>Beep or play sound file.</_summary>
+ <_description>If "true", then beep, otherwise will play sound file when new messages arrive.</_description>
+ </key>
+ <key name="notify-sound-file" type="s">
+ <default>''</default>
+ <_summary>Sound file name to be played.</_summary>
+ <_description>Sound file to be played when new messages arrive, if not in beep mode.</_description>
+ </key>
+ <key name="notify-sound-use-theme" type="b">
+ <default>false</default>
+ <_summary>Use sound theme</_summary>
+ <_description>Play themed sound when new messages arrive, if not in beep mode.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.eplugin.templates.gschema.xml.in b/data/org.gnome.evolution.eplugin.templates.gschema.xml.in
new file mode 100644
index 0000000000..5fe07aab07
--- /dev/null
+++ b/data/org.gnome.evolution.eplugin.templates.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.eplugin.templates" path="/org/gnome/evolution/eplugin/templates/">
+ <key name="template-placeholders" type="as">
+ <default>['myphone=012345','myplace=Abcd','myname=Alice']</default>
+ <_summary>List of keyword/value pairs for the Templates plugin to substitute in a message body.</_summary>
+ <_description>List of keyword/value pairs for the Templates plugin to substitute in a message body.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.gschema.xml.in b/data/org.gnome.evolution.gschema.xml.in
new file mode 100644
index 0000000000..6ae4388a5e
--- /dev/null
+++ b/data/org.gnome.evolution.gschema.xml.in
@@ -0,0 +1,14 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution" path="/org/gnome/evolution/">
+ <key name="version" type="s">
+ <default>''</default>
+ <_summary>Configuration version</_summary>
+ <_description>The configuration version of Evolution, with major/minor/configuration level (for example "2.6.0").</_description>
+ </key>
+ <key name="last-upgraded-version" type="s">
+ <default>''</default>
+ <_summary>Last upgraded configuration version</_summary>
+ <_description>The last upgraded configuration version of Evolution, with major/minor/configuration level (for example "2.6.0").</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.importer.gschema.xml.in b/data/org.gnome.evolution.importer.gschema.xml.in
new file mode 100644
index 0000000000..83b3de78a2
--- /dev/null
+++ b/data/org.gnome.evolution.importer.gschema.xml.in
@@ -0,0 +1,14 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.importer" path="/org/gnome/evolution/importer/">
+ <key name="gnome-calendar-done-calendar" type="b">
+ <default>false</default>
+ <_summary>Gnome Calendar's calendar import done</_summary>
+ <_description>Whether calendar from Gnome Calendar has been imported or not</_description>
+ </key>
+ <key name="gnome-calendar-done-tasks" type="b">
+ <default>false</default>
+ <_summary>Gnome Calendar's tasks import done</_summary>
+ <_description>Whether tasks from Gnome Calendar have been imported or not</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.mail.gschema.xml.in b/data/org.gnome.evolution.mail.gschema.xml.in
new file mode 100644
index 0000000000..868021c1cd
--- /dev/null
+++ b/data/org.gnome.evolution.mail.gschema.xml.in
@@ -0,0 +1,569 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.mail" path="/org/gnome/evolution/mail/">
+ <key name="check-if-default-mailer" type="b">
+ <default>true</default>
+ <_summary>Check whether Evolution is the default mailer</_summary>
+ <_description>Every time Evolution starts, check whether or not it is the default mailer.</_description>
+ </key>
+ <key name="composer-charser" type="s">
+ <default>''</default>
+ <_summary>Default charset in which to compose messages</_summary>
+ <_description>Default charset in which to compose messages.</_description>
+ </key>
+ <key name="composer-inline-spelling" type="b">
+ <default>true</default>
+ <_summary>Spell check inline</_summary>
+ <_description>Draw spelling error indicators on words as you type.</_description>
+ </key>
+ <key name="composer-magic-links" type="b">
+ <default>true</default>
+ <_summary>Automatic link recognition</_summary>
+ <_description>Recognize links in text and replace them.</_description>
+ </key>
+ <key name="composer-magic-smileys" type="b">
+ <default>false</default>
+ <_summary>Automatic emoticon recognition</_summary>
+ <_description>Recognize emoticons in text and replace them with images.</_description>
+ </key>
+ <key name="composer-group-reply-to-list" type="b">
+ <default>false</default>
+ <_summary>Group Reply replies to list</_summary>
+ <_description>Instead of the normal "Reply to All" behaviour, this option will make the 'Group Reply' toolbar button try to reply only to the mailing list through which you happened to receive the copy of the message to which you're replying.</_description>
+ </key>
+ <key name="composer-reply-start-bottom" type="b">
+ <default>false</default>
+ <_summary>Put the cursor at the bottom of replies</_summary>
+ <_description>Users get all up in arms over where the cursor should go when replying to a message. This determines whether the cursor is placed at the top of the message or the bottom.</_description>
+ </key>
+ <key name="composer-request-receipt" type="b">
+ <default>false</default>
+ <_summary>Always request read receipt</_summary>
+ <_description>Whether a read receipt request gets added to every message by default.</_description>
+ </key>
+ <key name="composer-send-html" type="b">
+ <default>false</default>
+ <_summary>Send HTML mail by default</_summary>
+ <_description>Send HTML mail by default.</_description>
+ </key>
+ <key name="composer-spell-color" type="s">
+ <default>'#FFFF00000000'</default>
+ <_summary>Spell checking color</_summary>
+ <_description>Underline color for misspelled words when using inline spelling.</_description>
+ </key>
+ <key name="composer-spell-languages" type="as">
+ <default>[]</default>
+ <_summary>Spell checking languages</_summary>
+ <_description>List of dictionary language codes used for spell checking.</_description>
+ </key>
+ <key name="composer-show-bcc" type="b">
+ <default>false</default>
+ <_summary>Show "Bcc" field when sending a mail message</_summary>
+ <_description>Show the "Bcc" field when sending a mail message. This is controlled from the View menu when a mail account is chosen.</_description>
+ </key>
+ <key name="composer-show-cc" type="b">
+ <default>true</default>
+ <_summary>Show "Cc" field when sending a mail message</_summary>
+ <_description>Show the "Cc" field when sending a mail message. This is controlled from the View menu when a mail account is chosen.</_description>
+ </key>
+ <key name="composer-show-reply-to" type="b">
+ <default>false</default>
+ <_summary>Show "Reply To" field when sending a mail message</_summary>
+ <_description>Show the "Reply To" field when sending a mail message. This is controlled from the View menu when a mail account is chosen.</_description>
+ </key>
+ <key name="composer-show-post-from" type="b">
+ <default>true</default>
+ <_summary>Show "From" field when posting to a newsgroup</_summary>
+ <_description>Show the "From" field when posting to a newsgroup. This is controlled from the View menu when a news account is chosen.</_description>
+ </key>
+ <key name="composer-show-post-reply-to" type="b">
+ <default>false</default>
+ <_summary>Show "Reply To" field when posting to a newsgroup</_summary>
+ <_description>Show the "Reply To" field when posting to a newsgroup. This is controlled from the View menu when a news account is chosen.</_description>
+ </key>
+ <key name="composer-outlook-filenames" type="b">
+ <default>false</default>
+ <_summary>Encode file names in an Outlook/GMail way</_summary>
+ <_description>Encode file names in the mail headers same as Outlook or GMail do, to let them display correctly file names with UTF-8 letters sent by Evolution, because they do not follow the RFC 2231, but use the incorrect RFC 2047 standard.</_description>
+ </key>
+ <key name="composer-top-signature" type="b">
+ <default>false</default>
+ <_summary>Put personalized signatures at the top of replies</_summary>
+ <_description>Users get all up in arms over where their signature should go when replying to a message. This determines whether the signature is placed at the top of the message or the bottom.</_description>
+ </key>
+ <key name="composer-no-signature-delim" type="b">
+ <default>false</default>
+ <_summary>Do not add signature delimiter</_summary>
+ <_description>Set to TRUE in case you do not want to add signature delimiter before your signature when composing a mail.</_description>
+ </key>
+ <key name="composer-width" type="i">
+ <default>600</default>
+ <_summary>Composer Window default width</_summary>
+ <_description>Default width of the Composer Window.</_description>
+ </key>
+ <key name="composer-height" type="i">
+ <default>500</default>
+ <_summary>Composer Window default height</_summary>
+ <_description>Default height of the Composer Window.</_description>
+ </key>
+ <key name="composer-ignore-list-reply-to" type="b">
+ <default>false</default>
+ <_summary>Ignore list Reply-To:</_summary>
+ <_description>Some mailing lists set a Reply-To: header to trick users into sending replies to the list, even when they ask Evolution to make a private reply. Setting this option to TRUE will attempt to ignore such Reply-To: headers, so that Evolution will do as you ask it. If you use the private reply action, it will reply privately, while if you use the 'Reply to List' action it will do that. It works by comparing the Reply-To: header with a List-Post: header, if there is one.</_description>
+ </key>
+ <key name="show-animated-images" type="b">
+ <default>false</default>
+ <_summary>Show image animations</_summary>
+ <_description>Enable animated images in HTML mail. Many users find animated images annoying and prefer to see a static image instead.</_description>
+ </key>
+ <key name="side-bar-search" type="b">
+ <default>true</default>
+ <_summary>Enable or disable type ahead search feature</_summary>
+ <_description>Enable the side bar search feature to allow interactive searching of folder names.</_description>
+ </key>
+ <key name="no-folder-dots" type="b">
+ <default>false</default>
+ <_summary>Disable or enable ellipsizing of folder names in side bar</_summary>
+ <_description>Whether disable ellipsizing feature of folder names in side bar.</_description>
+ </key>
+ <key name="magic-spacebar" type="b">
+ <default>true</default>
+ <_summary>Enable or disable magic space bar</_summary>
+ <_description>Enable this to use Space bar key to scroll in message preview, message list and folders.</_description>
+ </key>
+ <key name="global-view-setting" type="b">
+ <default>false</default>
+ <_summary>Enable to use a similar message list view settings for all folders</_summary>
+ <_description>Enable to use a similar message list view settings for all folders.</_description>
+ </key>
+ <key name="mark-citations" type="b">
+ <default>true</default>
+ <_summary>Mark citations in the message "Preview"</_summary>
+ <_description>Mark citations in the message "Preview".</_description>
+ </key>
+ <key name="citation-colour" type="s">
+ <default>'#737373'</default>
+ <_summary>Citation highlight color</_summary>
+ <_description>Citation highlight color.</_description>
+ </key>
+ <key name="caret-mode" type="b">
+ <default>false</default>
+ <_summary>Enable/disable caret mode</_summary>
+ <_description>Enable caret mode, so that you can see a cursor when reading mail.</_description>
+ </key>
+ <key name="charset" type="s">
+ <default>''</default>
+ <_summary>Default charset in which to display messages</_summary>
+ <_description>Default charset in which to display messages.</_description>
+ </key>
+ <key name="load-http-images" type="i">
+ <default>0</default>
+ <_summary>Load images for HTML messages over HTTP</_summary>
+ <_description>
+ Load images for HTML messages over HTTP(S). Possible values are:
+ "0" - Never load images off the net.
+ "1" - Load images in messages from contacts.
+ "2" - Always load images off the net.
+ </_description>
+ </key>
+ <key name="animate-images" type="b">
+ <default>true</default>
+ <_summary>Show Animations</_summary>
+ <_description>Show animated images as animations.</_description>
+ </key>
+ <key name="show-all-headers" type="b">
+ <default>false</default>
+ <_summary>Show all message headers</_summary>
+ <_description>Show all the headers when viewing a messages.</_description>
+ </key>
+ <key name="headers" type="as">
+ <default>[]</default>
+ <_summary>List of custom headers and whether they are enabled.</_summary>
+ <_description>This key should contain a list of XML structures specifying custom headers, and whether they are to be displayed. The format of the XML structure is &lt;header enabled&gt; - set enabled if the header is to be displayed in the mail view.</_description>
+ </key>
+ <key name="show-sender-photo" type="b">
+ <default>false</default>
+ <_summary>Show photo of the sender</_summary>
+ <_description>Show the photo of the sender in the message reading pane.</_description>
+ </key>
+ <key name="photo-local" type="b">
+ <default>true</default>
+ <_summary>Search for the sender photo in local address books </_summary>
+ <_description>This option would help in improving the speed of fetching.</_description>
+ </key>
+ <key name="mime-types=" type="as">
+ <default>[]</default>
+ <_summary>List of MIME types to check for Bonobo component viewers</_summary>
+ <_description>If there isn't a builtin viewer for a particular MIME type inside Evolution, any MIME types appearing in this list which map to a Bonobo component viewer in GNOME's MIME type database may be used for displaying content.</_description>
+ </key>
+ <key name="mark-seen" type="b">
+ <default>true</default>
+ <_summary>Mark as Seen after specified timeout</_summary>
+ <_description>Mark as Seen after specified timeout.</_description>
+ </key>
+ <key name="mark-seen-timeout" type="i">
+ <default>1500</default>
+ <_summary>Timeout for marking message as seen</_summary>
+ <_description>Timeout for marking message as seen.</_description>
+ </key>
+ <key name="show-email" type="b">
+ <default>false</default>
+ <_summary>Sender email-address column in the message list</_summary>
+ <_description>Show the email-address of the sender in a separate column in the message list.</_description>
+ </key>
+ <key name="vertical-view-fonts" type="b">
+ <default>false</default>
+ <_summary>Determines whether to use the same fonts for both "From" and "Subject" lines in the "Messages" column in vertical view</_summary>
+ <_description>Determines whether to use the same fonts for both "From" and "Subject" lines in the "Messages" column in vertical view.</_description>
+ </key>
+ <key name="show-deleted" type="b">
+ <default>false</default>
+ <_summary>Show deleted messages in the message-list</_summary>
+ <_description>Show deleted messages (with a strike-through) in the message-list.</_description>
+ </key>
+ <key name="enable-vfolders" type="b">
+ <default>true</default>
+ <_summary>Enable search folders</_summary>
+ <_description>Enable search folders on startup.</_description>
+ </key>
+ <key name="safe-list" type="b">
+ <default>false</default>
+ <_summary>Hides the per-folder preview and removes the selection</_summary>
+ <_description>This key is read only once and reset to "false" after read. This unselects the mail in the list and removes the preview for that folder.</_description>
+ </key>
+ <key name="paned-size" type="i">
+ <default>144</default>
+ <_summary>Height of the message-list pane</_summary>
+ <_description>Height of the message-list pane.</_description>
+ </key>
+ <key name="hpaned-size" type="i">
+ <default>450</default>
+ <_summary>Width of the message-list pane</_summary>
+ <_description>Width of the message-list pane.</_description>
+ </key>
+ <key name="layout" type="i">
+ <default>0</default>
+ <_summary>Layout style</_summary>
+ <_description>The layout style determines where to place the preview pane in relation to the message list. "0" (Classic View) places the preview pane below the message list. "1" (Vertical View) places the preview pane next to the message list.</_description>
+ </key>
+ <key name="variable-width-font" type="s">
+ <default>'Sans 12'</default>
+ <_summary>Variable width font</_summary>
+ <_description>The variable width font for mail display.</_description>
+ </key>
+ <key name="monospace-font" type="s">
+ <default>'Monospace 12'</default>
+ <_summary>Terminal font</_summary>
+ <_description>The terminal font for mail display.</_description>
+ </key>
+ <key name="use-custom-font" type="b">
+ <default>false</default>
+ <_summary>Use custom fonts</_summary>
+ <_description>Use custom fonts for displaying mail.</_description>
+ </key>
+ <key name="address-compress" type="b">
+ <default>true</default>
+ <_summary>Compress display of addresses in TO/CC/BCC</_summary>
+ <_description>Compress display of addresses in TO/CC/BCC to the number specified in address_count.</_description>
+ </key>
+ <key name="force-message-limit" type="b">
+ <default>true</default>
+ <_summary>Display only message texts not exceeding certain size</_summary>
+ <_description>Enable to display only message texts not exceeding size defined in 'message_text_part_limit' key.</_description>
+ </key>
+ <key name="message-text-part-limit" type="i">
+ <default>4096</default>
+ <_summary>Message text limit for display</_summary>
+ <_description>This decides the max size of the message text that will be displayed under Evolution, specified in terms of KB. The default is 4096 (4MB). This value is used only when 'force_message_limit' key is activated.</_description>
+ </key>
+ <key name="address-count" type="i">
+ <default>5</default>
+ <_summary>Number of addresses to display in TO/CC/BCC</_summary>
+ <_description>This sets the number of addresses to show in default message list view, beyond which a '...' is shown.</_description>
+ </key>
+ <key name="thread-subject" type="b">
+ <default>false</default>
+ <_summary>Thread the message-list based on Subject</_summary>
+ <_description>Whether or not to fall back on threading by subjects when the messages do not contain In-Reply-To or References headers.</_description>
+ </key>
+ <key name="thread-expand" type="b">
+ <default>true</default>
+ <_summary>Default value for thread expand state</_summary>
+ <_description>This setting specifies whether the threads should be in expanded or collapsed state by default. Evolution requires a restart.</_description>
+ </key>
+ <key name="thread-latest" type="b">
+ <default>true</default>
+ <_summary>Whether sort threads based on latest message in that thread</_summary>
+ <_description>This setting specifies whether the threads should be sorted based on latest message in each thread, rather than by message's date. Evolution requires a restart.</_description>
+ </key>
+ <key name="mail-browser-width" type="i">
+ <default>600</default>
+ <_summary>Mail browser width</_summary>
+ <_description>Default width of the mail browser window.</_description>
+ </key>
+ <key name="mail-browser-height" type="i">
+ <default>400</default>
+ <_summary>Mail browser height</_summary>
+ <_description>Default height of the mail browser window.</_description>
+ </key>
+ <key name="mail-browser-maximized" type="b">
+ <default>false</default>
+ <_summary>Mail browser maximized</_summary>
+ <_description>Default maximized state of the mail browser window.</_description>
+ </key>
+ <key name="subscription-editor-height" type="i">
+ <default>400</default>
+ <_summary>"Folder Subscriptions" window height</_summary>
+ <_description>Initial height of the "Folder Subscriptions" window. The value updates as the user resizes the window vertically.</_description>
+ </key>
+ <key name="subscription-editor-maximized" type="b">
+ <default>false</default>
+ <_summary>"Folder Subscriptions" window maximize state</_summary>
+ <_description>Initial maximize state of the "Folder Subscriptions" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Folder Subscriptions" window cannot be maximized. This key exists only as an implementation detail.</_description>
+ </key>
+ <key name="subscription-editor-width" type="i">
+ <default>600</default>
+ <_summary>"Folder Subscriptions" window width</_summary>
+ <_description>Initial width of the "Folder Subscriptions" window. The value updates as the user resizes the window horizontally.</_description>
+ </key>
+ <key name="filters-log-actions" type="b">
+ <default>false</default>
+ <_summary>Log filter actions</_summary>
+ <_description>Log filter actions to the specified log file.</_description>
+ </key>
+ <key name="filters-log-file" type="s">
+ <default>''</default>
+ <_summary>Logfile to log filter actions</_summary>
+ <_description>Logfile to log filter actions.</_description>
+ </key>
+ <key name="flush-outbox" type="b">
+ <default>false</default>
+ <_summary>Flush Outbox after filtering</_summary>
+ <_description>Whether to flush Outbox after filtering is done. Outbox flush will happen only when there was used any 'Forward to' filter action and approximately one minute after the last action invocation.</_description>
+ </key>
+ <key name="forward-style" type="i">
+ <default>0</default>
+ <_summary>Default forward style</_summary>
+ <_description></_description>
+ </key>
+ <key name="reply-style" type="i">
+ <default>0</default>
+ <_summary>Default forward style</_summary>
+ <_description></_description>
+ </key>
+ <key name="message-display-style" type="i">
+ <default>0</default>
+ <_summary>Message-display style ("normal", "full headers", "source")</_summary>
+ <_description></_description>
+ </key>
+ <key name="prompt-on-empty-subject" type="b">
+ <default>true</default>
+ <_summary>Prompt on empty subject</_summary>
+ <_description>Prompt the user when he or she tries to send a message without a Subject.</_description>
+ </key>
+ <key name="prompt-on-expunge" type="b">
+ <default>true</default>
+ <_summary>Prompt when user expunges</_summary>
+ <_description>Prompt the user when he or she tries to expunge a folder.</_description>
+ </key>
+ <key name="prompt-on-only-bcc" type="b">
+ <default>true</default>
+ <_summary>Prompt when user only fills Bcc</_summary>
+ <_description>Prompt when user tries to send a message with no To or Cc recipients.</_description>
+ </key>
+ <key name="prompt-on-unwanted-html" type="b">
+ <default>true</default>
+ <_summary>Prompt when user tries to send unwanted HTML</_summary>
+ <_description>Prompt when user tries to send HTML mail to recipients that may not want to receive HTML mail.</_description>
+ </key>
+ <key name="prompt-on-open-many" type="b">
+ <default>true</default>
+ <_summary>Prompt when user tries to open 10 or more messages at once</_summary>
+ <_description>If a user tries to open 10 or more messages at one time, ask the user if they really want to do it.</_description>
+ </key>
+ <key name="prompt-on-mark-all-read" type="b">
+ <default>true</default>
+ <_summary>Prompt while marking multiple messages</_summary>
+ <_description>Enable or disable the prompt whilst marking multiple messages.</_description>
+ </key>
+ <key name="prompt-on-delete-in-vfolder" type="b">
+ <default>false</default>
+ <_summary>Prompt when deleting messages in search folder</_summary>
+ <_description>It disables/enables the repeated prompts to warn that deleting messages from a search folder permanently deletes the message, not simply removing it from the search results.</_description>
+ </key>
+ <key name="prompt-on-private-list-reply" type="b">
+ <default>true</default>
+ <_summary>Prompt when replying privately to list messages</_summary>
+ <_description>It disables/enables the repeated prompts to warn that you are sending a private reply to a message which arrived via a mailing list.</_description>
+ </key>
+ <key name="prompt-on-list-reply-to" type="b">
+ <default>true</default>
+ <_summary>Prompt when mailing list hijacks private replies</_summary>
+ <_description>It disables/enables the repeated prompts to warn that you are trying sending a private reply to a message which arrived via a mailing list, but the list sets a Reply-To: header which redirects your reply back to the list</_description>
+ </key>
+ <key name="prompt-on-reply-many-recips" type="b">
+ <default>true</default>
+ <_summary>Prompt when replying to many recipients</_summary>
+ <_description>It disables/enables the repeated prompts to warn that you are sending a reply to many people.</_description>
+ </key>
+ <key name="prompt-on-reply-close-browser" type="s">
+ <default>'ask'</default>
+ <_summary>Asks whether to close the message window when the user forwards or replies to the message shown in the window</_summary>
+ <_description>Possible values are: 'never' - to never close browser window, 'always' - to always close browser window or 'ask' - (or any other value) will ask user.</_description>
+ </key>
+ <key name="trash-empty-on-exit" type="b">
+ <default>false</default>
+ <_summary>Empty Trash folders on exit</_summary>
+ <_description>Empty all Trash folders when exiting Evolution.</_description>
+ </key>
+ <key name="trash-empty-on-exit-days" type="i">
+ <default>0</default>
+ <_summary>Minimum days between emptying the trash on exit</_summary>
+ <_description>Minimum time between emptying the trash on exit, in days.</_description>
+ </key>
+ <key name="trash-empty-date" type="i">
+ <default>0</default>
+ <_summary>Last time Empty Trash was run</_summary>
+ <_description>The last time Empty Trash was run, in days since January 1st, 1970 (Epoch).</_description>
+ </key>
+ <key name="error-timeout" type="i">
+ <default>60</default>
+ <_summary>Amount of time in seconds the error should be shown on the status bar.</_summary>
+ <_description>Amount of time in seconds the error should be shown on the status bar.</_description>
+ </key>
+ <key name="error-level" type="i">
+ <default>0</default>
+ <_summary>Level beyond which the message should be logged.</_summary>
+ <_description>This can have three possible values. "0" for errors. "1" for warnings. "2" for debug messages.</_description>
+ </key>
+ <key name="show-real-date" type="b">
+ <default>true</default>
+ <_summary>Show original "Date" header value.</_summary>
+ <_description>Show the original "Date" header (with a local time only if the time zone differs). Otherwise always show "Date" header value in a user preferred format and local time zone.</_description>
+ </key>
+ <key name="labels" type="as">
+ <default>['I_mportant:#EF2929','_Work:#F57900','_Personal:#4E9A06','_To Do:#3465A4','_Later:#75507B']</default>
+ <_summary>List of Labels and their associated colors</_summary>
+ <_description>List of labels known to the mail component of Evolution. The list contains strings containing name:color where color uses the HTML hex encoding.</_description>
+ </key>
+ <key name="junk-check-incoming" type="b">
+ <default>true</default>
+ <_summary>Check incoming mail being junk</_summary>
+ <_description>Run junk test on incoming mail.</_description>
+ </key>
+ <key name="junk-empty-on-exit" type="b">
+ <default>false</default>
+ <_summary>Empty Junk folders on exit</_summary>
+ <_description>Empty all Junk folders when exiting Evolution.</_description>
+ </key>
+ <key name="junk-empty-on-exit-days" type="i">
+ <default>0</default>
+ <_summary>Minimum days between emptying the junk on exit</_summary>
+ <_description>Minimum time between emptying the junk on exit, in days.</_description>
+ </key>
+ <key name="junk-empty-date" type="i">
+ <default>0</default>
+ <_summary>Last time Empty Junk was run</_summary>
+ <_description>The last time Empty Junk was run, in days since January 1st, 1970 (Epoch).</_description>
+ </key>
+ <key name="junk-default-plugin" type="s">
+ <default>'Bogofilter'</default>
+ <_summary>The default plugin for Junk hook</_summary>
+ <_description>This is the default junk plugin, even though there are multiple plugins enabled. If the default listed plugin is disabled, then it won't fall back to the other available plugins.</_description>
+ </key>
+ <key name="junk-sa-local-only" type="b">
+ <default>true</default>
+ <_summary>Use only local spam tests.</_summary>
+ <_description>Use only the local spam tests (no DNS).</_description>
+ </key>
+ <key name="junk-sa-use-daemon" type="b">
+ <default>true</default>
+ <_summary>Use SpamAssassin daemon and client</_summary>
+ <_description>Use SpamAssassin daemon and client (spamc/spamd).</_description>
+ </key>
+ <key name="junk-lookup-addressbook" type="b">
+ <default>false</default>
+ <_summary>Determines whether to lookup in address book for sender email</_summary>
+ <_description>Determines whether to lookup the sender email in address book. If found, it shouldn't be a spam. It looks up in the books marked for autocompletion. It can be slow, if remote address books (like LDAP) are marked for autocompletion.</_description>
+ </key>
+ <key name="junk-lookup-addressbook-local-only" type="b">
+ <default>false</default>
+ <_summary>Determines whether to look up addresses for junk filtering in local address book only</_summary>
+ <_description>This option is related to the key lookup_addressbook and is used to determine whether to look up addresses in local address book only to exclude mail sent by known contacts from junk filtering.</_description>
+ </key>
+ <key name="junk-check-custom-header" type="b">
+ <default>true</default>
+ <_summary>Determines whether to use custom headers to check for junk</_summary>
+ <_description>Determines whether to use custom headers to check for junk. If this option is enabled and the headers are mentioned, it will be improve the junk checking speed.</_description>
+ </key>
+ <key name="junk-custom-header" type="as">
+ <default>['X-Spam-Flag=YES','X-Spam-Level=*****']</default>
+ <_summary>Custom headers to use while checking for junk.</_summary>
+ <_description>Custom headers to use while checking for junk. The list elements are string in the format "headername=value".</_description>
+ </key>
+ <key name="default-account" type="s">
+ <default>''</default>
+ <_summary>UID string of the default account.</_summary>
+ <_description>UID string of the default account.</_description>
+ </key>
+ <key name="save-dir" type="s">
+ <default>''</default>
+ <_summary>Save directory</_summary>
+ <_description>Directory for saving mail component files.</_description>
+ </key>
+ <key name="composer-current-folder" type="s">
+ <default>''</default>
+ <_summary>Composer load/attach directory</_summary>
+ <_description>Directory for loading/attaching files to composer.</_description>
+ </key>
+ <key name="filter-editor-height" type="i">
+ <default>650</default>
+ <_summary>"Filter Editor" window height</_summary>
+ <_description>Initial height of the "Filter Editor" window. The value updates as the user resizes the window vertically.</_description>
+ </key>
+ <key name="filter-editor-maximized" type="b">
+ <default>false</default>
+ <_summary>"Filter Editor" window maximize state</_summary>
+ <_description>Initial maximize state of the "Filter Editor" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Filter Editor" window cannot be maximized. This key exists only as an implementation detail.</_description>
+ </key>
+ <key name="filter-editor-width" type="i">
+ <default>400</default>
+ <_summary>"Filter Editor" window width</_summary>
+ <_description>Initial width of the "Filter Editor" window. The value updates as the user resizes the window horizontally.</_description>
+ </key>
+ <key name="send-recv-height" type="i">
+ <default>200</default>
+ <_summary>"Send and Receive Mail" window height</_summary>
+ <_description>Initial height of the "Send and Receive Mail" window. The value updates as the user resizes the window vertically.</_description>
+ </key>
+ <key name="send-recv-maximized" type="b">
+ <default>false</default>
+ <_summary>"Send and Receive Mail" window maximize state</_summary>
+ <_description>Initial maximize state of the "Send and Receive Mail" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Send and Receive Mail" window cannot be maximized. This key exists only as an implementation detail.</_description>
+ </key>
+ <key name="send-recv-width" type="i">
+ <default>600</default>
+ <_summary>"Send and Receive Mail" window width</_summary>
+ <_description>Initial width of the "Send and Receive Mail" window. The value updates as the user resizes the window horizontally.</_description>
+ </key>
+ <key name="vfolder-editor-height" type="i">
+ <default>650</default>
+ <_summary>"Search Folder Editor" window height</_summary>
+ <_description>Initial height of the "Search Folder Editor" window. The value updates as the user resizes the window vertically.</_description>
+ </key>
+ <key name="vfolder-editor-maximized" type="b">
+ <default>false</default>
+ <_summary>"Search Folder Editor" window maximize state</_summary>
+ <_description>Initial maximize state of the "Search Folder Editor" window. The value updates when the user maximizes or unmaximizes the window. Note, this particular value is not used by Evolution since the "Search Folder Editor" window cannot be maximized. This key exists only as an implementation detail.</_description>
+ </key>
+ <key name="vfolder-editor-width" type="i">
+ <default>400</default>
+ <_summary>"Search Folder Editor" window width</_summary>
+ <_description>Initial width of the "Search Folder Editor" window. The value updates as the user resizes the window horizontally.</_description>
+ </key>
+ <key name="sync-interval" type="i">
+ <default>600</default>
+ <_summary>Server synchronization interval</_summary>
+ <_description>Controls how frequently local changes are synchronized with the remote mail server. The interval must be at least 30 seconds.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/org.gnome.evolution.shell.gschema.xml.in b/data/org.gnome.evolution.shell.gschema.xml.in
new file mode 100644
index 0000000000..d2fd7439cb
--- /dev/null
+++ b/data/org.gnome.evolution.shell.gschema.xml.in
@@ -0,0 +1,94 @@
+<schemalist>
+ <schema gettext-domain="evolution" id="org.gnome.evolution.shell" path="/org/gnome/evolution/shell/">
+ <key name="skip-warning-dialog" type="b">
+ <default>false</default>
+ <_summary>Skip development warning dialog</_summary>
+ <_description>Whether the warning dialog in development versions of Evolution is skipped.</_description>
+ </key>
+ <key name="attachment-view" type="i">
+ <default>0</default>
+ <_summary>Initial attachment view</_summary>
+ <_description>Initial view for attachment bar widgets. "0" is Icon View, "1" is List View.</_description>
+ </key>
+ <key name="file-chooser-folder" type="s">
+ <default>''</default>
+ <_summary>Initial file chooser folder</_summary>
+ <_description>Initial folder for GtkFileChooser dialogs.</_description>
+ </key>
+ <key name="start-offline" type="b">
+ <default>false</default>
+ <_summary>Start in offline mode</_summary>
+ <_description> Whether Evolution will start up in offline mode instead of online mode.</_description>
+ </key>
+ <key name="folder-paths" type="as">
+ <default>[]</default>
+ <_summary>Offline folder paths</_summary>
+ <_description>List of paths for the folders to be synchronized to disk for offline usage.</_description>
+ </key>
+ <key name="express-mode" type="b">
+ <default>false</default>
+ <_summary>Enable express mode</_summary>
+ <_description>Flag that enables a much simplified user interface.</_description>
+ </key>
+ <key name="window-y" type="i">
+ <default></default>
+ <_summary>Default window Y coordinate</_summary>
+ <_description>The default Y coordinate for the main window.</_description>
+ </key>
+ <key name="window-x" type="i">
+ <default></default>
+ <_summary>Default window X coordinate</_summary>
+ <_description>The default X coordinate for the main window.</_description>
+ </key>
+ <key name="window-width" type="i">
+ <default>640</default>
+ <_summary>Default window width</_summary>
+ <_description>The default width for the main window, in pixels.</_description>
+ </key>
+ <key name="window-height" type="i">
+ <default>480</default>
+ <_summary>Default window height</_summary>
+ <_description>The default height for the main window, in pixels.</_description>
+ </key>
+ <key name="window-maximized" type="b">
+ <default>true</default>
+ <_summary>Default window state</_summary>
+ <_description>Whether or not the window should be maximized.</_description>
+ </key>
+ <key name="buttons-visible" type="b">
+ <default>true</default>
+ <_summary>Window buttons are visible</_summary>
+ <_description>Whether the window buttons should be visible.</_description>
+ </key>
+ <key name="buttons-style" type="s">
+ <default>toolbar</default>
+ <_summary>Window button style</_summary>
+ <_description>The style of the window buttons. Can be "text", "icons", "both", "toolbar". If "toolbar" is set, the style of the buttons is determined by the GNOME toolbar setting.</_description>
+ </key>
+ <key name="toolbar-visible" type="b">
+ <default>true</default>
+ <_summary>Toolbar is visible</_summary>
+ <_description>Whether the toolbar should be visible.</_description>
+ </key>
+ <key name="sidebar-visible" type="b">
+ <default>true</default>
+ <_summary>Sidebar is visible</_summary>
+ <_description>Whether the sidebar should be visible.</_description>
+ </key>
+ <key name="statusbar-visible" type="b">
+ <default>TRUE</default>
+ <_summary>Statusbar is visible</_summary>
+ <_description>Whether the status bar should be visible.</_description>
+ </key>
+ <key name="default-component-id" type="s">
+ <default>mail</default>
+ <_summary>ID or alias of the component to be shown by default at start-up.</_summary>
+ <_description>ID or alias of the component to be shown by default at start-up.</_description>
+ </key>
+ <key name="folder-bar-width" type="i">
+ <default>200</default>
+ <_summary>Default sidebar width</_summary>
+ <_description>The default width for the sidebar, in pixels.</_description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/help/C/mail-error-failed-to-append-to-sent-folder.page b/help/C/mail-error-failed-to-append-to-sent-folder.page
new file mode 100644
index 0000000000..7cc5923c38
--- /dev/null
+++ b/help/C/mail-error-failed-to-append-to-sent-folder.page
@@ -0,0 +1,32 @@
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its"
+ type="topic" id="mail-error-failed-to-append-to-sent-folder">
+
+ <info>
+ <desc>What to do when this error is shown.</desc>
+
+ <link type="guide" xref="index#common-mail-problems" />
+
+ <revision pkgversion="3.0.2" version="0.1" date="2011-07-21" status="final"/>
+ <credit type="author">
+ <name>April Gonzales</name>
+ <email>loonycookie@gmail.com</email>
+ </credit>
+ <credit type="author">
+ <name>Andre Klapper</name>
+ <email>ak-47@gmx.net</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+
+ </info>
+
+<title>Error message "Failed to append to..." after sending message</title>
+
+<p>If the error message "Your message was sent, but an error occurred during post-processing. The reported error was "Failed to append to mbox:///home/user/.local/share/evolution/mail/local#Sent: Cannot get folder 'Sent': folder does not exist. Appending to local 'Sent' folder instead."." is shown, you can fix the problem by editing your default folder settings under <guiseq><gui>Edit</gui><gui>Preferences</gui><gui>Mail Accounts</gui><gui style="button">Edit</gui><gui>Defaults</gui><gui>Folder for sent messages</gui></guiseq>.</p>
+<p>This bug is fixed in Evolution versions higher than 3.0.2 (stable series) and 3.1.3 (unstable development series). If this is not the case, please add a comment to the corresponding <link href="https://bugzilla.gnome.org/show_bug.cgi?id=638307">bug report</link>.</p>
+
+
+
+</page>
+
diff --git a/help/C/mail-error-folder-mismatch.page b/help/C/mail-error-folder-mismatch.page
new file mode 100644
index 0000000000..8154e4b20a
--- /dev/null
+++ b/help/C/mail-error-folder-mismatch.page
@@ -0,0 +1,52 @@
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its"
+ type="topic" id="mail-error-folder-mismatch">
+
+ <info>
+ <desc>What to do when this error is shown.</desc>
+
+ <link type="guide" xref="index#common-mail-problems" />
+
+ <revision pkgversion="3.1.5" version="0.4" date="2011-07-28" status="final"/>
+ <credit type="author">
+ <name>April Gonzales</name>
+ <email>loonycookie@gmail.com</email>
+ </credit>
+ <credit type="author">
+ <name>Andre Klapper</name>
+ <email>ak-47@gmx.net</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+
+ </info>
+
+<title>Error message "Summary and folder mismatch" after synchronizing folders</title>
+
+<p>If the error message: <gui>Error while Expunging folder. Error storing `~/.local/share/evolution/mail/local/Inbox (mbox)': Summary and folder mismatch, even after a sync.</gui> pops up, perform the following steps:</p>
+
+<note><p>These steps apply to the versions 3.0 and 3.2. Note that Evolution's file locations in 2.30 and 2.32 are different (<file>~/.evolution/mail/local/</file> instead of <file>~/.local/share/evolution/mail/local/</file>).</p></note>
+
+<list>
+<item><p>Open the Terminal application (category <gui>System Tools</gui>) and type in the command <code>evolution --force-shutdown</code>. This command stops Evolution and all the processes related to it.</p></item>
+<item><p>Remove the files ending in:</p>
+ <list>
+ <item><p><file>.ev-summary</file></p></item>
+ <item><p><file>.ibex.index</file></p></item>
+ </list>
+ <p>To do this, navigate to the hidden directory <file>~/.local/share/evolution/mail/local/</file> and locate the specified files. You can do this in the GNOME File Manager (Nautilus) by either showing hidden files, or by entering the directory via <guiseq><gui>Go</gui><gui>Location...</gui></guiseq> from the menu bar.</p>
+</item>
+
+<item><p>Restart Evolution. Note that restarting the application may take some time since it will need to rebuild the indexes deleted in the previous step.</p></item>
+</list>
+
+<note>
+<p>You may lose your mail labels when performing this operation.</p>
+</note>
+
+<note>
+<p>This problem is expected to be fixed in version 3.0 according to the corresponding <link href="https://bugzilla.gnome.org/show_bug.cgi?id=550414">bug report</link>. Please add a comment if this is not the case.</p> <!-- TODO:POST-3-2: Remove from docs once really fixed -->
+</note>
+
+</page>
+
diff --git a/help/C/mail-error-no-provider-available.page b/help/C/mail-error-no-provider-available.page
new file mode 100644
index 0000000000..308a5ff6fb
--- /dev/null
+++ b/help/C/mail-error-no-provider-available.page
@@ -0,0 +1,49 @@
+<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its"
+ type="topic" id="mail-error-no-provider-available">
+
+ <info>
+ <desc>What to do when this error is shown.</desc>
+
+ <link type="guide" xref="index#common-mail-problems" />
+
+ <revision pkgversion="2.28.3" version="0.2" date="2010-12-08" status="review"/>
+ <credit type="author">
+ <name>April Gonzales</name>
+ <email>loonycookie@gmail.com</email>
+ </credit>
+ <license>
+ <p>Creative Commons Share Alike 3.0</p>
+ </license>
+
+ </info>
+
+<title>Error message "No provider available for protocol email"</title>
+
+<p>This error message may be displayed for a number of reasons:</p>
+<list>
+
+<item>
+<p>The filters used do not match the account they are associated with.</p>
+<p>This happens when the <file>filters.xml</file> file is copied and used on a fresh install of Evolution on a new machine.</p>
+<p>Accounts have unique ID numbers, and filters refer to these accounts directly. Simply copying the <file>filters.xml</file> file will cause a version mismatch with Evolution, affecting the filter rules.</p>
+
+</item>
+<item><p>The account settings may not have been copied properly.</p></item>
+<item><p>The account settings were modified.</p></item>
+</list>
+
+<p>To fix this problem, edit the email filters and re-select the folder for each Copy/Move filter. To do this:</p>
+<steps>
+<item><p>Go to <guiseq><gui>Edit</gui><gui>Message Filters</gui></guiseq>.</p></item>
+<item><p>Select the Copy/Move filter and click <gui>Edit</gui>.</p></item>
+<item><p>Refer to the list of folders associated with that particular filter. Click on the button that allows you to modify the folders assigned for that filter. Set the folders again. </p></item>
+</steps>
+
+<note>
+<p>Advanced users may also be interested in this write up: <link href="https://thomas.apestaart.org/thomas/trac/wiki/Evolution">How to keep the Evolution filters in sync on multiple machines by Thomas Vander Stichele </link>
+</p>
+</note>
+
+<!-- The guide referenced above might make a useful addition to the docs. We should consider asking Thomas for permission to include it, if it seems suitable. -->
+
+</page>
diff --git a/mail/em-subscription-editor.h b/mail/em-subscription-editor.h
index 80b371f744..1b297f44ed 100644
--- a/mail/em-subscription-editor.h
+++ b/mail/em-subscription-editor.h
@@ -65,6 +65,8 @@ EMailBackend * em_subscription_editor_get_backend
(EMSubscriptionEditor *editor);
CamelStore * em_subscription_editor_get_store
(EMSubscriptionEditor *editor);
+CamelStore * em_subscription_editor_get_store
+ (EMSubscriptionEditor *editor);
G_END_DECLS
diff --git a/mail/mail-config.ui b/mail/mail-config.ui
index 0c16cc6c4c..616d4eab15 100644
--- a/mail/mail-config.ui
+++ b/mail/mail-config.ui
@@ -4334,6 +4334,7 @@ For example: "Work" or "Personal"</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
diff --git a/modules/calendar/e-cal-shell-backend.c b/modules/calendar/e-cal-shell-backend.c
index 5693994277..3ecb6bfb84 100644
--- a/modules/calendar/e-cal-shell-backend.c
+++ b/modules/calendar/e-cal-shell-backend.c
@@ -901,18 +901,24 @@ e_cal_shell_backend_get_source_list (ECalShellBackend *cal_shell_backend)
GSList *
e_cal_shell_backend_get_selected_calendars (ECalShellBackend *cal_shell_backend)
{
- GConfClient *client;
- GSList *selected_calendars;
- const gchar *key;
+ GSettings *settings;
+ char **strv;
+ gint i;
+ GSList *selected_calendars = NULL;
g_return_val_if_fail (
E_IS_CAL_SHELL_BACKEND (cal_shell_backend), NULL);
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/display/selected_calendars";
- selected_calendars = 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-calendars");
+ g_object_unref (settings);
+
+ if (strv != NULL) {
+ for (i = 0; strv[i] != NULL; i++)
+ selected_calendars = g_slist_append (selected_calendars, g_strdup (strv[i]));
+
+ g_strfreev (strv);
+ }
return selected_calendars;
}
@@ -921,16 +927,20 @@ void
e_cal_shell_backend_set_selected_calendars (ECalShellBackend *cal_shell_backend,
GSList *selected_calendars)
{
- GConfClient *client;
- const gchar *key;
+ GSettings *settings;
+ GSList *l;
+ GPtrArray *array = g_ptr_array_new ();
g_return_if_fail (E_IS_CAL_SHELL_BACKEND (cal_shell_backend));
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/display/selected_calendars";
- gconf_client_set_list (
- client, key, GCONF_VALUE_STRING, selected_calendars, NULL);
- g_object_unref (client);
+ for (l = selected_calendars; 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-calendars", array->pdata);
+ g_object_unref (settings);
+
+ g_ptr_array_free (array, FALSE);
}
void
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c
index 81fc76b3cb..6c86f5f4df 100644
--- a/modules/calendar/e-cal-shell-content.c
+++ b/modules/calendar/e-cal-shell-content.c
@@ -28,7 +28,6 @@
#include <string.h>
#include <glib/gi18n.h>
-#include "e-util/gconf-bridge.h"
#include "widgets/menus/gal-view-etable.h"
#include "widgets/misc/e-paned.h"
#include "widgets/misc/e-selectable.h"
@@ -54,7 +53,7 @@ struct _ECalShellContentPrivate {
GalViewInstance *view_instance;
- guint paned_binding_id;
+ gboolean paned_bound;
};
enum {
@@ -111,32 +110,32 @@ cal_shell_content_notify_view_id_cb (ECalShellContent *cal_shell_content)
{
EShellContent *shell_content;
EShellView *shell_view;
- GConfBridge *bridge;
+ GSettings *settings;
GtkWidget *paned;
- guint binding_id;
+ gboolean bound;
const gchar *key;
const gchar *view_id;
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
paned = cal_shell_content->priv->hpaned;
- binding_id = cal_shell_content->priv->paned_binding_id;
+ bound = cal_shell_content->priv->paned_bound;
shell_content = E_SHELL_CONTENT (cal_shell_content);
shell_view = e_shell_content_get_shell_view (shell_content);
view_id = e_shell_view_get_view_id (shell_view);
- if (binding_id > 0)
- gconf_bridge_unbind (bridge, binding_id);
-
if (view_id != NULL && strcmp (view_id, "Month_View") == 0)
- key = "/apps/evolution/calendar/display/month_hpane_position";
+ key = "month-hpane-position";
else
- key = "/apps/evolution/calendar/display/hpane_position";
+ key = "hpane-position";
+
+ if (bound)
+ g_settings_unbind (settings, key);
- binding_id = gconf_bridge_bind_property_delayed (
- bridge, key, G_OBJECT (paned), "hposition");
+ g_settings_bind (settings, key, G_OBJECT (paned), "hposition", G_SETTINGS_BIND_DEFAULT);
+ cal_shell_content->priv->paned_bound = TRUE;
- cal_shell_content->priv->paned_binding_id = binding_id;
+ g_object_unref (settings);
}
static gchar *
@@ -332,7 +331,7 @@ cal_shell_content_constructed (GObject *object)
EShellView *foreign_view;
GnomeCalendar *calendar;
GalViewInstance *view_instance;
- GConfBridge *bridge;
+ GSettings *settings;
GtkWidget *container;
GtkWidget *widget;
const gchar *key;
@@ -521,11 +520,12 @@ cal_shell_content_constructed (GObject *object)
G_CALLBACK (cal_shell_content_notify_view_id_cb),
object);
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (priv->vpaned);
- key = "/apps/evolution/calendar/display/tag_vpane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "proportion");
+ g_settings_bind (settings, "tag-vpane-position", object, "proportion", G_SETTINGS_BIND_DEFAULT);
+
+ g_object_unref (settings);
}
if (memo_model)
diff --git a/modules/calendar/e-cal-shell-sidebar.c b/modules/calendar/e-cal-shell-sidebar.c
index 77c5639a78..f896db6136 100644
--- a/modules/calendar/e-cal-shell-sidebar.c
+++ b/modules/calendar/e-cal-shell-sidebar.c
@@ -30,7 +30,6 @@
#include <libedataserverui/e-client-utils.h>
#include "e-util/e-alert-dialog.h"
-#include "e-util/gconf-bridge.h"
#include "widgets/misc/e-paned.h"
#include "calendar/gui/e-calendar-selector.h"
@@ -523,7 +522,7 @@ cal_shell_sidebar_restore_state_cb (EShellWindow *shell_window,
ESourceSelector *selector;
ESourceList *source_list;
ESource *source;
- GConfBridge *bridge;
+ GSettings *settings;
GtkTreeModel *model;
GSList *list, *iter;
GObject *object;
@@ -585,13 +584,14 @@ cal_shell_sidebar_restore_state_cb (EShellWindow *shell_window,
G_CALLBACK (cal_shell_sidebar_selection_changed_cb),
shell_sidebar);
- /* Bind GObject properties to GConf keys. */
+ /* Bind GObject properties to settings keys. */
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (priv->paned);
- key = "/apps/evolution/calendar/display/date_navigator_pane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "vposition");
+ g_settings_bind (settings, "date-navigator-pane-position", object, "vposition", G_SETTINGS_BIND_DEFAULT);
+
+ g_object_unref (G_OBJECT (settings));
}
static void
diff --git a/modules/calendar/e-calendar-preferences.c b/modules/calendar/e-calendar-preferences.c
index 85eddd9736..5578f39a2c 100644
--- a/modules/calendar/e-calendar-preferences.c
+++ b/modules/calendar/e-calendar-preferences.c
@@ -329,13 +329,13 @@ static void
notify_with_tray_toggled (GtkToggleButton *toggle,
ECalendarPreferences *prefs)
{
- GConfClient *gconf;
+ GSettings *settings;
g_return_if_fail (toggle != NULL);
- gconf = gconf_client_get_default ();
- gconf_client_set_bool (gconf, "/apps/evolution/calendar/notify/notify_with_tray", gtk_toggle_button_get_active (toggle), NULL);
- g_object_unref (gconf);
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ g_settings_set_boolean (settings, "notify-with-tray", gtk_toggle_button_get_active (toggle));
+ g_object_unref (settings);
}
static void
@@ -454,7 +454,7 @@ initialize_selection (ESourceSelector *selector,
static void
show_alarms_config (ECalendarPreferences *prefs)
{
- GConfClient *gconf;
+ GSettings *settings;
if (e_cal_client_get_sources (&prefs->alarms_list, E_CAL_CLIENT_SOURCE_TYPE_EVENTS, NULL)) {
prefs->alarm_list_widget = e_source_selector_new (prefs->alarms_list);
@@ -464,9 +464,9 @@ show_alarms_config (ECalendarPreferences *prefs)
initialize_selection (E_SOURCE_SELECTOR (prefs->alarm_list_widget), prefs->alarms_list);
}
- gconf = gconf_client_get_default ();
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->notify_with_tray), gconf_client_get_bool (gconf, "/apps/evolution/calendar/notify/notify_with_tray", NULL));
- g_object_unref (gconf);
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->notify_with_tray), g_settings_get_boolean (settings, "notify-with-tray"));
+ g_object_unref (settings);
}
/* Shows the current config settings in the dialog. */
diff --git a/modules/calendar/e-memo-shell-backend.c b/modules/calendar/e-memo-shell-backend.c
index ed4e81d559..b374afdced 100644
--- a/modules/calendar/e-memo-shell-backend.c
+++ b/modules/calendar/e-memo-shell-backend.c
@@ -645,18 +645,25 @@ 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_lists = 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_lists = g_slist_append (selected_memo_lists, g_strdup (strv[i]));
+
+ g_strfreev (strv);
+ }
return selected_memo_lists;
}
@@ -665,14 +672,18 @@ 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_lists; 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);
}
diff --git a/modules/calendar/e-memo-shell-content.c b/modules/calendar/e-memo-shell-content.c
index f0f4fe958f..60936ccb8c 100644
--- a/modules/calendar/e-memo-shell-content.c
+++ b/modules/calendar/e-memo-shell-content.c
@@ -28,7 +28,6 @@
#include <glib/gi18n.h>
#include "e-util/e-selection.h"
-#include "e-util/gconf-bridge.h"
#include "shell/e-shell-utils.h"
#include "widgets/menus/gal-view-etable.h"
#include "widgets/misc/e-paned.h"
@@ -273,23 +272,20 @@ memo_shell_content_restore_state_cb (EShellWindow *shell_window,
EShellContent *shell_content)
{
EMemoShellContentPrivate *priv;
- GConfBridge *bridge;
+ GSettings *settings;
GObject *object;
- const gchar *key;
priv = E_MEMO_SHELL_CONTENT (shell_content)->priv;
- /* Bind GObject properties to GConf keys. */
+ /* Bind GObject properties to settings keys. */
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (priv->paned);
- key = "/apps/evolution/calendar/display/memo_hpane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "hposition");
+ g_settings_bind (settings, "memo-hpane-position", object, "hposition", G_SETTINGS_BIND_DEFAULT);
object = G_OBJECT (priv->paned);
- key = "/apps/evolution/calendar/display/memo_vpane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "vposition");
+ g_settings_bind (settings, "memo-vpane-position", object, "vposition", G_SETTINGS_BIND_DEFAULT);
}
static GtkOrientation
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index d71b893fe3..c832066b59 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -863,7 +863,7 @@ e_memo_shell_view_actions_init (EMemoShellView *memo_shell_view)
EPreviewPane *preview_pane;
EWebView *web_view;
GtkActionGroup *action_group;
- GConfBridge *bridge;
+ GSettings *memo_settings;
GtkAction *action;
GObject *object;
const gchar *key;
@@ -922,17 +922,17 @@ e_memo_shell_view_actions_init (EMemoShellView *memo_shell_view)
action_group, lockdown_save_to_disk_popup_entries,
G_N_ELEMENTS (lockdown_save_to_disk_popup_entries));
- /* Bind GObject properties to GConf keys. */
+ /* Bind GObject properties to settings keys. */
- bridge = gconf_bridge_get ();
+ memo_settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (ACTION (MEMO_PREVIEW));
- key = "/apps/evolution/calendar/display/show_memo_preview";
- gconf_bridge_bind_property (bridge, key, object, "active");
+ g_settings_bind (memo_settings, "show-memo-preview", object, "active", G_SETTINGS_BIND_DEFAULT);
object = G_OBJECT (ACTION (MEMO_VIEW_VERTICAL));
- key = "/apps/evolution/calendar/display/memo_layout";
- gconf_bridge_bind_property (bridge, key, object, "current-value");
+ g_settings_bind (memo_settings, "memo-layout", object, "current-value", G_SETTINGS_BIND_DEFAULT);
+
+ g_object_unref (G_OBJECT (memo_settings));
/* Fine tuning. */
diff --git a/modules/calendar/e-task-shell-backend.c b/modules/calendar/e-task-shell-backend.c
index 2fc8ce1e5f..19e84a6764 100644
--- a/modules/calendar/e-task-shell-backend.c
+++ b/modules/calendar/e-task-shell-backend.c
@@ -650,18 +650,24 @@ e_task_shell_backend_get_source_list (ETaskShellBackend *task_shell_backend)
GSList *
e_task_shell_backend_get_selected_task_lists (ETaskShellBackend *task_shell_backend)
{
- GConfClient *client;
- GSList *selected_task_lists;
- const gchar *key;
+ GSettings *settings;
+ char **strv;
+ gint i;
+ GSList *selected_task_lists = NULL;
g_return_val_if_fail (
E_IS_TASK_SHELL_BACKEND (task_shell_backend), NULL);
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/tasks/selected_tasks";
- selected_task_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-tasks");
+ g_object_unref (G_OBJECT (settings));
+
+ if (strv != NULL) {
+ for (i = 0; strv[i] != NULL; i++)
+ selected_task_lists = g_slist_append (selected_task_lists, g_strdup (strv[i]));
+
+ g_strfreev (strv);
+ }
return selected_task_lists;
}
@@ -670,14 +676,18 @@ void
e_task_shell_backend_set_selected_task_lists (ETaskShellBackend *task_shell_backend,
GSList *selected_task_lists)
{
- GConfClient *client;
- const gchar *key;
+ GSettings *settings;
+ GSList *l;
+ GPtrArray *array = g_ptr_array_new ();
g_return_if_fail (E_IS_TASK_SHELL_BACKEND (task_shell_backend));
- client = gconf_client_get_default ();
- key = "/apps/evolution/calendar/tasks/selected_tasks";
- gconf_client_set_list (
- client, key, GCONF_VALUE_STRING, selected_task_lists, NULL);
- g_object_unref (client);
+ for (l = selected_task_lists; 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-tasks", array->pdata);
+ g_object_unref (settings);
+
+ g_ptr_array_free (array, FALSE);
}
diff --git a/modules/calendar/e-task-shell-content.c b/modules/calendar/e-task-shell-content.c
index 743bb937e7..cb2443f19d 100644
--- a/modules/calendar/e-task-shell-content.c
+++ b/modules/calendar/e-task-shell-content.c
@@ -28,7 +28,6 @@
#include <glib/gi18n.h>
#include "e-util/e-selection.h"
-#include "e-util/gconf-bridge.h"
#include "shell/e-shell-utils.h"
#include "widgets/menus/gal-view-etable.h"
#include "widgets/misc/e-paned.h"
@@ -271,23 +270,22 @@ task_shell_content_restore_state_cb (EShellWindow *shell_window,
EShellContent *shell_content)
{
ETaskShellContentPrivate *priv;
- GConfBridge *bridge;
+ GSettings *settings;
GObject *object;
- const gchar *key;
priv = E_TASK_SHELL_CONTENT (shell_content)->priv;
- /* Bind GObject properties to GConf keys. */
+ /* Bind GObject properties to settings keys. */
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (priv->paned);
- key = "/apps/evolution/calendar/display/task_hpane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "hposition");
+ g_settings_bind (settings, "task-hpane-position", object, "hposition", G_SETTINGS_BIND_DEFAULT);
object = G_OBJECT (priv->paned);
- key = "/apps/evolution/calendar/display/task_vpane_position";
- gconf_bridge_bind_property_delayed (bridge, key, object, "vposition");
+ g_settings_bind (settings, "task-vpane-position", object, "vposition", G_SETTINGS_BIND_DEFAULT);
+
+ g_object_unref (G_OBJECT (settings));
}
static GtkOrientation
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index 2fe28494ac..c7e91d2955 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -1062,10 +1062,9 @@ e_task_shell_view_actions_init (ETaskShellView *task_shell_view)
EPreviewPane *preview_pane;
EWebView *web_view;
GtkActionGroup *action_group;
- GConfBridge *bridge;
+ GSettings *settings;
GtkAction *action;
GObject *object;
- const gchar *key;
shell_view = E_SHELL_VIEW (task_shell_view);
shell_window = e_shell_view_get_shell_window (shell_view);
@@ -1121,17 +1120,17 @@ e_task_shell_view_actions_init (ETaskShellView *task_shell_view)
action_group, lockdown_save_to_disk_popup_entries,
G_N_ELEMENTS (lockdown_save_to_disk_popup_entries));
- /* Bind GObject properties to GConf keys. */
+ /* Bind GObject properties to settings keys. */
- bridge = gconf_bridge_get ();
+ settings = g_settings_new ("org.gnome.evolution.calendar");
object = G_OBJECT (ACTION (TASK_PREVIEW));
- key = "/apps/evolution/calendar/display/show_task_preview";
- gconf_bridge_bind_property (bridge, key, object, "active");
+ g_settings_bind (settings, "show-task-preview", object, "active", G_SETTINGS_BIND_DEFAULT);
object = G_OBJECT (ACTION (TASK_VIEW_VERTICAL));
- key = "/apps/evolution/calendar/display/task_layout";
- gconf_bridge_bind_property (bridge, key, object, "current-value");
+ g_settings_bind (settings, "task-layout", object, "current-value", G_SETTINGS_BIND_DEFAULT);
+
+ g_object_unref (G_OBJECT (settings));
/* Fine tuning. */
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c
index ba812c1440..9067437a71 100644
--- a/modules/mail/e-mail-shell-backend.c
+++ b/modules/mail/e-mail-shell-backend.c
@@ -234,6 +234,8 @@ mail_shell_backend_mail_sync (EMailShellBackend *mail_shell_backend)
{
EShell *shell;
EShellBackend *shell_backend;
+ EMailBackend *backend;
+ EMailSession *session;
shell_backend = E_SHELL_BACKEND (mail_shell_backend);
shell = e_shell_backend_get_shell (shell_backend);
@@ -246,6 +248,9 @@ mail_shell_backend_mail_sync (EMailShellBackend *mail_shell_backend)
if (mail_shell_backend->priv->mail_sync_in_progress)
goto exit;
+ backend = E_MAIL_BACKEND (mail_shell_backend);
+ session = e_mail_backend_get_session (backend);
+
e_mail_store_foreach (
E_MAIL_BACKEND (mail_shell_backend),
(GFunc) mail_shell_backend_sync_store_cb,
@@ -442,6 +447,7 @@ mail_shell_backend_start (EShellBackend *shell_backend)
EShell *shell;
EShellSettings *shell_settings;
EMailBackend *backend;
+ EMailSession *session;
gboolean enable_search_folders;
const gchar *data_dir;
diff --git a/modules/mail/em-account-prefs.c b/modules/mail/em-account-prefs.c
index 0dc93bea1f..f4a0a740d5 100644
--- a/modules/mail/em-account-prefs.c
+++ b/modules/mail/em-account-prefs.c
@@ -98,6 +98,7 @@ account_prefs_enable_account_cb (EAccountTreeView *tree_view,
EMAccountPrefs *prefs)
{
EAccount *account;
+ EMailSession *session;
account = e_account_tree_view_get_selected (tree_view);
if (!account) {
@@ -115,6 +116,7 @@ account_prefs_disable_account_cb (EAccountTreeView *tree_view,
EMAccountPrefs *prefs)
{
EAccountList *account_list;
+ EMailSession *session;
EAccount *account;
gpointer parent;
gint response;
@@ -320,6 +322,7 @@ account_prefs_delete_account (EAccountManager *manager)
EMAccountPrefsPrivate *priv;
EAccountTreeView *tree_view;
EAccountList *account_list;
+ EMailSession *session;
EAccount *account;
gboolean has_proxies;
gpointer parent;
diff --git a/modules/network-manager/Makefile.am b/modules/network-manager/Makefile.am
index 81b61ac864..2d87b22acf 100644
--- a/modules/network-manager/Makefile.am
+++ b/modules/network-manager/Makefile.am
@@ -6,6 +6,7 @@ libevolution_module_network_manager_la_CPPFLAGS = \
-DG_LOG_DOMAIN=\"evolution-network-manager\" \
$(EVOLUTION_DATA_SERVER_CFLAGS) \
$(GNOME_PLATFORM_CFLAGS) \
+ $(SHELL_CFLAGS) \
$(NM_CFLAGS)
libevolution_module_network_manager_la_SOURCES = \
diff --git a/plugins/publish-calendar/publish-format-fb.c b/plugins/publish-calendar/publish-format-fb.c
index 1059e1d5be..b818a58d08 100644
--- a/plugins/publish-calendar/publish-format-fb.c
+++ b/plugins/publish-calendar/publish-format-fb.c
@@ -27,7 +27,6 @@
#include <string.h>
#include <time.h>
#include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
#include <libedataserver/e-source.h>
#include <libedataserver/e-source-list.h>
#include <libedataserverui/e-client-utils.h>
diff --git a/plugins/publish-calendar/publish-format-ical.c b/plugins/publish-calendar/publish-format-ical.c
index b28a57aceb..82b38983a6 100644
--- a/plugins/publish-calendar/publish-format-ical.c
+++ b/plugins/publish-calendar/publish-format-ical.c
@@ -26,7 +26,6 @@
#include <string.h>
#include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
#include <libedataserver/e-source.h>
#include <libedataserver/e-source-list.h>
#include <libedataserverui/e-client-utils.h>
diff --git a/plugins/save-calendar/rdf-format.c b/plugins/save-calendar/rdf-format.c
index c93eb1fb59..ed9cf18bb6 100644
--- a/plugins/save-calendar/rdf-format.c
+++ b/plugins/save-calendar/rdf-format.c
@@ -59,13 +59,11 @@ static GConfClient *config = NULL;
static gchar *
calendar_config_get_timezone (void)
{
-
+ GSettings *settings;
gchar *retval = NULL;
- if (!config)
- config = gconf_client_get_default ();
-
- retval = gconf_client_get_string (config, CALENDAR_CONFIG_TIMEZONE, NULL);
+ settings = g_settings_new ("org.gnome.evolution.calendar");
+ retval = g_settings_get_string (settings, "timezone");
if (!retval)
retval = g_strdup ("UTC");
diff --git a/shell/e-shell.c b/shell/e-shell.c
index a9c2fdc22f..1e8cd3c0f9 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -46,10 +46,6 @@
#include "e-shell-window.h"
#include "e-shell-utils.h"
-#define E_SHELL_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), E_TYPE_SHELL, EShellPrivate))
-
struct _EShellPrivate {
GQueue alerts;
EShellSettings *settings;
@@ -697,7 +693,13 @@ shell_dispose (GObject *object)
EShellPrivate *priv;
EAlert *alert;
- priv = E_SHELL_GET_PRIVATE (object);
+ priv = E_SHELL (object)->priv;
+
+ while ((alert = g_queue_pop_head (&priv->alerts)) != NULL) {
+ g_signal_handlers_disconnect_by_func (
+ alert, shell_alert_response_cb, object);
+ g_object_unref (alert);
+ }
while ((alert = g_queue_pop_head (&priv->alerts)) != NULL) {
g_signal_handlers_disconnect_by_func (
@@ -745,7 +747,7 @@ shell_finalize (GObject *object)
{
EShellPrivate *priv;
- priv = E_SHELL_GET_PRIVATE (object);
+ priv = E_SHELL (object)->priv;
g_hash_table_destroy (priv->backends_by_name);
g_hash_table_destroy (priv->backends_by_scheme);
@@ -1160,7 +1162,8 @@ e_shell_init (EShell *shell)
GtkIconTheme *icon_theme;
EggSMClient *sm_client;
- shell->priv = E_SHELL_GET_PRIVATE (shell);
+ shell->priv = G_TYPE_INSTANCE_GET_PRIVATE (
+ shell, E_TYPE_SHELL, EShellPrivate);
backends_by_name = g_hash_table_new (g_str_hash, g_str_equal);
backends_by_scheme = g_hash_table_new (g_str_hash, g_str_equal);
diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c
index 67fe22968f..78d8461b5f 100644
--- a/widgets/table/e-table-field-chooser-item.c
+++ b/widgets/table/e-table-field-chooser-item.c
@@ -520,6 +520,8 @@ etfci_draw (GnomeCanvasItem *item,
width, height,
etfci->width, y2 - y1,
E_TABLE_COL_ARROW_NONE);
+
+ cairo_restore (cr);
}
}
@@ -562,6 +564,7 @@ etfci_start_drag (ETableFieldChooserItem *etfci,
cairo_t *cr;
gint drag_col;
gint button_height;
+ GdkPixbuf *pixbuf;
GtkTargetEntry etfci_drag_types[] = {
{ (gchar *) TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
@@ -594,6 +597,7 @@ etfci_start_drag (ETableFieldChooserItem *etfci,
etfci->width, button_height);
cr = cairo_create (cs);
+ cr = cairo_create (cs);
e_table_header_draw_button (
cr, ecol,
widget, 0, 0,
diff --git a/widgets/table/e-table-header-utils.c b/widgets/table/e-table-header-utils.c
index 0150ff02a6..df5ee66b56 100644
--- a/widgets/table/e-table-header-utils.c
+++ b/widgets/table/e-table-header-utils.c
@@ -187,6 +187,7 @@ e_table_header_draw_button (cairo_t *cr,
inner_width -= arrow_width + HEADER_PADDING;
break;
default:
+ cairo_restore (cr);
g_return_if_reached ();
}
@@ -263,6 +264,7 @@ e_table_header_draw_button (cairo_t *cr,
}
default:
+ cairo_restore (cr);
g_return_if_reached ();
}