[evolution] Remove the last remaining usage of GConf



commit 94daae3dba8e86e88f69320bc82795fe660ec9cd
Author: Milan Crha <mcrha redhat com>
Date:   Fri Jun 15 09:04:08 2012 +0200

    Remove the last remaining usage of GConf

 calendar/alarm-notify/Makefile.am                  |    2 -
 calendar/alarm-notify/notify-main.c                |    5 -
 calendar/gui/e-memo-list-selector.c                |    1 -
 configure.ac                                       |   17 -
 data/Makefile.am                                   |    1 +
 data/evolution.convert                             |    5 +
 data/org.gnome.evolution.mail.gschema.xml.in       |   10 +
 ...volution.plugin.publish-calendar.gschema.xml.in |    9 +
 doc/devel/evolution-plugin-manual.xml              |    2 +-
 e-util/e-util.h                                    |    1 -
 evolution-shell.pc.in                              |    2 +-
 mail/Makefile.am                                   |   35 -
 mail/e-mail-browser.c                              |    2 -
 mail/e-mail-migrate.c                              |  225 ---
 mail/e-mail-reader-utils.c                         |    1 -
 mail/em-utils.c                                    |   29 +-
 mail/evolution-mail.schemas.in                     | 1828 --------------------
 mail/importers/elm-importer.c                      |   25 +-
 mail/importers/pine-importer.c                     |   36 +-
 mail/mail-send-recv.c                              |    3 -
 modules/addressbook/Makefile.am                    |   35 -
 .../apps_evolution_addressbook.schemas.in          |  155 --
 modules/backup-restore/evolution-backup-tool.c     |   61 +-
 modules/bogofilter/Makefile.am                     |   34 -
 modules/bogofilter/evolution-bogofilter.schemas.in |   20 -
 modules/calendar/Makefile.am                       |   30 -
 .../calendar/apps_evolution_calendar.schemas.in    |  839 ---------
 modules/calendar/e-cal-shell-settings.c            |   37 +-
 modules/mail/e-mail-config-format-html.c           |   61 +-
 modules/mail/e-mail-config-web-view.c              |    2 +-
 modules/mail/e-mail-shell-settings.c               |    9 -
 modules/mail/em-composer-prefs.c                   |    2 +-
 modules/mail/em-mailer-prefs.c                     |   62 +-
 modules/mail/em-mailer-prefs.h                     |    2 -
 modules/mailto-handler/Makefile.am                 |   34 -
 ...-evolution-mail-prompts-checkdefault.schemas.in |   16 -
 modules/spamassassin/Makefile.am                   |   34 -
 modules/spamassassin/evolution-spamassassin.c      |    4 -
 .../spamassassin/evolution-spamassassin.schemas.in |   33 -
 plugins/attachment-reminder/Makefile.am            |   35 +-
 .../apps-evolution-attachment-reminder.schemas.in  |   26 -
 plugins/email-custom-header/Makefile.am            |   32 -
 .../apps_evolution_email_custom_header.schemas.in  |   17 -
 plugins/email-custom-header/email-custom-header.c  |  111 +-
 plugins/email-custom-header/email-custom-header.h  |    4 +-
 plugins/external-editor/Makefile.am                |   35 +-
 .../apps-evolution-external-editor.schemas.in      |   28 -
 plugins/face/Makefile.am                           |   37 +-
 .../face/apps_evolution_eplugin_face.schemas.in    |   17 -
 plugins/mail-notification/Makefile.am              |   35 +-
 .../apps-evolution-mail-notification.schemas.in    |   73 -
 plugins/publish-calendar/publish-calendar.c        |  114 +-
 plugins/publish-calendar/publish-location.c        |   56 +-
 plugins/publish-calendar/publish-location.h        |    3 +
 plugins/save-calendar/rdf-format.c                 |    1 -
 plugins/templates/Makefile.am                      |   35 +-
 ...apps-evolution-template-placeholders.schemas.in |   26 -
 po/POTFILES.in                                     |   14 +-
 shell/Makefile.am                                  |   37 -
 shell/apps_evolution_shell.schemas.in              |  408 -----
 shell/e-shell-migrate.c                            |    2 +-
 shell/e-shell-window-actions.c                     |    2 +-
 shell/e-shell-window.c                             |   10 +-
 shell/e-shell.c                                    |    4 +-
 shell/main.c                                       |    5 -
 65 files changed, 334 insertions(+), 4542 deletions(-)
---
diff --git a/calendar/alarm-notify/Makefile.am b/calendar/alarm-notify/Makefile.am
index 50cd856..775a369 100644
--- a/calendar/alarm-notify/Makefile.am
+++ b/calendar/alarm-notify/Makefile.am
@@ -21,7 +21,6 @@ evolution_alarm_notify_CPPFLAGS = 			\
 	$(EVOLUTION_DATA_SERVER_CFLAGS)			\
 	$(GNOME_PLATFORM_CFLAGS)			\
 	$(LIBNOTIFY_CFLAGS)				\
-	$(DBUS_GLIB_CFLAGS)				\
 	$(CANBERRA_CFLAGS)
 
 ui_DATA =		\
@@ -55,7 +54,6 @@ evolution_alarm_notify_LDADD =						\
 	$(EVOLUTION_DATA_SERVER_LIBS)					\
 	$(GNOME_PLATFORM_LIBS)						\
 	$(LIBNOTIFY_LIBS)						\
-	$(DBUS_GLIB_LIBS)						\
 	$(CANBERRA_LIBS)						\
 	$(EVOLUTIONALARMNOTIFYICON)
 
diff --git a/calendar/alarm-notify/notify-main.c b/calendar/alarm-notify/notify-main.c
index 0ddfc58..2b04104 100644
--- a/calendar/alarm-notify/notify-main.c
+++ b/calendar/alarm-notify/notify-main.c
@@ -30,8 +30,6 @@
 #include <stdlib.h>
 #include <glib/gi18n.h>
 
-#include <dbus/dbus-glib.h>
-
 #include "alarm-notify.h"
 
 #ifdef G_OS_WIN32
@@ -84,9 +82,6 @@ main (gint argc,
 
 	gtk_init (&argc, &argv);
 
-	/* this is to initialize threading for dbus-glib used by GConf */
-	dbus_g_thread_init ();
-
 	e_gdbus_templates_init_main_thread ();
 
 #ifdef G_OS_WIN32
diff --git a/calendar/gui/e-memo-list-selector.c b/calendar/gui/e-memo-list-selector.c
index 3e56230..8da45b6 100644
--- a/calendar/gui/e-memo-list-selector.c
+++ b/calendar/gui/e-memo-list-selector.c
@@ -19,7 +19,6 @@
  */
 
 #include <config.h>
-#include <gconf/gconf-client.h>
 
 #include "e-memo-list-selector.h"
 
diff --git a/configure.ac b/configure.ac
index fc42993..2256833 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,6 @@ m4_define([gnome_icon_theme_minimum_version], [2.30.2.1])
 m4_define([gsettings_desktop_schemas_minimum_version], [2.91.92])
 m4_define([webkitgtk_minimum_version], [1.8.0])
 m4_define([javascriptcoregtk_minimum_version], [1.8.0])
-m4_define([gconf_minimum_version], [2.0.0])		dnl XXX Just a Guess
 m4_define([libgdata_minimum_version], [0.10])
 m4_define([libsoup_minimum_version], [2.38.1])
 m4_define([libxml_minimum_version], [2.7.3])
@@ -252,7 +251,6 @@ PKG_CHECK_MODULES([GNOME_PLATFORM],
 	 cairo-gobject
 	 gtk+-3.0 >= gtk_minimum_version
 	 gail-3.0 >= gtk_minimum_version
-	 gconf-2.0 >= gconf_minimum_version
 	 libxml-2.0 >= libxml_minimum_version
 	 shared-mime-info >= shared_mime_info_minimum_version
 	 gnome-desktop-3.0 >= gnome_desktop_minimum_version
@@ -273,15 +271,6 @@ AC_SUBST(EVOLUTION_DATA_SERVER_CFLAGS)
 AC_SUBST(EVOLUTION_DATA_SERVER_LIBS)
 
 dnl ******************************
-dnl DBus-glib stuff, to initialize thread for GConf, which is using it
-dnl this is returned back only temporarily and wil lbe removed as soon
-dnl as eds will stop using GConf completely
-dnl ******************************
-PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= 0.6)
-AC_SUBST(DBUS_GLIB_CFLAGS)
-AC_SUBST(DBUS_GLIB_LIBS)
-
-dnl ******************************
 dnl Canberra / Canberra-GTK Sound
 dnl ******************************
 AC_ARG_ENABLE([canberra],
@@ -1468,12 +1457,6 @@ AC_SUBST(dist_plugins_base)
 AC_SUBST(dist_plugins_standard)
 AC_SUBST(dist_plugins_experimental)
 
-dnl ***********
-dnl GConf stuff
-dnl ***********
-AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
-AM_GCONF_SOURCE_2
-
 dnl ******************
 dnl Sub-version number
 dnl ******************
diff --git a/data/Makefile.am b/data/Makefile.am
index ea2ca3f..05a1d57 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -31,6 +31,7 @@ gsettings_SCHEMAS =							\
 	org.gnome.evolution.plugin.itip.gschema.xml			\
 	org.gnome.evolution.plugin.mail-notification.gschema.xml	\
 	org.gnome.evolution.plugin.prefer-plain.gschema.xml		\
+	org.gnome.evolution.plugin.publish-calendar.gschema.xml		\
 	org.gnome.evolution.plugin.templates.gschema.xml
 
 @INTLTOOL_XML_NOMERGE_RULE@
diff --git a/data/evolution.convert b/data/evolution.convert
index c370cd8..a1ab31d 100644
--- a/data/evolution.convert
+++ b/data/evolution.convert
@@ -133,6 +133,8 @@ composer-spell-color = /apps/evolution/mail/composer/spell_color
 composer-spell-languages = /apps/evolution/mail/composer/spell_languages
 composer-top-signature = /apps/evolution/mail/composer/top_signature
 default-account = /apps/evolution/mail/default_account
+drag-and-drop-save-file-format = /apps/evolution/mail/save_file_format
+drag-and-drop-save-name-format = /apps/evolution/mail/save_name_format
 error-level = /apps/evolution/mail/display/error_level
 error-timeout = /apps/evolution/mail/display/error_timeout
 filters-log-actions = /apps/evolution/mail/filters/log
@@ -278,5 +280,8 @@ notify-status-notification = /apps/evolution/eplugin/mail-notification/status-no
 mode = /apps/evolution/eplugin/prefer_plain/mode
 show-suppressed = /apps/evolution/eplugin/prefer_plain/show_suppressed
 
+[org.gnome.evolution.plugin.publish-calendar]
+uris = /apps/evolution/calendar/publish/uris
+
 [org.gnome.evolution.plugin.templates]
 template-placeholders = /apps/evolution/mail/template_placeholders
diff --git a/data/org.gnome.evolution.mail.gschema.xml.in b/data/org.gnome.evolution.mail.gschema.xml.in
index 42593bb..0e83413 100644
--- a/data/org.gnome.evolution.mail.gschema.xml.in
+++ b/data/org.gnome.evolution.mail.gschema.xml.in
@@ -130,6 +130,16 @@
       <_summary>List of localized 'Re'</_summary>
       <_description>Comma-separated list of localized 'Re' abbreviations to skip in a subject text when replying to a message, as an addition to the standard "Re" prefix. An example is 'SV,AV'.</_description>
     </key>
+    <key name="drag-and-drop-save-file-format" type="s">
+      <default>'mbox'</default>
+      <_summary>Save file format for drag-and-drop operation</_summary>
+      <_description>Can be either 'mbox' or 'pdf'.</_description>
+    </key>
+    <key name="drag-and-drop-save-name-format" type="i">
+      <default>1</default>
+      <_summary>Save name format for drag-and-drop operation</_summary>
+      <_description>Can be either 2 to use current date and time or any other value for sent date of the message. This has a meaning only when dropping just one message.</_description>
+    </key>
     <key name="show-animated-images" type="b">
       <default>false</default>
       <_summary>Show image animations</_summary>
diff --git a/data/org.gnome.evolution.plugin.publish-calendar.gschema.xml.in b/data/org.gnome.evolution.plugin.publish-calendar.gschema.xml.in
new file mode 100644
index 0000000..00073d2
--- /dev/null
+++ b/data/org.gnome.evolution.plugin.publish-calendar.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+  <schema gettext-domain="evolution" id="org.gnome.evolution.plugin.publish-calendar" path="/org/gnome/evolution/plugin/publish-calendar/">
+    <key name="uris" type="as">
+      <default>[]</default>
+      <_summary>List of Destinations for publishing</_summary>
+      <_description>The key specifies the list of destinations to where publish calendars. Each values specifies an XML with setup for publishing to one destination.</_description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/doc/devel/evolution-plugin-manual.xml b/doc/devel/evolution-plugin-manual.xml
index 2046910..2ea1ce4 100644
--- a/doc/devel/evolution-plugin-manual.xml
+++ b/doc/devel/evolution-plugin-manual.xml
@@ -2361,7 +2361,7 @@
 
 	    <para>The preferences target is used for global preferences.  As
 	      such it just contains a pointer to the global configuration store
-	      - a GConfClient.</para>
+	      - a GSettings.</para>
 	    
 	    <informaltable>
 	      <tgroup cols="2">
diff --git a/e-util/e-util.h b/e-util/e-util.h
index be3150b..11dd775 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -26,7 +26,6 @@
 #include <sys/types.h>
 #include <gtk/gtk.h>
 #include <limits.h>
-#include <gconf/gconf-client.h>
 
 #include <libedataserver/libedataserver.h>
 
diff --git a/evolution-shell.pc.in b/evolution-shell.pc.in
index 0ba8d7c..100202c 100644
--- a/evolution-shell.pc.in
+++ b/evolution-shell.pc.in
@@ -17,7 +17,7 @@ execversion= BASE_VERSION@
 Name: evolution-shell
 Description: libraries needed for Evolution shell components
 Version: @VERSION@
-Requires: gtk+-3.0 gconf-2.0 libebackend-1.2 libedataserverui-3.0 webkitgtk-3.0
+Requires: gtk+-3.0 libebackend-1.2 libedataserverui-3.0 webkitgtk-3.0
 Requires.private: gnome-desktop-3.0
 Libs: -L${privlibdir} -leshell -Wl,-R${privlibdir}
 Cflags: -I${privincludedir}
diff --git a/mail/Makefile.am b/mail/Makefile.am
index 7fa3dba..cd02ad6 100644
--- a/mail/Makefile.am
+++ b/mail/Makefile.am
@@ -274,7 +274,6 @@ EXTRA_DIST = 				\
 	README.async			\
 	mail.error.xml			\
 	$(ui_DATA)			\
-	$(schema_in_files)		\
 	$(server_in_files)		\
 	$(etspec_DATA)			\
 	filtertypes.xml			\
@@ -295,38 +294,6 @@ evolution-mail.pure: evolution-mail
 
 endif
 
-
-# GConf
-
-schemadir   = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = evolution-mail.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 # Prologue
 
 dist-hook:
@@ -336,6 +303,4 @@ BUILT_SOURCES = $(error_DATA)
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 -include $(top_srcdir)/git.mk
diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c
index eda9d6c..5b89154 100644
--- a/mail/e-mail-browser.c
+++ b/mail/e-mail-browser.c
@@ -45,8 +45,6 @@
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), E_TYPE_MAIL_BROWSER, EMailBrowserPrivate))
 
-#define MAIL_BROWSER_GCONF_PREFIX "/apps/evolution/mail/mail_browser"
-
 #define ACTION_GROUP_STANDARD		"action-group-standard"
 #define ACTION_GROUP_SEARCH_FOLDERS	"action-group-search-folders"
 
diff --git a/mail/e-mail-migrate.c b/mail/e-mail-migrate.c
index 8f913bb..857523f 100644
--- a/mail/e-mail-migrate.c
+++ b/mail/e-mail-migrate.c
@@ -42,8 +42,6 @@
 
 #include <gtk/gtk.h>
 
-#include <gconf/gconf-client.h>
-
 #include <libxml/tree.h>
 #include <libxml/parser.h>
 #include <libxml/xmlmemory.h>
@@ -271,152 +269,6 @@ emm_setup_initial (const gchar *data_dir)
 }
 
 static gboolean
-is_in_plugs_list (GSList *list,
-                  const gchar *value)
-{
-	GSList *l;
-
-	for (l = list; l; l = l->next) {
-		if (l->data && !strcmp (l->data, value))
-			return TRUE;
-	}
-
-	return FALSE;
-}
-
-/*
- * em_update_message_notify_settings_2_21
- * DBus plugin and sound email notification was merged to
- * mail-notification plugin, so move the options to new locations.
- */
-static void
-em_update_message_notify_settings_2_21 (void)
-{
-	GConfClient *client;
-	GConfValue  *is_key;
-	gboolean dbus, status;
-	GSList *list;
-	gchar *str;
-	gint val;
-
-	client = gconf_client_get_default ();
-
-	is_key = gconf_client_get (
-		client,
-		"/apps/evolution/eplugin/mail-notification/dbus-enabled", NULL);
-	if (is_key) {
-		/* already migrated, so do not migrate again */
-		gconf_value_free (is_key);
-		g_object_unref (client);
-
-		return;
-	}
-
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/status-blink-icon",
-		gconf_client_get_bool (
-			client,
-			"/apps/evolution/mail/notification/blink-status-icon",
-			NULL), NULL);
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/status-notification",
-		gconf_client_get_bool (
-			client,
-			"/apps/evolution/mail/notification/notification",
-			NULL), NULL);
-
-	list = gconf_client_get_list (
-		client, "/apps/evolution/eplugin/disabled",
-		GCONF_VALUE_STRING, NULL);
-	dbus = !is_in_plugs_list (list, "org.gnome.evolution.new_mail_notify");
-	status = !is_in_plugs_list (
-		list, "org.gnome.evolution.mail_notification");
-
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/dbus-enabled",
-		dbus, NULL);
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/status-enabled",
-		status, NULL);
-
-	if (!status) {
-		GSList *plugins, *l;
-
-		plugins = e_plugin_list_plugins ();
-
-		for (l = plugins; l; l = l->next) {
-			EPlugin *p = l->data;
-
-			if (p && p->id && !strcmp (p->id,
-				"org.gnome.evolution.mail_notification")) {
-				e_plugin_enable (p, 1);
-				break;
-			}
-		}
-
-		g_slist_foreach (plugins, (GFunc) g_object_unref, NULL);
-		g_slist_free (plugins);
-	}
-
-	g_slist_foreach (list, (GFunc) g_free, NULL);
-	g_slist_free (list);
-
-	val = gconf_client_get_int (
-		client, "/apps/evolution/mail/notify/type", NULL);
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/sound-enabled",
-		val == 1 || val == 2, NULL);
-	gconf_client_set_bool (
-		client,
-		"/apps/evolution/eplugin/mail-notification/sound-beep",
-		val == 0 || val == 1, NULL);
-
-	str = gconf_client_get_string (
-		client, "/apps/evolution/mail/notify/sound", NULL);
-	gconf_client_set_string (
-		client,
-		"/apps/evolution/eplugin/mail-notification/sound-file",
-		str ? str : "", NULL);
-	g_free (str);
-
-	g_object_unref (client);
-}
-
-/* fixing typo in SpamAssassin name */
-static void
-em_update_sa_junk_setting_2_23 (void)
-{
-	GConfClient *client;
-	GConfValue  *key;
-
-	client = gconf_client_get_default ();
-
-	key = gconf_client_get (
-		client, "/apps/evolution/mail/junk/default_plugin", NULL);
-	if (key) {
-		const gchar *str = gconf_value_get_string (key);
-
-		if (str && strcmp (str, "Spamassasin") == 0)
-			gconf_client_set_string (
-				client,
-				"/apps/evolution/mail/junk/default_plugin",
-				"SpamAssassin", NULL);
-
-		gconf_value_free (key);
-		g_object_unref (client);
-
-		return;
-	}
-
-	g_object_unref (client);
-}
-
-static gboolean
 mbox_to_maildir_migration_needed (EShellBackend *shell_backend)
 {
 	gchar *local_store;
@@ -694,66 +546,6 @@ migrate_local_store (EShellBackend *shell_backend)
 }
 
 static void
-em_ensure_proxy_ignore_hosts_being_list (void)
-{
-	const gchar *key = "/apps/evolution/shell/network_config/ignore_hosts";
-	GConfClient *client;
-	GConfValue  *key_value;
-
-	/* Makes sure the 'key' is a list of strings, not a string,
-	 * as set by previous versions. */
-
-	client = gconf_client_get_default ();
-	key_value = gconf_client_get (client, key, NULL);
-	if (key_value && key_value->type == GCONF_VALUE_STRING) {
-		gchar *value = gconf_client_get_string (client, key, NULL);
-		GSList *lst = NULL;
-		GError *error = NULL;
-
-		if (value && *value) {
-			gchar **split = g_strsplit (value, ",", -1);
-
-			if (split) {
-				gint ii;
-
-				for (ii = 0; split[ii]; ii++) {
-					const gchar *tmp = split[ii];
-
-					if (tmp && *tmp) {
-						gchar *val = g_strstrip (g_strdup (tmp));
-
-						if (val && *val)
-							lst = g_slist_append (lst, val);
-						else
-							g_free (val);
-					}
-				}
-			}
-
-			g_strfreev (split);
-		}
-
-		gconf_client_unset (client, key, NULL);
-		gconf_client_set_list (client, key, GCONF_VALUE_STRING, lst, &error);
-
-		g_slist_foreach (lst, (GFunc) g_free, NULL);
-		g_slist_free (lst);
-		g_free (value);
-
-		if (error) {
-			fprintf (
-				stderr, "%s: Failed to set a list values "
-				"with error: %s\n", G_STRFUNC, error->message);
-			g_error_free (error);
-		}
-	}
-
-	if (key_value)
-		gconf_value_free (key_value);
-	g_object_unref (client);
-}
-
-static void
 em_rename_view_in_folder (gpointer data,
                           gpointer user_data)
 {
@@ -860,23 +652,6 @@ e_mail_migrate (EShellBackend *shell_backend,
 	if (major == 0)
 		return emm_setup_initial (data_dir);
 
-#ifndef G_OS_WIN32
-	if (major < 2 || (major == 2 && minor < 22))
-		em_update_message_notify_settings_2_21 ();
-
-	if (major < 2 || (major == 2 && minor < 24))
-		em_update_sa_junk_setting_2_23 ();
-#else
-	if (major < 2 || (major == 2 && minor < 24))
-		g_warning (
-			"Upgrading from ancient versions %d.%d "
-			"not supported on Windows", major, minor);
-#endif
-
-	if (major < 2 || (major == 2 && minor < 32)) {
-		em_ensure_proxy_ignore_hosts_being_list ();
-	}
-
 	if (!migrate_local_store (shell_backend))
 		return FALSE;
 
diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c
index d1c3d3d..2030350 100644
--- a/mail/e-mail-reader-utils.c
+++ b/mail/e-mail-reader-utils.c
@@ -30,7 +30,6 @@
 #include <glib/gi18n.h>
 #include <libxml/tree.h>
 #include <gtkhtml/gtkhtml.h>
-#include <gconf/gconf-client.h>
 #include <camel/camel.h>
 
 #include "libevolution-utils/e-alert-dialog.h"
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 9be80fb..f4b9891 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -975,7 +975,7 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 	gchar *tmpdir;
 	gchar *uri;
 	gint fd;
-	GConfClient *client;
+	GSettings *settings;
 	gchar *exporttype;
 	gint exportname;
 
@@ -983,20 +983,21 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 	if (tmpdir == NULL)
 		return;
 
-	client = gconf_client_get_default ();
-	exporttype = gconf_client_get_string (
-		client, "/apps/evolution/mail/save_file_format", NULL);
-	if (exporttype == NULL)
+	settings = g_settings_new ("org.gnome.evolution.mail");
+	exporttype = g_settings_get_string (settings, "drag-and-drop-save-file-format");
+	if (g_strcmp0 (exporttype, "mbox") != 0 && g_strcmp0 (exporttype, "pdf") != 0) {
+		g_free (exporttype);
 		exporttype = g_strdup ("mbox");
-	exportname = gconf_client_get_int (
-		client, "/apps/evolution/mail/save_name_format", NULL);
+	}
+	exportname = g_settings_get_int (settings, "drag-and-drop-save-name-format");
+	g_object_unref (settings);
 
-	if (g_ascii_strcasecmp (exporttype, "mbox")==0) {
+	if (g_ascii_strcasecmp (exporttype, "mbox") == 0) {
 		gchar * file = NULL;
 		CamelStream *fstream;
 
 		if (uids->len > 1) {
-			gchar * tmp = g_strdup_printf(_("Messages from %s"), camel_folder_get_display_name (folder));
+			gchar * tmp = g_strdup_printf (_("Messages from %s"), camel_folder_get_display_name (folder));
 			e_filename_make_safe (tmp);
 			file = g_build_filename (tmpdir, tmp, NULL);
 			g_free (tmp);
@@ -1004,11 +1005,11 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 			file = em_utils_build_export_filename (folder, uids->pdata[0], exporttype, exportname, tmpdir);
 		}
 
-		g_free (tmpdir);
 		fd = g_open (file, O_WRONLY | O_CREAT | O_EXCL | O_BINARY, 0666);
 		if (fd == -1) {
 			g_free (file);
 			g_free (exporttype);
+			g_free (tmpdir);
 			return;
 		}
 
@@ -1029,9 +1030,10 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 			close (fd);
 
 		g_free (exporttype);
+		g_free (tmpdir);
 		g_free (file);
 		g_free (uri);
-	} else if(g_ascii_strcasecmp (exporttype, "pdf")==0) {
+	} else if (g_ascii_strcasecmp (exporttype, "pdf") == 0) {
 		gchar ** filenames, **uris;
 		gint i, uris_count = 0;
 
@@ -1066,7 +1068,6 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 		uris[uris_count] = NULL;
 		gtk_selection_data_set_uris (data, uris);
 
-		g_free (tmpdir);
 		for (i = 0; i < uids->len; i++) {
 			g_free (filenames[i]);
 		}
@@ -1076,10 +1077,10 @@ em_utils_selection_set_urilist (GtkSelectionData *data,
 		}
 		g_free (uris);
 		g_free (exporttype);
-
-	} else {
 		g_free (tmpdir);
+	} else {
 		g_free (exporttype);
+		g_free (tmpdir);
 	}
 }
 
diff --git a/mail/importers/elm-importer.c b/mail/importers/elm-importer.c
index bebcf97..24db104 100644
--- a/mail/importers/elm-importer.c
+++ b/mail/importers/elm-importer.c
@@ -36,8 +36,6 @@
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
-#include <gconf/gconf-client.h>
-
 #include "mail-importer.h"
 
 #include "libemail-utils/mail-mt.h"
@@ -221,18 +219,6 @@ elm_import_exec (struct _elm_import_msg *m,
 static void
 elm_import_done (struct _elm_import_msg *m)
 {
-	printf("importing complete\n");
-
-	if (m->base.error == NULL) {
-		GConfClient *gconf;
-		const gchar *key;
-
-		gconf = gconf_client_get_default ();
-		key = "/apps/evolution/importer/elm/mail";
-		gconf_client_set_bool (gconf, key, TRUE, NULL);
-		g_object_unref (gconf);
-	}
-
 	e_import_complete (m->import, (EImportTarget *) m->target);
 }
 
@@ -337,21 +323,14 @@ elm_getwidget (EImport *ei,
                EImportImporter *im)
 {
 	GtkWidget *box, *w;
-	GConfClient *gconf;
-	gboolean done_mail;
-
-	gconf = gconf_client_get_default ();
-	done_mail = gconf_client_get_bool (
-		gconf, "/apps/evolution/importer/elm/mail", NULL);
-	g_object_unref (gconf);
 
 	g_datalist_set_data (
-		&target->data, "elm-do-mail", GINT_TO_POINTER(!done_mail));
+		&target->data, "elm-do-mail", GINT_TO_POINTER(TRUE));
 
 	box = gtk_vbox_new (FALSE, 2);
 
 	w = gtk_check_button_new_with_label(_("Mail"));
-	gtk_toggle_button_set_active ((GtkToggleButton *) w, !done_mail);
+	gtk_toggle_button_set_active ((GtkToggleButton *) w, TRUE);
 	g_signal_connect (
 		w, "toggled",
 		G_CALLBACK (checkbox_toggle_cb), target);
diff --git a/mail/importers/pine-importer.c b/mail/importers/pine-importer.c
index b5dcd38..dbcc488 100644
--- a/mail/importers/pine-importer.c
+++ b/mail/importers/pine-importer.c
@@ -36,8 +36,6 @@
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
-#include <gconf/gconf-client.h>
-
 #include <libebook/libebook.h>
 
 #include "mail-importer.h"
@@ -291,23 +289,6 @@ pine_import_exec (struct _pine_import_msg *m,
 static void
 pine_import_done (struct _pine_import_msg *m)
 {
-	printf("importing complete\n");
-
-	if (m->base.error == NULL) {
-		GConfClient *gconf;
-
-		gconf = gconf_client_get_default ();
-		if (GPOINTER_TO_INT(g_datalist_get_data(&m->target->data, "pine-do-addr")))
-			gconf_client_set_bool (
-				gconf, "/apps/evolution/importer/pine/addr",
-				TRUE, NULL);
-		if (GPOINTER_TO_INT(g_datalist_get_data(&m->target->data, "pine-do-mail")))
-			gconf_client_set_bool (
-				gconf, "/apps/evolution/importer/pine/mail",
-				TRUE, NULL);
-		g_object_unref (gconf);
-	}
-
 	e_import_complete (m->import, (EImportTarget *) m->target);
 }
 
@@ -429,34 +410,25 @@ pine_getwidget (EImport *ei,
                 EImportImporter *im)
 {
 	GtkWidget *box, *w;
-	GConfClient *gconf;
-	gboolean done_mail, done_addr;
-
-	gconf = gconf_client_get_default ();
-	done_mail = gconf_client_get_bool (
-		gconf, "/apps/evolution/importer/pine/mail", NULL);
-	done_addr = gconf_client_get_bool (
-		gconf, "/apps/evolution/importer/pine/address", NULL);
-	g_object_unref (gconf);
 
 	g_datalist_set_data (
 		&target->data, "pine-do-mail",
-		GINT_TO_POINTER (!done_mail));
+		GINT_TO_POINTER (TRUE));
 	g_datalist_set_data (
 		&target->data, "pine-do-addr",
-		GINT_TO_POINTER (!done_addr));
+		GINT_TO_POINTER (TRUE));
 
 	box = gtk_vbox_new (FALSE, 2);
 
 	w = gtk_check_button_new_with_label(_("Mail"));
-	gtk_toggle_button_set_active ((GtkToggleButton *) w, !done_mail);
+	gtk_toggle_button_set_active ((GtkToggleButton *) w, TRUE);
 	g_signal_connect (
 		w, "toggled",
 		G_CALLBACK (checkbox_mail_toggle_cb), target);
 	gtk_box_pack_start ((GtkBox *) box, w, FALSE, FALSE, 0);
 
 	w = gtk_check_button_new_with_label(_("Address Book"));
-	gtk_toggle_button_set_active ((GtkToggleButton *) w, !done_addr);
+	gtk_toggle_button_set_active ((GtkToggleButton *) w, TRUE);
 	g_signal_connect (
 		w, "toggled",
 		G_CALLBACK (checkbox_addr_toggle_cb), target);
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c
index a132327..1670cf0 100644
--- a/mail/mail-send-recv.c
+++ b/mail/mail-send-recv.c
@@ -58,9 +58,6 @@
 /* pseudo-uri to key the send task on */
 #define SEND_URI_KEY "send-task:"
 
-/* Prefix for window size GConf keys */
-#define GCONF_KEY_PREFIX "/apps/evolution/mail/send_recv"
-
 /* send/receive email */
 
 /* ********************************************************************** */
diff --git a/modules/addressbook/Makefile.am b/modules/addressbook/Makefile.am
index f02d942..533a4bb 100644
--- a/modules/addressbook/Makefile.am
+++ b/modules/addressbook/Makefile.am
@@ -82,46 +82,11 @@ module_addressbook_la_LIBADD = \
 module_addressbook_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED)
 
-# GConf schemas
-
-schemadir   = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps_evolution_addressbook.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 ui_DATA =			\
 	ldap-config.ui
 
-DISTCLEANFILES = $(schema_DATA)
-
 EXTRA_DIST =			\
 	$(ui_DATA)		\
-	$(schema_in_files)	\
 	openldap-extract.h
 
 dist-hook:
diff --git a/modules/backup-restore/evolution-backup-tool.c b/modules/backup-restore/evolution-backup-tool.c
index 7d1caaf..d09efa3 100644
--- a/modules/backup-restore/evolution-backup-tool.c
+++ b/modules/backup-restore/evolution-backup-tool.c
@@ -53,8 +53,14 @@
 #define EVOLUTION "evolution"
 #define EVOLUTION_DIR "$DATADIR/"
 #define EVOLUTION_DIR_FILE EVOLUTION ".dir"
-#define GCONF_DUMP_FILE "backup-restore-gconf.xml"
-#define GCONF_DIR "/apps/evolution"
+
+#define ANCIENT_GCONF_DUMP_FILE "backup-restore-gconf.xml"
+
+#define DCONF_DUMP_FILE_EDS "backup-restore-dconf-eds.ini"
+#define DCONF_DUMP_FILE_EVO "backup-restore-dconf-evo.ini"
+
+#define DCONF_PATH_EDS "/org/gnome/evolution-data-server/"
+#define DCONF_PATH_EVO "/org/gnome/evolution/"
 
 static gboolean backup_op = FALSE;
 static gchar *bk_file = NULL;
@@ -313,10 +319,15 @@ backup (const gchar *filename,
 		return;
 
 	txt = _("Backing Evolution accounts and settings");
-	run_cmd ("gconftool-2 --dump " GCONF_DIR " > " EVOLUTION_DIR GCONF_DUMP_FILE);
+	run_cmd ("dconf dump " DCONF_PATH_EDS " >" EVOLUTION_DIR DCONF_DUMP_FILE_EDS);
+	run_cmd ("dconf dump " DCONF_PATH_EVO " >" EVOLUTION_DIR DCONF_DUMP_FILE_EVO);
+
+	replace_in_file (
+		EVOLUTION_DIR DCONF_DUMP_FILE_EDS,
+		e_get_user_data_dir (), EVOUSERDATADIR_MAGIC);
 
 	replace_in_file (
-		EVOLUTION_DIR GCONF_DUMP_FILE,
+		EVOLUTION_DIR DCONF_DUMP_FILE_EVO,
 		e_get_user_data_dir (), EVOUSERDATADIR_MAGIC);
 
 	write_dir_file ();
@@ -514,17 +525,35 @@ restore (const gchar *filename,
 
 	if (is_new_format) {
 		/* new format has it in DATADIR... */
-		replace_in_file (
-			EVOLUTION_DIR GCONF_DUMP_FILE,
-			EVOUSERDATADIR_MAGIC, e_get_user_data_dir ());
-		run_cmd ("gconftool-2 --load " EVOLUTION_DIR GCONF_DUMP_FILE);
-		run_cmd ("rm " EVOLUTION_DIR GCONF_DUMP_FILE);
+		GString *file = replace_variables (EVOLUTION_DIR ANCIENT_GCONF_DUMP_FILE);
+		if (file && g_file_test (file->str, G_FILE_TEST_EXISTS)) {
+			/* ancient backup */
+			replace_in_file (
+				EVOLUTION_DIR ANCIENT_GCONF_DUMP_FILE,
+				EVOUSERDATADIR_MAGIC, e_get_user_data_dir ());
+			run_cmd ("gconftool-2 --load " EVOLUTION_DIR ANCIENT_GCONF_DUMP_FILE);
+			run_cmd ("rm " EVOLUTION_DIR ANCIENT_GCONF_DUMP_FILE);
+		} else {
+			replace_in_file (
+				EVOLUTION_DIR DCONF_DUMP_FILE_EDS,
+				EVOUSERDATADIR_MAGIC, e_get_user_data_dir ());
+			run_cmd ("cat " EVOLUTION_DIR DCONF_DUMP_FILE_EDS " | dconf load " DCONF_PATH_EDS);
+			run_cmd ("rm " EVOLUTION_DIR DCONF_DUMP_FILE_EDS);
+
+			replace_in_file (
+				EVOLUTION_DIR DCONF_DUMP_FILE_EVO,
+				EVOUSERDATADIR_MAGIC, e_get_user_data_dir ());
+			run_cmd ("cat " EVOLUTION_DIR DCONF_DUMP_FILE_EVO " | dconf load " DCONF_PATH_EVO);
+			run_cmd ("rm " EVOLUTION_DIR DCONF_DUMP_FILE_EVO);
+		}
+
+		g_string_free (file, TRUE);
 	} else {
 		gchar *gconf_dump_file;
 
 		/* ... old format in ~/.evolution */
 		gconf_dump_file = g_build_filename (
-			"$HOME", ".evolution", GCONF_DUMP_FILE, NULL);
+			"$HOME", ".evolution", ANCIENT_GCONF_DUMP_FILE, NULL);
 
 		replace_in_file (
 			gconf_dump_file,
@@ -635,9 +664,19 @@ check (const gchar *filename,
 
 	command = g_strdup_printf (
 		"tar ztf %s | grep -e \"^\\.evolution/%s$\"",
-		quotedfname, GCONF_DUMP_FILE);
+		quotedfname, ANCIENT_GCONF_DUMP_FILE);
 	result = system (command);
 	g_free (command);
+
+	if (result != 0) {
+		/* maybe it's an ancient backup */
+		command = g_strdup_printf (
+			"tar ztf %s | grep -e \"^\\.evolution/%s$\"",
+			quotedfname, ANCIENT_GCONF_DUMP_FILE);
+		result = system (command);
+		g_free (command);
+	}
+
 	g_free (quotedfname);
 
 	g_message ("Third result %d", result);
diff --git a/modules/bogofilter/Makefile.am b/modules/bogofilter/Makefile.am
index 225e2a4..aaa72f9 100644
--- a/modules/bogofilter/Makefile.am
+++ b/modules/bogofilter/Makefile.am
@@ -22,38 +22,4 @@ module_bogofilter_la_LIBADD = \
 module_bogofilter_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED)
 
-schemadir = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = evolution-bogofilter.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
-DISTCLEANFILES = $(schema_DATA)
-
-EXTRA_DIST = $(schema_in_files)
-
 -include $(top_srcdir)/git.mk
diff --git a/modules/calendar/Makefile.am b/modules/calendar/Makefile.am
index 43465f3..0bcc72c 100644
--- a/modules/calendar/Makefile.am
+++ b/modules/calendar/Makefile.am
@@ -102,39 +102,9 @@ module_calendar_la_LIBADD = \
 module_calendar_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED)
 
-schemadir = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps_evolution_calendar.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
- INTLTOOL_SCHEMAS_RULE@
-
 ui_DATA = e-calendar-preferences.ui
 
 EXTRA_DIST =			\
-	$(schema_in_files)	\
 	$(ui_DATA)
 
-DISTCLEANFILES = $(schema_DATA)
-
-if GCONF_SCHEMAS_INSTALL
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-endif
-
 -include $(top_srcdir)/git.mk
diff --git a/modules/calendar/e-cal-shell-settings.c b/modules/calendar/e-cal-shell-settings.c
index e160d18..ade121d 100644
--- a/modules/calendar/e-cal-shell-settings.c
+++ b/modules/calendar/e-cal-shell-settings.c
@@ -104,10 +104,10 @@ transform_icaltimezone_to_string (GBinding *binding,
 }
 
 static gboolean
-transform_weekdays_gconf_to_evolution (GBinding *binding,
-                                       const GValue *source_value,
-                                       GValue *target_value,
-                                       gpointer user_data)
+transform_weekdays_settings_to_evolution (GBinding *binding,
+					  const GValue *source_value,
+					  GValue *target_value,
+					  gpointer user_data)
 {
 	GDateWeekday weekday;
 
@@ -119,7 +119,7 @@ transform_weekdays_gconf_to_evolution (GBinding *binding,
 
 	/* This is purposefully verbose for better readability. */
 
-	/* GConf numbering */
+	/* setting numbering */
 	switch (g_value_get_int (source_value)) {
 		case 0:
 			weekday = G_DATE_SUNDAY;
@@ -177,10 +177,10 @@ transform_weekdays_gconf_to_evolution (GBinding *binding,
 }
 
 static gboolean
-transform_weekdays_evolution_to_gconf (GBinding *binding,
-                                       const GValue *source_value,
-                                       GValue *target_value,
-                                       gpointer user_data)
+transform_weekdays_evolution_to_settings (GBinding *binding,
+					  const GValue *source_value,
+					  GValue *target_value,
+					  gpointer user_data)
 {
 	GDateWeekday weekday;
 
@@ -192,7 +192,7 @@ transform_weekdays_evolution_to_gconf (GBinding *binding,
 
 	/* This is purposefully verbose for better readability. */
 
-	/* GConf numbering */
+	/* setting numbering */
 	switch (g_value_get_int (source_value)) {
 		case 0:
 			weekday = G_DATE_MONDAY;
@@ -692,7 +692,7 @@ e_cal_shell_backend_init_settings (EShell *shell)
 
 	/* Do not bind to this.  Use "cal-week-start-day" instead. */
 	e_shell_settings_install_property_for_key (
-		"cal-week-start-day-gconf",
+		"cal-week-start-day-setting",
 		CALENDAR_SCHEMA,
 		"week-start-day");
 
@@ -727,11 +727,8 @@ e_cal_shell_backend_init_settings (EShell *shell)
 		"prefer-new-item");
 
 	/* These properties use transform functions to convert
-	 * GConf values to forms more useful to Evolution.  We
-	 * have to use separate properties because GConfBridge
-	 * does not support transform functions.  Much of this
-	 * is backward-compatibility cruft for poorly designed
-	 * GConf schemas. */
+	 * GSettings values to forms more useful to Evolution.
+	 */
 
 	e_shell_settings_install_property (
 		g_param_spec_enum (
@@ -815,15 +812,15 @@ e_cal_shell_backend_init_settings (EShell *shell)
 			G_PARAM_READWRITE));
 
 	g_object_bind_property_full (
-		shell_settings, "cal-week-start-day-gconf",
+		shell_settings, "cal-week-start-day-setting",
 		shell_settings, "cal-week-start-day",
 		G_BINDING_BIDIRECTIONAL |
 		G_BINDING_SYNC_CREATE,
-		transform_weekdays_gconf_to_evolution,
-		transform_weekdays_evolution_to_gconf,
+		transform_weekdays_settings_to_evolution,
+		transform_weekdays_evolution_to_settings,
 		NULL, (GDestroyNotify) NULL);
 
-	/* XXX These are my favorite.  Storing a bit array in GConf
+	/* XXX These are my favorite.  Storing a bit array in GSettings
 	 *     instead of separate boolean keys.  Brilliant move. */
 
 	e_shell_settings_install_property (
diff --git a/modules/mail/e-mail-config-format-html.c b/modules/mail/e-mail-config-format-html.c
index a764e7d..4b53d2d 100644
--- a/modules/mail/e-mail-config-format-html.c
+++ b/modules/mail/e-mail-config-format-html.c
@@ -32,28 +32,29 @@
 static gpointer parent_class;
 
 static void
-headers_changed_cb (GConfClient *client,
-                    guint cnxn_id,
-                    GConfEntry *entry,
+headers_changed_cb (GSettings *settings,
+                    const gchar *key,
                     gpointer user_data)
 {
-	GSList *header_config_list, *p;
+	gint ii;
+	gchar **headers;
 	EExtension *extension;
 	EMailFormatter *formatter;
 
-	g_return_if_fail (client != NULL);
+	g_return_if_fail (settings != NULL);
+
+	if (key && !g_str_equal (key, "headers"))
+		return;
 
 	extension = user_data;
 	formatter = E_MAIL_FORMATTER (e_extension_get_extensible (extension));
 
-	header_config_list = gconf_client_get_list (
-		client, "/apps/evolution/mail/display/headers",
-		GCONF_VALUE_STRING, NULL);
+	headers = g_settings_get_strv (settings, "headers");
 
 	e_mail_formatter_clear_headers (formatter);
-	for (p = header_config_list; p; p = g_slist_next (p)) {
+	for (ii = 0; headers && headers[ii]; ii++) {
 		EMailReaderHeader *h;
-		gchar *xml = (gchar *) p->data;
+		const gchar *xml = headers[ii];
 
 		h = e_mail_reader_header_from_xml (xml);
 		if (h && h->enabled)
@@ -64,26 +65,10 @@ headers_changed_cb (GConfClient *client,
 		e_mail_reader_header_free (h);
 	}
 
-	if (!header_config_list)
+	if (!headers || !headers[0])
 		e_mail_formatter_set_default_headers (formatter);
 
-	g_slist_foreach (header_config_list, (GFunc) g_free, NULL);
-	g_slist_free (header_config_list);
-}
-
-static void
-remove_header_notify_cb (gpointer data)
-{
-	GConfClient *client;
-	guint notify_id;
-
-	notify_id = GPOINTER_TO_INT (data);
-	g_return_if_fail (notify_id != 0);
-
-	client = gconf_client_get_default ();
-	gconf_client_notify_remove (client, notify_id);
-	gconf_client_remove_dir (client, "/apps/evolution/mail/display", NULL);
-	g_object_unref (client);
+	g_strfreev (headers);
 }
 
 static void
@@ -93,8 +78,7 @@ mail_config_format_html_constructed (GObject *object)
 	EExtensible *extensible;
 	EShellSettings *shell_settings;
 	EShell *shell;
-	GConfClient *client;
-	guint notify_id;
+	GSettings *settings;
 
 	extension = E_EXTENSION (object);
 	extensible = e_extension_get_extensible (extension);
@@ -140,21 +124,16 @@ mail_config_format_html_constructed (GObject *object)
 		G_BINDING_SYNC_CREATE);
 
 
-	client = gconf_client_get_default ();
-	gconf_client_add_dir (
-		client, "/apps/evolution/mail/display",
-		GCONF_CLIENT_PRELOAD_NONE, NULL);
-	notify_id = gconf_client_notify_add (
-		client, "/apps/evolution/mail/display/headers",
-		(GConfClientNotifyFunc) headers_changed_cb,
-		object, NULL, NULL);
+	settings = g_settings_new ("org.gnome.evolution.mail");
+	g_signal_connect (settings, "changed", G_CALLBACK (headers_changed_cb), object);
 
 	g_object_set_data_full (
-		G_OBJECT (extensible), "reader-header-notify-id",
-		GINT_TO_POINTER (notify_id), remove_header_notify_cb);
+		G_OBJECT (extensible), "reader-header-settings",
+		settings, g_object_unref);
+		
 
 	/* Initial synchronization */
-	headers_changed_cb (client, 0, NULL, object);
+	headers_changed_cb (settings, NULL, object);
 
 	/* Chain up to parent's constructed() method. */
 	G_OBJECT_CLASS (parent_class)->constructed (object);
diff --git a/modules/mail/e-mail-config-web-view.c b/modules/mail/e-mail-config-web-view.c
index 12e75df..2099511 100644
--- a/modules/mail/e-mail-config-web-view.c
+++ b/modules/mail/e-mail-config-web-view.c
@@ -79,7 +79,7 @@ mail_config_web_view_load_style (EMailConfigWebView *extension)
 
 	/* Some of our mail and composer preferences are passed down to
 	 * GtkHtml through style properties, unfortunately.  This builds
-	 * a style sheet for the EWebView using values from GConf. */
+	 * a style sheet for the EWebView using values from GSettings. */
 
 	custom_fonts = e_shell_settings_get_boolean (
 		extension->shell_settings, "mail-use-custom-fonts");
diff --git a/modules/mail/e-mail-shell-settings.c b/modules/mail/e-mail-shell-settings.c
index 8243f79..3b0c6b5 100644
--- a/modules/mail/e-mail-shell-settings.c
+++ b/modules/mail/e-mail-shell-settings.c
@@ -25,8 +25,6 @@
 
 #include "e-mail-shell-settings.h"
 
-#include <gconf/gconf-client.h>
-
 #include <mail/e-mail-backend.h>
 
 #include <shell/e-shell.h>
@@ -368,13 +366,6 @@ e_mail_shell_settings_init (EShellBackend *shell_backend)
 		MAIL_SCHEMA,
 		"paned-view-headers-state");
 
-	/* These properties use transform functions to convert
-	 * GConf values to forms more useful to Evolution.  We
-	 * have to use separate properties because GConfBridge
-	 * does not support transform functions.  Much of this
-	 * is backward-compatibility cruft for poorly designed
-	 * GConf schemas. */
-
 	e_shell_settings_install_property (
 		g_param_spec_enum (
 			"mail-sidebar-ellipsize",
diff --git a/modules/mail/em-composer-prefs.c b/modules/mail/em-composer-prefs.c
index 647e789..58700f2 100644
--- a/modules/mail/em-composer-prefs.c
+++ b/modules/mail/em-composer-prefs.c
@@ -208,7 +208,7 @@ spell_language_save (EMComposerPrefs *prefs)
 	}
 	spell_languages = g_list_reverse (spell_languages);
 
-	/* Update the GConf value. */
+	/* Update the GSettings value. */
 	e_save_spell_languages (spell_languages);
 
 	g_list_free (spell_languages);
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 9262ff8..b2381b2 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -100,7 +100,6 @@ em_mailer_prefs_finalize (GObject *object)
 	EMMailerPrefs *prefs = (EMMailerPrefs *) object;
 
 	g_object_unref (prefs->builder);
-	g_object_unref (prefs->gconf);
 	g_object_unref (prefs->settings);
 
 	/* Chain up to parent's finalize() method. */
@@ -120,9 +119,6 @@ static void
 em_mailer_prefs_init (EMMailerPrefs *preferences)
 {
 	preferences->settings = g_settings_new ("org.gnome.evolution.mail");
-
-	/* XXX Still need this for a little while longer. */
-	preferences->gconf = gconf_client_get_default ();
 }
 
 enum {
@@ -376,12 +372,12 @@ emmp_header_add_sensitivity (EMMailerPrefs *prefs)
 static void
 emmp_save_headers (EMMailerPrefs *prefs)
 {
-	GSList *header_list;
+	GPtrArray *headers;
 	GtkTreeIter iter;
 	gboolean valid;
 
 	/* Headers */
-	header_list = NULL;
+	headers = g_ptr_array_new_full (3, g_free);
 	valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (prefs->header_list_store), &iter);
 	while (valid) {
 		struct _EMailReaderHeader h;
@@ -397,16 +393,18 @@ emmp_save_headers (EMMailerPrefs *prefs)
 		h.enabled = enabled;
 
 		if ((xml = e_mail_reader_header_to_xml (&h)))
-			header_list = g_slist_append (header_list, xml);
+			g_ptr_array_add (headers, xml);
 
 		g_free (h.name);
 
 		valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (prefs->header_list_store), &iter);
 	}
 
-	gconf_client_set_list (prefs->gconf, "/apps/evolution/mail/display/headers", GCONF_VALUE_STRING, header_list, NULL);
-	g_slist_foreach (header_list, (GFunc) g_free, NULL);
-	g_slist_free (header_list);
+	g_ptr_array_add (headers, NULL);
+
+	g_settings_set_strv (prefs->settings, "headers", (const gchar * const *) headers->pdata);
+
+	g_ptr_array_free (headers, TRUE);
 }
 
 static void
@@ -706,7 +704,8 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
                            EMailSession *session,
                            EShell *shell)
 {
-	GSList *header_config_list, *header_add_list, *p;
+	GSList *header_add_list, *p;
+	gchar **headers_config;
 	EShellSettings *shell_settings;
 	GHashTable *default_header_hash;
 	GtkWidget *toplevel;
@@ -928,7 +927,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 		G_BINDING_SYNC_CREATE);
 
 	/* headers */
-	locked = !gconf_client_key_is_writable (prefs->gconf, "/apps/evolution/mail/display/headers", NULL);
+	locked = !g_settings_is_writable (prefs->settings, "headers");
 
 	widget = e_builder_get_widget (prefs->builder, "photo_show");
 	g_object_bind_property (
@@ -999,7 +998,7 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 						     NULL);
 
 	/* populated the listview with entries; firstly we add all the default headers, and then
-	 * we add read header configuration out of gconf. If a header in gconf is a default header,
+	 * we add read header configuration out of settings. If a header in settings is a default header,
 	 * we update the enabled flag accordingly
 	*/
 	header_add_list = NULL;
@@ -1015,31 +1014,30 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
 		header_add_list = g_slist_append (header_add_list, h);
 	}
 
-	/* read stored headers from gconf */
-	header_config_list = gconf_client_get_list (prefs->gconf, "/apps/evolution/mail/display/headers", GCONF_VALUE_STRING, NULL);
-	p = header_config_list;
-	while (p) {
-		EMailReaderHeader *h, *def;
-		gchar *xml = (gchar *) p->data;
-
-		h = e_mail_reader_header_from_xml (xml);
-		if (h) {
-			def = g_hash_table_lookup (default_header_hash, h->name);
-			if (def) {
-				def->enabled = h->enabled;
-				e_mail_reader_header_free (h);
-			} else {
-				h->is_default = FALSE;
-				header_add_list = g_slist_append (header_add_list, h);
+	/* read stored headers from settings */
+	headers_config = g_settings_get_strv (prefs->settings, "headers");
+	if (headers_config) {
+		for (i = 0; headers_config[i]; i++) {
+			EMailReaderHeader *h, *def;
+			const gchar *xml = headers_config[i];
+
+			h = e_mail_reader_header_from_xml (xml);
+			if (h) {
+				def = g_hash_table_lookup (default_header_hash, h->name);
+				if (def) {
+					def->enabled = h->enabled;
+					e_mail_reader_header_free (h);
+				} else {
+					h->is_default = FALSE;
+					header_add_list = g_slist_append (header_add_list, h);
+				}
 			}
 		}
 
-		p = p->next;
+		g_strfreev (headers_config);
 	}
 
 	g_hash_table_destroy (default_header_hash);
-	g_slist_foreach (header_config_list, (GFunc) g_free, NULL);
-	g_slist_free (header_config_list);
 
 	p = header_add_list;
 	while (p) {
diff --git a/modules/mail/em-mailer-prefs.h b/modules/mail/em-mailer-prefs.h
index d672d2c..4466e16 100644
--- a/modules/mail/em-mailer-prefs.h
+++ b/modules/mail/em-mailer-prefs.h
@@ -24,7 +24,6 @@
 #define EM_MAILER_PREFS_H
 
 #include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
 
 #include <shell/e-shell.h>
 #include <widgets/misc/e-preferences-window.h>
@@ -57,7 +56,6 @@ struct _EMMailerPrefs {
 	GtkVBox parent_object;
 
 	GtkBuilder *builder;
-	GConfClient *gconf;
 	GSettings *settings;
 
 	/* General tab */
diff --git a/modules/mailto-handler/Makefile.am b/modules/mailto-handler/Makefile.am
index f4349cf..e33a120 100644
--- a/modules/mailto-handler/Makefile.am
+++ b/modules/mailto-handler/Makefile.am
@@ -21,38 +21,4 @@ module_mailto_handler_la_LIBADD = \
 module_mailto_handler_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED)
 
-schemadir = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps-evolution-mail-prompts-checkdefault.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
-EXTRA_DIST = $(schema_in_files)
-
-DISTCLEANFILES = $(schema_DATA)
-
 -include $(top_srcdir)/git.mk
diff --git a/modules/spamassassin/Makefile.am b/modules/spamassassin/Makefile.am
index cb8f577..8475660 100644
--- a/modules/spamassassin/Makefile.am
+++ b/modules/spamassassin/Makefile.am
@@ -22,38 +22,4 @@ module_spamassassin_la_LIBADD = \
 module_spamassassin_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED)
 
-schemadir = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = evolution-spamassassin.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
-DISTCLEANFILES = $(schema_DATA)
-
-EXTRA_DIST = $(schema_in_files)
-
 -include $(top_srcdir)/git.mk
diff --git a/modules/spamassassin/evolution-spamassassin.c b/modules/spamassassin/evolution-spamassassin.c
index 7f595ca..275e921 100644
--- a/modules/spamassassin/evolution-spamassassin.c
+++ b/modules/spamassassin/evolution-spamassassin.c
@@ -1145,10 +1145,6 @@ e_spam_assassin_init (ESpamAssassin *extension)
 
 	extension->socket_path_mutex = g_mutex_new ();
 
-	/* XXX Once we move to GSettings these probably don't
-	 *     need to be properties anymore.  GConfBridge is
-	 *     just easier to deal with than GConfClient. */
-
 	settings = g_settings_new ("org.gnome.evolution.spamassassin");
 
 	g_settings_bind (
diff --git a/plugins/attachment-reminder/Makefile.am b/plugins/attachment-reminder/Makefile.am
index f9801b7..0339e01 100644
--- a/plugins/attachment-reminder/Makefile.am
+++ b/plugins/attachment-reminder/Makefile.am
@@ -36,45 +36,12 @@ liborg_gnome_evolution_attachment_reminder_la_LIBADD =	\
 	$(GNOME_PLATFORM_LIBS)				\
 	$(GTKHTML_LIBS)
 
-schemadir       = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps-evolution-attachment-reminder.schemas.in
-schema_DATA     = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 EXTRA_DIST = org-gnome-evolution-attachment-reminder.eplug.xml \
-	org-gnome-attachment-reminder.error.xml			\
-	$(schema_in_files)
+	org-gnome-attachment-reminder.error.xml
 
 BUILT_SOURCES = org-gnome-evolution-attachment-reminder.eplug \
 		org-gnome-attachment-reminder.error
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 -include $(top_srcdir)/git.mk
diff --git a/plugins/email-custom-header/Makefile.am b/plugins/email-custom-header/Makefile.am
index 75574a3..a8d6016 100644
--- a/plugins/email-custom-header/Makefile.am
+++ b/plugins/email-custom-header/Makefile.am
@@ -32,42 +32,11 @@ liborg_gnome_email_custom_header_la_LIBADD = 			\
 
 liborg_gnome_email_custom_header_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
 
-schemadir       = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps_evolution_email_custom_header.schemas.in
-schema_DATA     = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 ui_DATA =							\
 	org-gnome-email-custom-header.ui
 
 EXTRA_DIST = 							\
 	org-gnome-email-custom-header.eplug.xml			\
-	$(schema_in_files)					\
 	$(ui_DATA)					
 
 BUILT_SOURCES = 				\
@@ -75,6 +44,5 @@ BUILT_SOURCES = 				\
 	$(error_i18n)
 
 CLEANFILES = $(BUILT_SOURCES)
-DISTCLEANFILES = $(schema_DATA)
 
 -include $(top_srcdir)/git.mk
diff --git a/plugins/email-custom-header/email-custom-header.c b/plugins/email-custom-header/email-custom-header.c
index c0428a8..a88bad4 100644
--- a/plugins/email-custom-header/email-custom-header.c
+++ b/plugins/email-custom-header/email-custom-header.c
@@ -26,7 +26,6 @@
 
 #include <string.h>
 #include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
 #include "mail/em-utils.h"
 #include "mail/em-event.h"
 #include "composer/e-msg-composer.h"
@@ -35,18 +34,19 @@
 #include "email-custom-header.h"
 
 #define d(x)
-#define GCONF_KEY_CUSTOM_HEADER "/apps/evolution/eplugin/email_custom_header/customHeader"
+
+#define ECM_SETTINGS_ID  "org.gnome.evolution.plugin.email-custom-header"
+#define ECM_SETTINGS_KEY "custom-header"
 
 #define CUSTOM_HEADER_OPTIONS_DIALOG_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), EMAIL_CUSTOM_HEADER_OPTIONS_DIALOG, CustomHeaderOptionsDialogPrivate))
 
 typedef struct {
-        GConfClient *gconf;
-        GtkWidget   *treeview;
-        GtkWidget   *header_add;
-        GtkWidget   *header_edit;
-        GtkWidget   *header_remove;
+        GtkWidget *treeview;
+        GtkWidget *header_add;
+        GtkWidget *header_edit;
+        GtkWidget *header_remove;
         GtkListStore *store;
 } ConfigData;
 
@@ -197,11 +197,15 @@ epech_dialog_run (CustomHeaderOptionsDialog *mch,
                   GtkWidget *parent)
 {
 	CustomHeaderOptionsDialogPrivate *priv;
+	GSettings *settings;
 	GtkWidget *toplevel;
 
 	g_return_val_if_fail (mch != NULL || EMAIL_CUSTOM_HEADER_OPTIONS_IS_DIALOG (mch), FALSE);
 	priv = mch->priv;
-	epech_get_header_list (mch);
+
+	settings = g_settings_new (ECM_SETTINGS_ID);
+	epech_load_from_settings (settings, ECM_SETTINGS_KEY, mch);
+	g_object_unref (settings);
 
 	priv->builder = gtk_builder_new ();
 	e_load_ui_builder_definition (
@@ -228,41 +232,26 @@ epech_dialog_run (CustomHeaderOptionsDialog *mch,
 }
 
 static void
-epech_get_header_list (CustomHeaderOptionsDialog *mch)
-{
-	GConfClient *client;
-
-	client = gconf_client_get_default ();
-	g_return_if_fail (GCONF_IS_CLIENT (client));
-	gconf_client_add_dir (client, GCONF_KEY_CUSTOM_HEADER, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-	epech_load_from_gconf (client, "/apps/evolution/eplugin/email_custom_header/customHeader", mch);
-
-	return;
-}
-
-static void
-epech_load_from_gconf (GConfClient *client,
-                       const gchar *path,
-                       CustomHeaderOptionsDialog *mch)
+epech_load_from_settings (GSettings *settings,
+			  const gchar *key,
+			  CustomHeaderOptionsDialog *mch)
 {
 	CustomHeaderOptionsDialogPrivate *priv;
 	EmailCustomHeaderDetails temp_header_details= {-1, -1, NULL, NULL};
 	CustomSubHeader temp_header_value_details =  {NULL};
-	GSList *header_list,*q;
-	gchar *buffer;
+	gchar **headers;
 	gint index,pos;
 
 	priv = mch->priv;
 	priv->email_custom_header_details = g_array_new (TRUE, TRUE, sizeof (EmailCustomHeaderDetails));
-	header_list = gconf_client_get_list (client,path,GCONF_VALUE_STRING, NULL);
+	headers = g_settings_get_strv (settings, key);
 
-	for (q = header_list,pos = 0; q != NULL; q = q->next,pos++) {
+	for (pos = 0; headers && headers[pos]; pos++) {
 		gchar **parse_header_list;
 
-		memset (&temp_header_value_details,0,sizeof (CustomSubHeader));
+		memset (&temp_header_value_details, 0, sizeof (CustomSubHeader));
 		temp_header_details.sub_header_type_value = g_array_new (TRUE, TRUE, sizeof (CustomSubHeader));
-		buffer = q->data;
-		parse_header_list = g_strsplit_set (buffer, "=;,", -1);
+		parse_header_list = g_strsplit_set (headers[pos], "=;,", -1);
 		temp_header_details.header_type_value = g_string_new("");
 		if (temp_header_details.header_type_value) {
 			g_string_assign (temp_header_details.header_type_value, parse_header_list[0]);
@@ -283,6 +272,8 @@ epech_load_from_gconf (GConfClient *client,
 	}
 
 	temp_header_details.number_of_header = pos;
+
+	g_strfreev (headers);
 }
 
 static void
@@ -562,9 +553,12 @@ static void
 commit_changes (ConfigData *cd)
 {
 	GtkTreeModel *model = NULL;
-	GSList *header_config_list = NULL;
+	GPtrArray *headers;
 	GtkTreeIter iter;
 	gboolean valid;
+	GSettings *settings;
+
+	headers = g_ptr_array_new_full (3, g_free);
 
 	model = gtk_tree_view_get_model (GTK_TREE_VIEW (cd->treeview));
 	valid = gtk_tree_model_get_iter_first (model, &iter);
@@ -580,9 +574,12 @@ commit_changes (ConfigData *cd)
                 /* Check if the keyword is not empty */
 		if ((keyword) && (g_utf8_strlen (g_strstrip (keyword), -1) > 0)) {
 			if ((value) && (g_utf8_strlen (g_strstrip (value), -1) > 0)) {
+				gchar *tmp = keyword;
+
 				keyword = g_strconcat (keyword, "=", value, NULL);
+				g_free (tmp);
 			}
-			header_config_list = g_slist_append (header_config_list, g_strdup (keyword));
+			g_ptr_array_add (headers, g_strdup (keyword));
 		}
 
 		g_free (keyword);
@@ -591,10 +588,13 @@ commit_changes (ConfigData *cd)
 		valid = gtk_tree_model_iter_next (model, &iter);
 	}
 
-	gconf_client_set_list (cd->gconf, GCONF_KEY_CUSTOM_HEADER, GCONF_VALUE_STRING, header_config_list, NULL);
+	g_ptr_array_add (headers, NULL);
+
+	settings = g_settings_new (ECM_SETTINGS_ID);
+	g_settings_set_strv (settings, ECM_SETTINGS_KEY, (const gchar * const *) headers->pdata);
+	g_object_unref (settings);
 
-	g_slist_foreach (header_config_list, (GFunc) g_free, NULL);
-	g_slist_free (header_config_list);
+	g_ptr_array_free (headers, TRUE);
 }
 
 static void
@@ -759,7 +759,6 @@ destroy_cd_data (gpointer data)
 	if (!cd)
 		return;
 
-	g_object_unref (cd->gconf);
 	g_free (cd);
 }
 
@@ -770,13 +769,11 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
 	GtkTreeSelection *selection;
 	GtkTreeIter iter;
 	GtkWidget *hbox;
-	GSList *list;
-	GSList *header_list = NULL;
+	gchar **headers;
 	gint index;
-	gchar *buffer;
 	GtkTreeViewColumn *col;
 	gint col_pos;
-	GConfClient *client = gconf_client_get_default ();
+	GSettings *settings;
 	ConfigData *cd = g_new0 (ConfigData, 1);
 
 	GtkWidget *ech_configuration_box;
@@ -844,8 +841,6 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
 	gtk_container_add (GTK_CONTAINER (vbuttonbox1), header_remove);
 	gtk_widget_set_can_default (header_remove, TRUE);
 
-	cd->gconf = gconf_client_get_default ();
-
 	cd->treeview = header_treeview;
 
 	cd->store = gtk_list_store_new (HEADER_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING);
@@ -904,27 +899,29 @@ e_plugin_lib_get_configure_widget (EPlugin *epl)
 		G_CALLBACK (header_edit_clicked), cd);
 	gtk_widget_set_sensitive (cd->header_edit, FALSE);
 
-	/* Populate tree view with values from gconf */
-	header_list = gconf_client_get_list (client,GCONF_KEY_CUSTOM_HEADER,GCONF_VALUE_STRING, NULL);
+	/* Populate tree view with values from settings */
+	settings = g_settings_new (ECM_SETTINGS_ID);
+	headers = g_settings_get_strv (settings, ECM_SETTINGS_KEY);
+	g_object_unref (settings);
 
-	for (list = header_list; list; list = g_slist_next (list)) {
-		gchar **parse_header_list;
+	if (headers) {
+		gint ii;
 
-		buffer = list->data;
-		gtk_list_store_append (cd->store, &iter);
+		for (ii = 0; headers[ii]; ii++) {
+			gchar **parse_header_list;
 
-		parse_header_list = g_strsplit_set (buffer, "=,", -1);
+			gtk_list_store_append (cd->store, &iter);
 
-		gtk_list_store_set (cd->store, &iter, HEADER_KEY_COLUMN, parse_header_list[0], -1);
+			parse_header_list = g_strsplit_set (headers[ii], "=,", -1);
 
-		for (index = 0; parse_header_list[index + 1] ; ++index) {
-			gtk_list_store_set (cd->store, &iter, HEADER_VALUE_COLUMN, parse_header_list[index + 1], -1);
+			gtk_list_store_set (cd->store, &iter, HEADER_KEY_COLUMN, parse_header_list[0], -1);
+
+			for (index = 0; parse_header_list[index + 1] ; ++index) {
+				gtk_list_store_set (cd->store, &iter, HEADER_VALUE_COLUMN, parse_header_list[index + 1], -1);
+			}
 		}
-	}
 
-	if (header_list) {
-		g_slist_foreach (header_list, (GFunc) g_free, NULL);
-		g_slist_free (header_list);
+		g_strfreev (headers);
 	}
 
 	/* Add the list here */
diff --git a/plugins/email-custom-header/email-custom-header.h b/plugins/email-custom-header/email-custom-header.h
index 1a1c35c..49c4b74 100644
--- a/plugins/email-custom-header/email-custom-header.h
+++ b/plugins/email-custom-header/email-custom-header.h
@@ -86,7 +86,5 @@ static guint signals[LAST_SIGNAL] = {0};
 
 CustomHeaderOptionsDialog *epech_dialog_new (void);
 static gboolean epech_dialog_run (CustomHeaderOptionsDialog *mch, GtkWidget *parent);
-static void epech_get_header_list (CustomHeaderOptionsDialog *mch);
-static void epech_load_from_gconf (GConfClient *client,const gchar *path,CustomHeaderOptionsDialog *mch);
+static void epech_load_from_settings (GSettings *settings, const gchar *path, CustomHeaderOptionsDialog *mch);
 #endif
-
diff --git a/plugins/external-editor/Makefile.am b/plugins/external-editor/Makefile.am
index 0705993..f0ffd1a 100644
--- a/plugins/external-editor/Makefile.am
+++ b/plugins/external-editor/Makefile.am
@@ -48,46 +48,13 @@ liborg_gnome_external_editor_la_LIBADD = 			\
 	$(GNOME_PLATFORM_LIBS)					\
 	$(GTKHTML_LIBS)
 
-schemadir       = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps-evolution-external-editor.schemas.in
-schema_DATA     = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 EXTRA_DIST = 					\
 	org-gnome-external-editor.eplug.xml	\
-	org-gnome-external-editor.error.xml	\
-	$(schema_in_files)
+	org-gnome-external-editor.error.xml
 
 BUILT_SOURCES = org-gnome-external-editor.eplug \
 		org-gnome-external-editor.error
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 -include $(top_srcdir)/git.mk
diff --git a/plugins/face/Makefile.am b/plugins/face/Makefile.am
index f266a41..0522cc0 100644
--- a/plugins/face/Makefile.am
+++ b/plugins/face/Makefile.am
@@ -34,18 +34,9 @@ error_DATA = org-gnome-face.error
 
 errordir = $(privdatadir)/errors
 
-# GConf schemas
-
-schemadir   = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps_evolution_eplugin_face.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
 EXTRA_DIST = 				\
 	org-gnome-face.eplug.xml	\
-	org-gnome-face.error.xml	\
-	$(schema_in_files)
+	org-gnome-face.error.xml
 
 BUILT_SOURCES = 			\
 	org-gnome-face.eplug 		\
@@ -53,30 +44,4 @@ BUILT_SOURCES = 			\
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 -include $(top_srcdir)/git.mk
diff --git a/plugins/mail-notification/Makefile.am b/plugins/mail-notification/Makefile.am
index 65b3acb..042dcd0 100644
--- a/plugins/mail-notification/Makefile.am
+++ b/plugins/mail-notification/Makefile.am
@@ -37,44 +37,11 @@ liborg_gnome_mail_notification_la_LIBADD = 			\
 	$(CANBERRA_LIBS)					\
 	$(GTKHTML_LIBS)
 
-schemadir       = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps-evolution-mail-notification.schemas.in
-schema_DATA     = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 BUILT_SOURCES = $(plugin_DATA)
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 EXTRA_DIST = 					\
-	org-gnome-mail-notification.eplug.xml	\
-	$(schema_in_files)
+	org-gnome-mail-notification.eplug.xml
 
 -include $(top_srcdir)/git.mk
diff --git a/plugins/publish-calendar/publish-calendar.c b/plugins/publish-calendar/publish-calendar.c
index af4eb28..ff9814f 100644
--- a/plugins/publish-calendar/publish-calendar.c
+++ b/plugins/publish-calendar/publish-calendar.c
@@ -26,7 +26,6 @@
 
 #include <string.h>
 #include <gtk/gtk.h>
-#include <gconf/gconf-client.h>
 #include <glib/gi18n.h>
 #include <gio/gio.h>
 
@@ -470,12 +469,12 @@ publish (EPublishUri *uri,
 }
 
 typedef struct {
-	GConfClient *gconf;
-	GtkWidget   *treeview;
-	GtkWidget   *url_add;
-	GtkWidget   *url_edit;
-	GtkWidget   *url_remove;
-	GtkWidget   *url_enable;
+	GSettings *settings;
+	GtkWidget *treeview;
+	GtkWidget *url_add;
+	GtkWidget *url_edit;
+	GtkWidget *url_remove;
+	GtkWidget *url_enable;
 } PublishUIData;
 
 static void
@@ -499,9 +498,12 @@ add_timeout (EPublishUri *uri)
 static void
 update_timestamp (EPublishUri *uri)
 {
-	GConfClient *client;
-	GSList *uris, *l;
+	GSettings *settings;
+	gchar **set_uris;
+	GPtrArray *uris_array;
+	gboolean found = FALSE;
 	gchar *xml;
+	gint ii;
 	guint id;
 
 	/* Remove timeout if we have one */
@@ -511,32 +513,40 @@ update_timestamp (EPublishUri *uri)
 		add_timeout (uri);
 	}
 
-	/* Update timestamp in gconf */
+	/* Update timestamp in settings */
 	xml = e_publish_uri_to_xml (uri);
 
-	client = gconf_client_get_default ();
-	uris = gconf_client_get_list (client, "/apps/evolution/calendar/publish/uris", GCONF_VALUE_STRING, NULL);
-	for (l = uris; l; l = g_slist_next (l)) {
-		gchar *d = l->data;
-		if (strcmp (d, xml) == 0) {
-			uris = g_slist_remove (uris, d);
-			g_free (d);
-			break;
-		}
-	}
-	g_free (xml);
-
 	if (uri->last_pub_time)
 		g_free (uri->last_pub_time);
 	uri->last_pub_time = g_strdup_printf ("%d", (gint) time (NULL));
 
-	uris = g_slist_prepend (uris, e_publish_uri_to_xml (uri));
+	uris_array = g_ptr_array_new_full (3, g_free);
+	settings = g_settings_new (PC_SETTINGS_ID);
+	set_uris = g_settings_get_strv (settings, PC_SETTINGS_URIS);
+
+	for (ii = 0; set_uris && set_uris[ii]; ii++) {
+		const gchar *d = set_uris[ii];
+
+		if (!found && g_str_equal (d, xml)) {
+			found = TRUE;
+			g_ptr_array_add (uris_array, e_publish_uri_to_xml (uri));
+		} else {
+			g_ptr_array_add (uris_array, g_strdup (d));
+		}
+	}
+
+	g_strfreev (set_uris);
+	g_free (xml);
 
-	gconf_client_set_list (client, "/apps/evolution/calendar/publish/uris", GCONF_VALUE_STRING, uris, NULL);
+	/* this should not happen, right? */
+	if (!found)
+		g_ptr_array_add (uris_array, e_publish_uri_to_xml (uri));
+	g_ptr_array_add (uris_array, NULL);
 
-	g_slist_foreach (uris, (GFunc) g_free, NULL);
-	g_slist_free (uris);
-	g_object_unref (client);
+	g_settings_set_strv (settings, PC_SETTINGS_URIS, (const gchar * const *) uris_array->pdata);
+
+	g_object_unref (settings);
+	g_ptr_array_free (uris_array, TRUE);
 }
 
 static void
@@ -575,12 +585,12 @@ static void
 url_list_changed (PublishUIData *ui)
 {
 	GtkTreeModel *model = NULL;
-	GSList *url_list = NULL;
+	GPtrArray *uris;
 	GtkTreeIter iter;
 	gboolean valid;
-	GConfClient *client;
+	GSettings *settings;
 
-	url_list = NULL;
+	uris = g_ptr_array_new_full (3, g_free);
 
 	model = gtk_tree_view_get_model (GTK_TREE_VIEW (ui->treeview));
 	valid = gtk_tree_model_get_iter_first (model, &iter);
@@ -590,15 +600,19 @@ url_list_changed (PublishUIData *ui)
 
 		gtk_tree_model_get (model, &iter, URL_LIST_URL_COLUMN, &url, -1);
 
-		if ((xml = e_publish_uri_to_xml (url)))
-			url_list = g_slist_append (url_list, xml);
+		if ((xml = e_publish_uri_to_xml (url)) != NULL)
+			g_ptr_array_add (uris, xml);
 
 		valid = gtk_tree_model_iter_next (model, &iter);
 	}
-	client = gconf_client_get_default ();
-	gconf_client_set_list (client, "/apps/evolution/calendar/publish/uris", GCONF_VALUE_STRING, url_list, NULL);
-	g_slist_foreach (url_list, (GFunc) g_free, NULL);
-	g_slist_free (url_list);
+
+	g_ptr_array_add (uris, NULL);
+
+	settings = g_settings_new (PC_SETTINGS_ID);
+	g_settings_set_strv (settings, PC_SETTINGS_URIS, (const gchar * const *) uris->pdata);
+	g_object_unref (settings);
+
+	g_ptr_array_free (uris, TRUE);
 }
 
 static void
@@ -926,21 +940,18 @@ publish_urls (gpointer data)
 }
 
 static gpointer
-publish_uris_set_timeout (GSList *uris)
+publish_uris_set_timeout (gchar **uris)
 {
-	GSList *l;
+	gint ii;
 
 	uri_timeouts = g_hash_table_new (g_direct_hash, g_direct_equal);
-	l = uris;
-
-	while (l) {
-		gchar *xml = l->data;
 
+	for (ii = 0; uris && uris[ii]; ii++) {
+		const gchar *xml = uris[ii];
 		EPublishUri *uri = e_publish_uri_from_xml (xml);
 
 		if (!uri->location) {
 			g_free (uri);
-			l = g_slist_next (l);
 			continue;
 		}
 
@@ -948,11 +959,9 @@ publish_uris_set_timeout (GSList *uris)
 
 		/* Add a timeout based on the last publish time */
 		add_offset_timeout (uri);
-
-		l = g_slist_next (l);
 	}
-	g_slist_foreach (uris, (GFunc) g_free, NULL);
-	g_slist_free (uris);
+
+	g_strfreev (uris);
 
 	return NULL;
 }
@@ -961,8 +970,6 @@ gint
 e_plugin_lib_enable (EPlugin *ep,
                      gint enable)
 {
-	GSList *uris;
-	GConfClient *client;
 	EShell *shell = e_shell_get_default ();
 
 	if (shell) {
@@ -976,17 +983,20 @@ e_plugin_lib_enable (EPlugin *ep,
 	}
 
 	if (enable) {
+		GSettings *settings;
+		gchar **uris;
 		GThread *thread = NULL;
 		GError *error = NULL;
 
-		client = gconf_client_get_default ();
-		uris = gconf_client_get_list (client, "/apps/evolution/calendar/publish/uris", GCONF_VALUE_STRING, NULL);
+		settings = g_settings_new (PC_SETTINGS_ID);
+		uris = g_settings_get_strv (settings, PC_SETTINGS_URIS);
+		g_object_unref (settings);
+
 		thread = g_thread_create ((GThreadFunc) publish_uris_set_timeout, uris, FALSE, &error);
 		if (!thread) {
 			g_warning ("Could create thread to set timeout for publishing uris : %s", error->message);
 			g_error_free (error);
 		}
-		g_object_unref (client);
 	}
 
 	return 0;
diff --git a/plugins/publish-calendar/publish-location.c b/plugins/publish-calendar/publish-location.c
index 12fd8a3..c0d46c1 100644
--- a/plugins/publish-calendar/publish-location.c
+++ b/plugins/publish-calendar/publish-location.c
@@ -29,34 +29,23 @@
 
 #include <string.h>
 #include <libxml/tree.h>
-#include <gconf/gconf-client.h>
 #include <libedataserverui/libedataserverui.h>
 
 static EPublishUri *
 migrateURI (const gchar *xml,
             xmlDocPtr doc)
 {
-	GConfClient *client;
-	GSList *uris, *l, *events = NULL;
+	GSettings *settings;
+	GSList *events = NULL;
+	gchar **set_uris;
+	GPtrArray *uris_array;
 	xmlChar *location, *enabled, *frequency, *username;
 	xmlNodePtr root, p;
 	EPublishUri *uri;
 	gchar *password, *temp;
 	EUri *euri;
-
-	client = gconf_client_get_default ();
-	uris = gconf_client_get_list (
-		client, "/apps/evolution/calendar/publish/uris",
-		GCONF_VALUE_STRING, NULL);
-	l = uris;
-	while (l && l->data) {
-		gchar *str = l->data;
-		if (strcmp (xml, str) == 0) {
-			uris = g_slist_remove (uris, str);
-			g_free (str);
-		}
-		l = g_slist_next (l);
-	}
+	gint ii;
+	gboolean found = FALSE;
 
 	uri = g_new0 (EPublishUri, 1);
 
@@ -106,13 +95,32 @@ migrateURI (const gchar *xml,
 	}
 	uri->events = events;
 
-	uris = g_slist_prepend (uris, e_publish_uri_to_xml (uri));
-	gconf_client_set_list (
-		client, "/apps/evolution/calendar/publish/uris",
-		GCONF_VALUE_STRING, uris, NULL);
-	g_slist_foreach (uris, (GFunc) g_free, NULL);
-	g_slist_free (uris);
-	g_object_unref (client);
+	uris_array = g_ptr_array_new_full (3, g_free);
+
+	settings = g_settings_new (PC_SETTINGS_ID);
+	set_uris = g_settings_get_strv (settings, PC_SETTINGS_URIS);
+
+	for (ii = 0; set_uris && set_uris[ii]; ii++) {
+		const gchar *str = set_uris[ii];
+		if (!found && g_str_equal (xml, str)) {
+			found = TRUE;
+			g_ptr_array_add (uris_array, e_publish_uri_to_xml (uri));
+		} else {
+			g_ptr_array_add (uris_array, g_strdup (str));
+		}
+	}
+
+	g_strfreev (set_uris);
+
+	/* this should not happen, right? */
+	if (!found)
+		g_ptr_array_add (uris_array, e_publish_uri_to_xml (uri));
+	g_ptr_array_add (uris_array, NULL);
+
+	g_settings_set_strv (settings, PC_SETTINGS_URIS, (const gchar * const *) uris_array->pdata);
+
+	g_ptr_array_free (uris_array, TRUE);
+	g_object_unref (settings);
 
 cleanup:
 	xmlFree (location);
diff --git a/plugins/publish-calendar/publish-location.h b/plugins/publish-calendar/publish-location.h
index a55d432..e70af36 100644
--- a/plugins/publish-calendar/publish-location.h
+++ b/plugins/publish-calendar/publish-location.h
@@ -26,6 +26,9 @@
 
 #include <glib.h>
 
+#define PC_SETTINGS_ID "org.gnome.evolution.plugin.publish-calendar"
+#define PC_SETTINGS_URIS "uris"
+
 G_BEGIN_DECLS
 
 enum publish_frequency {
diff --git a/plugins/save-calendar/rdf-format.c b/plugins/save-calendar/rdf-format.c
index b042ee0..0c7d97c 100644
--- a/plugins/save-calendar/rdf-format.c
+++ b/plugins/save-calendar/rdf-format.c
@@ -26,7 +26,6 @@
 
 #include <string.h>
 #include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
 
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
diff --git a/plugins/templates/Makefile.am b/plugins/templates/Makefile.am
index c899a44..d4a637d 100644
--- a/plugins/templates/Makefile.am
+++ b/plugins/templates/Makefile.am
@@ -29,43 +29,10 @@ liborg_gnome_templates_la_LIBADD =	\
 	$(GNOME_PLATFORM_LIBS)				\
 	$(GTKHTML_LIBS)
 
-schemadir       = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps-evolution-template-placeholders.schemas.in
-schema_DATA     = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
-EXTRA_DIST = 	org-gnome-templates.eplug.xml	\
-		$(schema_in_files)
+EXTRA_DIST = 	org-gnome-templates.eplug.xml
 
 BUILT_SOURCES = org-gnome-templates.eplug
 
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 -include $(top_srcdir)/git.mk
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 837dbd5..2b95bb9 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -150,6 +150,7 @@ data/org.gnome.evolution.plugin.face-picture.gschema.xml.in
 data/org.gnome.evolution.plugin.itip.gschema.xml.in
 data/org.gnome.evolution.plugin.mail-notification.gschema.xml.in
 data/org.gnome.evolution.plugin.prefer-plain.gschema.xml.in
+data/org.gnome.evolution.plugin.publish-calendar.gschema.xml.in
 data/org.gnome.evolution.plugin.templates.gschema.xml.in
 data/org.gnome.evolution.shell.gschema.xml.in
 data/org.gnome.evolution.spamassassin.gschema.xml.in
@@ -259,7 +260,6 @@ mail/em-subscription-editor.c
 mail/em-utils.c
 mail/em-vfolder-editor.c
 mail/em-vfolder-editor-rule.c
-mail/evolution-mail.schemas.in
 mail/importers/elm-importer.c
 mail/importers/evolution-mbox-importer.c
 mail/importers/mail-importer.c
@@ -273,7 +273,6 @@ mail/mail-vfolder-ui.c
 mail/message-list.c
 mail/message-list.etspec
 mail/searchtypes.xml
-modules/addressbook/apps_evolution_addressbook.schemas.in
 modules/addressbook/autocompletion-config.c
 modules/addressbook/eab-composer-util.c
 modules/addressbook/e-book-shell-backend.c
@@ -290,7 +289,6 @@ modules/backup-restore/evolution-backup-restore.c
 modules/backup-restore/evolution-backup-tool.c
 modules/backup-restore/org-gnome-backup-restore.error.xml
 modules/bogofilter/evolution-bogofilter.c
-modules/bogofilter/evolution-bogofilter.schemas.in
 modules/book-config-google/evolution-book-config-google.c
 modules/book-config-ldap/evolution-book-config-ldap.c
 modules/book-config-webdav/evolution-book-config-webdav.c
@@ -305,7 +303,6 @@ modules/cal-config-google/evolution-cal-config-google.c
 modules/cal-config-local/evolution-cal-config-local.c
 modules/cal-config-weather/evolution-cal-config-weather.c
 modules/cal-config-webcal/evolution-cal-config-webcal.c
-modules/calendar/apps_evolution_calendar.schemas.in
 modules/calendar/e-cal-attachment-handler.c
 modules/calendar/e-calendar-preferences.c
 [type: gettext/glade]modules/calendar/e-calendar-preferences.ui
@@ -352,7 +349,6 @@ modules/mail/e-mail-shell-view.c
 modules/mail/e-mail-shell-view-private.c
 modules/mail/em-composer-prefs.c
 modules/mail/em-mailer-prefs.c
-modules/mailto-handler/apps-evolution-mail-prompts-checkdefault.schemas.in
 modules/mailto-handler/evolution-mailto-handler.c
 modules/mdn/evolution-mdn.c
 modules/mdn/evolution-mdn.error.xml
@@ -365,7 +361,6 @@ modules/prefer-plain/e-mail-parser-prefer-plain.c
 modules/prefer-plain/plugin/config-ui.c
 modules/prefer-plain/plugin/org-gnome-prefer-plain.eplug.xml
 modules/spamassassin/evolution-spamassassin.c
-modules/spamassassin/evolution-spamassassin.schemas.in
 modules/startup-wizard/e-mail-config-import-page.c
 modules/startup-wizard/e-mail-config-import-progress-page.c
 modules/startup-wizard/e-startup-assistant.c
@@ -374,7 +369,6 @@ modules/text-highlight/text-highlight.c
 modules/vcard-inline/e-mail-formatter-vcard-inline.c
 modules/vcard-inline/e-mail-parser-vcard-inline.c
 modules/web-inspector/evolution-web-inspector.c
-plugins/attachment-reminder/apps-evolution-attachment-reminder.schemas.in
 plugins/attachment-reminder/attachment-reminder.c
 plugins/attachment-reminder/org-gnome-attachment-reminder.error.xml
 plugins/attachment-reminder/org-gnome-evolution-attachment-reminder.eplug.xml
@@ -382,15 +376,12 @@ plugins/bbdb/bbdb.c
 plugins/bbdb/org-gnome-evolution-bbdb.eplug.xml
 plugins/dbx-import/dbx-importer.c
 plugins/dbx-import/org-gnome-dbx-import.eplug.xml
-plugins/email-custom-header/apps_evolution_email_custom_header.schemas.in
 plugins/email-custom-header/email-custom-header.c
 plugins/email-custom-header/org-gnome-email-custom-header.eplug.xml
 [type: gettext/glade]plugins/email-custom-header/org-gnome-email-custom-header.ui
-plugins/external-editor/apps-evolution-external-editor.schemas.in
 plugins/external-editor/external-editor.c
 plugins/external-editor/org-gnome-external-editor.eplug.xml
 plugins/external-editor/org-gnome-external-editor.error.xml
-plugins/face/apps_evolution_eplugin_face.schemas.in
 plugins/face/face.c
 plugins/face/org-gnome-face.eplug.xml
 plugins/face/org-gnome-face.error.xml
@@ -398,7 +389,6 @@ plugins/image-inline/org-gnome-image-inline.eplug.xml
 plugins/mailing-list-actions/mailing-list-actions.c
 plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.xml
 plugins/mailing-list-actions/org-gnome-mailing-list-actions.error.xml
-plugins/mail-notification/apps-evolution-mail-notification.schemas.in
 plugins/mail-notification/mail-notification.c
 plugins/mail-notification/org-gnome-mail-notification.eplug.xml
 plugins/mail-to-task/mail-to-task.c
@@ -418,10 +408,8 @@ plugins/save-calendar/ical-format.c
 plugins/save-calendar/org-gnome-save-calendar.eplug.xml
 plugins/save-calendar/rdf-format.c
 plugins/save-calendar/save-calendar.c
-plugins/templates/apps-evolution-template-placeholders.schemas.in
 plugins/templates/org-gnome-templates.eplug.xml
 plugins/templates/templates.c
-shell/apps_evolution_shell.schemas.in
 shell/e-shell-backend.c
 shell/e-shell.c
 shell/e-shell-content.c
diff --git a/shell/Makefile.am b/shell/Makefile.am
index 9259d63..9edfe88 100644
--- a/shell/Makefile.am
+++ b/shell/Makefile.am
@@ -62,7 +62,6 @@ libeshell_la_CPPFLAGS =						\
 	$(GNOME_PLATFORM_CFLAGS)				\
 	$(EGG_SMCLIENT_CFLAGS)					\
 	$(GTKHTML_CFLAGS)					\
-	$(DBUS_GLIB_CFLAGS)					\
 	$(CLUTTER_CFLAGS)
 
 libeshell_la_SOURCES =				\
@@ -101,7 +100,6 @@ libeshell_la_LIBADD =					\
 	$(EVOLUTION_DATA_SERVER_LIBS)			\
 	$(GNOME_PLATFORM_LIBS)				\
 	$(EGG_SMCLIENT_LIBS)				\
-	$(DBUS_GLIB_LIBS)				\
 	$(CLUTTER_LIBS)
 
 # Evolution executable
@@ -185,43 +183,10 @@ error_DATA = shell.error
 errordir = $(privdatadir)/errors
 @EVO_PLUGIN_RULE@
 
-# GConf schemas
-
-schemadir   = $(GCONF_SCHEMA_FILE_DIR)
-schema_in_files = apps_evolution_shell.schemas.in
-schema_DATA = $(schema_in_files:.schemas.in=.schemas)
-
- INTLTOOL_SCHEMAS_RULE@
-
-if GCONF_SCHEMAS_INSTALL
-
-if OS_WIN32
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			(echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE);	\
-			 echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat;	\
-			cmd /c _temp.bat; 						\
-			rm _temp.bat;							\
-		done									\
-	fi
-else
-install-data-local:
-	if test -z "$(DESTDIR)" ; then							\
-		for p in $(schema_DATA) ; do						\
-			GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) 		\
-				$(GCONFTOOL) --makefile-install-rule $$p;		\
-		done									\
-	fi
-endif
-
-endif
-
 # Extra dist stuff
 
 EXTRA_DIST = 					\
 	shell.error.xml				\
-	$(schema_in_files)			\
 	evolution-nognome.in			\
 	evolution-icon.rc			\
 	evolution.ico				\
@@ -246,8 +211,6 @@ endif
 BUILT_SOURCES = $(error_DATA) $(ENUM_GENERATED)
 CLEANFILES = $(BUILT_SOURCES)
 
-DISTCLEANFILES = $(schema_DATA)
-
 dist-hook:
 	cd $(distdir); rm -f $(BUILT_SOURCES)
 
diff --git a/shell/e-shell-migrate.c b/shell/e-shell-migrate.c
index d746aef..2fe9cd6 100644
--- a/shell/e-shell-migrate.c
+++ b/shell/e-shell-migrate.c
@@ -744,7 +744,7 @@ shell_migrate_get_version (EShell *shell,
 	string = g_settings_get_string (settings, "version");
 
 	if (string != NULL) {
-		/* Since 1.4.0 we've kept the version key in GConf. */
+		/* Since 1.4.0 we've kept the version key in GSettings. */
 		sscanf (string, "%d.%d.%d", major, minor, micro);
 		g_free (string);
 	}
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index 293a39b..bfc1ca9 100644
--- a/shell/e-shell-window-actions.c
+++ b/shell/e-shell-window-actions.c
@@ -2359,7 +2359,7 @@ e_shell_window_update_search_menu (EShellWindow *shell_window)
 	shell_view = e_shell_window_get_shell_view (shell_window, view_name);
 
 	/* Check for a NULL shell view before proceeding.  This can
-	 * happen if the initial view name from GConf is unrecognized.
+	 * happen if the initial view name from GSettings is unrecognized.
 	 * Without this we would crash at E_SHELL_VIEW_GET_CLASS(). */
 	g_return_if_fail (shell_view != NULL);
 
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c
index ee87446..abc3d08 100644
--- a/shell/e-shell-window.c
+++ b/shell/e-shell-window.c
@@ -1030,9 +1030,9 @@ e_shell_window_init (EShellWindow *shell_window)
  * #EShellWindow into "safe mode" if detects the previous Evolution
  * session crashed.
  *
- * The initial view for the window is determined by GConf key
- * <filename>/apps/evolution/shell/view_defaults/component_id</filename>.
- * Or, if the GConf key is not set or can't be read, the first view
+ * The initial view for the window is determined by GSettings key
+ * <filename>/org/gnome/evolution/shell/default-component-id</filename>.
+ * Or, if the GSettings key is not set or can't be read, the first view
  * in the switcher is used.
  *
  * Returns: a new #EShellWindow
@@ -1326,8 +1326,8 @@ e_shell_window_get_active_view (EShellWindow *shell_window)
  * the entire content of @shell_window to change.  This is typically
  * called as a result of the user clicking one of the switcher buttons.
  *
- * The name of the newly activated shell view is also written to GConf key
- * <filename>/apps/evolution/shell/view_defaults/component_id</filename>.
+ * The name of the newly activated shell view is also written to GSettings key
+ * <filename>/org/gnome/evolution/shell/default-component-id</filename>.
  * This makes the active shell view persistent across Evolution sessions.
  * It also causes new shell windows created within the current Evolution
  * session to open to the most recently selected shell view.
diff --git a/shell/e-shell.c b/shell/e-shell.c
index ae8abb2..7ab685a 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -1239,7 +1239,7 @@ e_shell_init (EShell *shell)
 		G_CALLBACK (shell_notify_online_cb), NULL);
 
 	/* XXX Do this after creating the EShellSettings instance,
-	 *     otherwise the GConf bindings will not get set up. */
+	 *     otherwise the GSettings bindings will not get set up. */
 
 	e_shell_settings_install_property_for_key (
 		"start-offline",
@@ -1474,7 +1474,7 @@ e_shell_create_shell_window (EShell *shell,
 
 	view_name = e_shell_get_canonical_name (shell, view_name);
 
-	/* EShellWindow initializes its active view from a GConf key,
+	/* EShellWindow initializes its active view from a GSetting key,
 	 * so set the key ahead of time to control the intial view. */
 	if (view_name != NULL) {
 		GSettings *settings;
diff --git a/shell/main.c b/shell/main.c
index 521f817..d6de149 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -30,8 +30,6 @@
 #include <glib-unix.h>
 #endif
 
-#include <dbus/dbus-glib.h>
-
 #if HAVE_CLUTTER
 #include <clutter-gtk/clutter-gtk.h>
 #include <mx/mx.h>
@@ -497,9 +495,6 @@ main (gint argc,
 
 	g_type_init ();
 
-	/* this is to initialize threading for dbus-glib used by GConf */
-	dbus_g_thread_init ();
-
 	/* do not require Gtk+ for --force-shutdown */
 	if (argc == 2 && argv[1] && g_str_equal (argv[1], "--force-shutdown")) {
 		shell_force_shutdown ();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]