[gthumb] Ported the extensions to GSettings



commit f56a7a6278b11412c22d40f7e9e4c5d8f628b0db
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Sun Nov 13 15:18:02 2011 +0100

    Ported the extensions to GSettings

 extensions/burn_disc/gth-burn-task.c               |    8 +-
 extensions/catalogs/actions.c                      |    6 +-
 extensions/change_date/dlg-change-date.c           |   51 ++++---
 extensions/change_date/preferences.h               |   28 ++--
 extensions/comments/dlg-comments-preferences.c     |   10 +-
 extensions/comments/main.c                         |   21 ++-
 extensions/comments/preferences.h                  |    8 +-
 extensions/contact_sheet/dlg-contact-sheet.c       |   67 ++++----
 extensions/contact_sheet/dlg-image-wall.c          |   44 +++--
 extensions/contact_sheet/preferences.h             |   61 ++++---
 extensions/convert_format/dlg-convert-format.c     |    7 +-
 extensions/convert_format/preferences.h            |    8 +-
 .../exiv2_tools/gth-metadata-provider-exiv2.c      |   20 ++-
 extensions/facebook/dlg-export-to-facebook.c       |    7 +-
 extensions/facebook/preferences.h                  |    8 +-
 extensions/file_manager/actions.c                  |   16 ++-
 extensions/file_manager/preferences.h              |   10 +-
 extensions/file_tools/gth-file-tool-crop.c         |   48 ++++--
 extensions/file_tools/gth-file-tool-resize.c       |   50 ++++--
 extensions/file_tools/gth-file-tool-rotate.c       |   19 ++-
 extensions/file_tools/preferences.h                |   60 ++++---
 extensions/find_duplicates/dlg-find-duplicates.c   |    7 +-
 extensions/find_duplicates/gth-find-duplicates.c   |    7 +-
 extensions/flicker_utils/dlg-import-from-flickr.c  |   11 +-
 extensions/gstreamer_tools/actions.c               |    7 +-
 extensions/gstreamer_tools/preferences.h           |    8 +-
 extensions/image_print/gth-image-print-job.c       |   36 +++--
 extensions/image_print/preferences.c               |   15 +-
 extensions/image_print/preferences.h               |   31 ++--
 extensions/image_rotation/gth-transform-task.c     |    2 +-
 extensions/image_rotation/rotation-utils.c         |    3 +-
 extensions/image_viewer/gth-image-viewer-page.c    |  181 +++++++++-----------
 extensions/image_viewer/preferences.c              |   23 ++-
 extensions/image_viewer/preferences.h              |   21 ++-
 .../importer/gth-import-preferences-dialog.c       |   26 ++-
 extensions/importer/gth-import-task.c              |    9 +-
 extensions/importer/preferences.h                  |   18 ++-
 extensions/importer/utils.c                        |    9 +-
 extensions/photo_importer/callbacks.c              |    7 +-
 extensions/photo_importer/dlg-photo-importer.c     |   21 ++-
 extensions/photo_importer/preferences.h            |   10 +-
 extensions/picasaweb/dlg-import-from-picasaweb.c   |   11 +-
 extensions/picasaweb/preferences.h                 |    8 +-
 extensions/pixbuf_savers/gth-jpeg-saver.c          |   45 +++---
 extensions/pixbuf_savers/gth-png-saver.c           |   24 ++-
 extensions/pixbuf_savers/gth-tga-saver.c           |   22 ++-
 extensions/pixbuf_savers/gth-tiff-saver.c          |   41 +++--
 extensions/pixbuf_savers/preferences.h             |   41 ++++--
 extensions/rename_series/dlg-rename-series.c       |   31 ++--
 extensions/rename_series/preferences.h             |   22 ++-
 extensions/resize_images/dlg-resize-images.c       |   28 ++--
 extensions/resize_images/preferences.h             |   16 ++-
 extensions/search/gth-search-task.c                |    8 +-
 extensions/slideshow/actions.c                     |   14 +-
 extensions/slideshow/callbacks.c                   |   15 +-
 extensions/slideshow/preferences.c                 |   24 ++-
 extensions/slideshow/preferences.h                 |   16 ++-
 extensions/webalbums/dlg-web-exporter.c            |  121 +++++++------
 extensions/webalbums/gth-web-exporter.c            |   34 ++---
 extensions/webalbums/preferences.h                 |   66 ++++---
 60 files changed, 954 insertions(+), 642 deletions(-)
---
diff --git a/extensions/burn_disc/gth-burn-task.c b/extensions/burn_disc/gth-burn-task.c
index cc852a7..13fccaf 100644
--- a/extensions/burn_disc/gth-burn-task.c
+++ b/extensions/burn_disc/gth-burn-task.c
@@ -361,22 +361,26 @@ source_dialog_response_cb (GtkDialog   *dialog,
 				burn_content_to_disc (task);
 			}
 			else {
-				gboolean recursive;
+				GSettings *settings;
+				gboolean   recursive;
 
 				_g_object_list_unref (task->priv->selected_files);
 				task->priv->selected_files = NULL;
 
+				settings = g_settings_new (GTHUMB_BROWSER_SCHEMA);
 				recursive = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (task->priv->builder, "folder_recursive_radiobutton")));
 				task->priv->test = gth_main_get_general_filter ();
 				task->priv->file_source = gth_main_get_file_source (task->priv->location);
 				gth_file_source_for_each_child (task->priv->file_source,
 								task->priv->location,
 								recursive,
-								eel_gconf_get_boolean (PREF_FAST_FILE_TYPE, TRUE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE,
+								g_settings_get_boolean (settings, PREF_BROWSER_FAST_FILE_TYPE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE,
 								start_dir_func,
 								for_each_file_func,
 								done_func,
 								task);
+
+				g_object_unref (settings);
 			}
 		}
 		else
diff --git a/extensions/catalogs/actions.c b/extensions/catalogs/actions.c
index 81740aa..446243d 100644
--- a/extensions/catalogs/actions.c
+++ b/extensions/catalogs/actions.c
@@ -351,10 +351,12 @@ gth_browser_activate_action_catalog_remove (GtkAction  *action,
 					    GthBrowser *browser)
 {
 	GthFileData *file_data;
+	GSettings   *settings;
 
 	file_data = gth_browser_get_folder_popup_file_data (browser);
 
-	if (eel_gconf_get_boolean (PREF_MSG_CONFIRM_DELETION, DEFAULT_MSG_CONFIRM_DELETION)) {
+	settings = g_settings_new (GTHUMB_MESSAGES_SCHEMA);
+	if (g_settings_get_boolean (settings, PREF_MSG_CONFIRM_DELETION)) {
 		char      *prompt;
 		GtkWidget *d;
 
@@ -376,6 +378,8 @@ gth_browser_activate_action_catalog_remove (GtkAction  *action,
 		remove_catalog (GTK_WINDOW (browser), file_data);
 		g_object_unref (file_data);
 	}
+
+	g_object_unref (settings);
 }
 
 
diff --git a/extensions/change_date/dlg-change-date.c b/extensions/change_date/dlg-change-date.c
index fa35227..052d767 100644
--- a/extensions/change_date/dlg-change-date.c
+++ b/extensions/change_date/dlg-change-date.c
@@ -35,6 +35,7 @@
 typedef struct {
 	GthBrowser *browser;
 	GtkBuilder *builder;
+	GSettings  *settings;
 	GtkWidget  *dialog;
 	GtkWidget  *date_selector;
 	GList      *file_list;
@@ -46,6 +47,7 @@ dialog_destroy_cb (GtkWidget  *widget,
 		   DialogData *data)
 {
 	_g_object_list_unref (data->file_list);
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	g_free (data);
 }
@@ -95,23 +97,23 @@ ok_button_clicked (GtkWidget  *button,
 
 	/* save the preferences */
 
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE, (change_fields & GTH_CHANGE_LAST_MODIFIED_DATE) == GTH_CHANGE_LAST_MODIFIED_DATE);
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_SET_COMMENT_DATE, (change_fields & GTH_CHANGE_COMMENT_DATE) == GTH_CHANGE_COMMENT_DATE);
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG, (change_fields & GTH_CHANGE_EXIF_DATETIMEORIGINAL_TAG) == GTH_CHANGE_EXIF_DATETIMEORIGINAL_TAG);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE, (change_fields & GTH_CHANGE_LAST_MODIFIED_DATE) == GTH_CHANGE_LAST_MODIFIED_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_SET_COMMENT_DATE, (change_fields & GTH_CHANGE_COMMENT_DATE) == GTH_CHANGE_COMMENT_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG, (change_fields & GTH_CHANGE_EXIF_DATETIMEORIGINAL_TAG) == GTH_CHANGE_EXIF_DATETIMEORIGINAL_TAG);
 
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_TO_FOLLOWING_DATE, change_type == GTH_CHANGE_TO_FOLLOWING_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_TO_FOLLOWING_DATE, change_type == GTH_CHANGE_TO_FOLLOWING_DATE);
 	if (change_type == GTH_CHANGE_TO_FOLLOWING_DATE) {
 		char *s;
 		s = gth_datetime_to_exif_date (date_time);
-		eel_gconf_set_string (PREF_CHANGE_DATE_DATE, s);
+		g_settings_set_string (data->settings, PREF_CHANGE_DATE_DATE, s);
 		g_free (s);
 	}
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE, change_type == GTH_CHANGE_TO_FILE_MODIFIED_DATE);
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_TO_FILE_CREATION_DATE, change_type == GTH_CHANGE_TO_FILE_CREATION_DATE);
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE, change_type == GTH_CHANGE_TO_PHOTO_ORIGINAL_DATE);
-	eel_gconf_set_boolean (PREF_CHANGE_DATE_ADJUST_TIME, change_type == GTH_CHANGE_ADJUST_TIME);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE, change_type == GTH_CHANGE_TO_FILE_MODIFIED_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_TO_FILE_CREATION_DATE, change_type == GTH_CHANGE_TO_FILE_CREATION_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE, change_type == GTH_CHANGE_TO_PHOTO_ORIGINAL_DATE);
+	g_settings_set_boolean (data->settings, PREF_CHANGE_DATE_ADJUST_TIME, change_type == GTH_CHANGE_ADJUST_TIME);
 	if (change_type == GTH_CHANGE_ADJUST_TIME)
-		eel_gconf_set_integer (PREF_CHANGE_DATE_TIME_ADJUSTMENT, time_adjustment);
+		g_settings_set_int (data->settings, PREF_CHANGE_DATE_TIME_ADJUSTMENT, time_adjustment);
 
 	/* exec the task */
 
@@ -177,6 +179,7 @@ dlg_change_date (GthBrowser *browser,
 	data->browser = browser;
 	data->file_list = _g_object_list_ref (file_list);
 	data->builder = _gtk_builder_new_from_file ("change-date.ui", "change_date");
+	data->settings = g_settings_new (GTHUMB_CHANGE_DATE_SCHEMA);
 
 	/* Get the widgets. */
 
@@ -188,17 +191,21 @@ dlg_change_date (GthBrowser *browser,
 
 	/* Set widgets data. */
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_last_modified_checkbutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_comment_checkbutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_SET_COMMENT_DATE, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_datetimeoriginal_checkbutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_last_modified_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_comment_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_SET_COMMENT_DATE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("change_datetimeoriginal_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG));
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_following_date_radiobutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_TO_FOLLOWING_DATE, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_following_date_radiobutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_TO_FOLLOWING_DATE));
 
 	datetime = gth_datetime_new ();
 	g_get_current_time (&timeval);
 	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_following_date_radiobutton")))) {
 		char *s;
-		s = eel_gconf_get_string (PREF_CHANGE_DATE_DATE, "");
+		s = g_settings_get_string (data->settings, PREF_CHANGE_DATE_DATE);
 		if (strcmp (s, "") != 0)
 			gth_datetime_from_exif_date (datetime, s);
 		else
@@ -210,10 +217,14 @@ dlg_change_date (GthBrowser *browser,
 	gth_time_selector_set_value (GTH_TIME_SELECTOR (data->date_selector), datetime);
 	gth_datetime_free (datetime);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_last_modified_date_radiobutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_creation_date_radiobutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_TO_FILE_CREATION_DATE, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_photo_original_date_radiobutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adjust_time_radiobutton")), eel_gconf_get_boolean (PREF_CHANGE_DATE_ADJUST_TIME, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_last_modified_date_radiobutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_creation_date_radiobutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_TO_FILE_CREATION_DATE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("to_photo_original_date_radiobutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adjust_time_radiobutton")),
+				      g_settings_get_boolean (data->settings, PREF_CHANGE_DATE_ADJUST_TIME));
 	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adjust_time_radiobutton")))) {
 		int adjustement;
 		int sign;
@@ -221,7 +232,7 @@ dlg_change_date (GthBrowser *browser,
 		int minutes;
 		int seconds;
 
-		adjustement = eel_gconf_get_integer (PREF_CHANGE_DATE_TIME_ADJUSTMENT, 0);
+		adjustement = g_settings_get_int (data->settings, PREF_CHANGE_DATE_TIME_ADJUSTMENT);
 		if (adjustement < 0) {
 			sign = -1;
 			adjustement = - adjustement;
diff --git a/extensions/change_date/preferences.h b/extensions/change_date/preferences.h
index 644df01..3320f41 100644
--- a/extensions/change_date/preferences.h
+++ b/extensions/change_date/preferences.h
@@ -3,7 +3,7 @@
 /*
  *  GThumb
  *
- *  Copyright (C) 2011 Free Software Foundation, Inc.
+ *  Copyright  2011 Free Software Foundation, Inc.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -26,16 +26,22 @@
 
 G_BEGIN_DECLS
 
-#define  PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE          "/apps/gthumb/ext/change_date/set_last_modified_date"
-#define  PREF_CHANGE_DATE_SET_COMMENT_DATE		  "/apps/gthumb/ext/change_date/set_comment_date"
-#define  PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG   "/apps/gthumb/ext/change_date/set_exif_datetimeoriginal_tag"
-#define  PREF_CHANGE_DATE_TO_FOLLOWING_DATE               "/apps/gthumb/ext/change_date/to_following_date"
-#define  PREF_CHANGE_DATE_DATE                            "/apps/gthumb/ext/change_date/date"
-#define  PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE           "/apps/gthumb/ext/change_date/to_file_modified_date"
-#define  PREF_CHANGE_DATE_TO_FILE_CREATION_DATE           "/apps/gthumb/ext/change_date/to_file_creation_date"
-#define  PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE          "/apps/gthumb/ext/change_date/to_photo_original_date"
-#define  PREF_CHANGE_DATE_ADJUST_TIME                     "/apps/gthumb/ext/change_date/adjust_time"
-#define  PREF_CHANGE_DATE_TIME_ADJUSTMENT                 "/apps/gthumb/ext/change_date/time_adjustment"
+/* schema */
+
+#define GTHUMB_CHANGE_DATE_SCHEMA                        GTHUMB_SCHEMA ".change-date"
+
+/* keys */
+
+#define PREF_CHANGE_DATE_SET_LAST_MODIFIED_DATE          "set-last-modified-date"
+#define PREF_CHANGE_DATE_SET_COMMENT_DATE		 "set-comment-date"
+#define PREF_CHANGE_DATE_SET_EXIF_DATETIMEORIGINAL_TAG   "set-exif-datetimeoriginal-tag"
+#define PREF_CHANGE_DATE_TO_FOLLOWING_DATE               "to-following-date"
+#define PREF_CHANGE_DATE_DATE                            "date"
+#define PREF_CHANGE_DATE_TO_FILE_MODIFIED_DATE           "to-file-modified-date"
+#define PREF_CHANGE_DATE_TO_FILE_CREATION_DATE           "to-file-creation-date"
+#define PREF_CHANGE_DATE_TO_PHOTO_ORIGINAL_DATE          "to-photo-original-date"
+#define PREF_CHANGE_DATE_ADJUST_TIME                     "adjust-time"
+#define PREF_CHANGE_DATE_TIME_ADJUSTMENT                 "time-adjustment"
 
 G_END_DECLS
 
diff --git a/extensions/comments/dlg-comments-preferences.c b/extensions/comments/dlg-comments-preferences.c
index 617f2b8..c37a5ad 100644
--- a/extensions/comments/dlg-comments-preferences.c
+++ b/extensions/comments/dlg-comments-preferences.c
@@ -27,6 +27,7 @@
 
 typedef struct {
 	GtkBuilder *builder;
+	GSettings  *settings;
 	GtkWidget  *dialog;
 } DialogData;
 
@@ -36,6 +37,7 @@ destroy_cb (GtkWidget  *widget,
 	    DialogData *data)
 {
 	g_object_unref (data->builder);
+	g_object_unref (data->settings);
 	g_free (data);
 }
 
@@ -44,7 +46,9 @@ static void
 sync_checkbutton_clicked_cb (GtkWidget  *widget,
 			     DialogData *data)
 {
-	eel_gconf_set_boolean (PREF_COMMENTS_SYNCHRONIZE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (data->builder, "sync_checkbutton"))));
+	g_settings_set_boolean (data->settings,
+			        PREF_COMMENTS_SYNCHRONIZE,
+			        gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (data->builder, "sync_checkbutton"))));
 }
 
 
@@ -55,6 +59,7 @@ dlg_comments_preferences (GtkWindow *parent)
 	
 	data = g_new0 (DialogData, 1);
 	data->builder = _gtk_builder_new_from_file ("comments-preferences.ui", "comments");
+	data->settings = g_settings_new (GTHUMB_COMMENTS_SCHEMA);
 
 	/* Get the widgets. */
 
@@ -62,7 +67,8 @@ dlg_comments_preferences (GtkWindow *parent)
 
 	/* Set widgets data. */
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (data->builder, "sync_checkbutton")), eel_gconf_get_boolean (PREF_COMMENTS_SYNCHRONIZE, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gtk_builder_get_object (data->builder, "sync_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_COMMENTS_SYNCHRONIZE));
 
 	/* Set the signals handlers. */
 	
diff --git a/extensions/comments/main.c b/extensions/comments/main.c
index 7b6771e..1494eba 100644
--- a/extensions/comments/main.c
+++ b/extensions/comments/main.c
@@ -80,7 +80,10 @@ static void
 comments__read_metadata_ready_cb (GthFileData *file_data,
 				  const char  *attributes)
 {
-	gboolean       write_comment = FALSE;
+	GSettings     *settings;
+	gboolean       store_metadata_in_files;
+	gboolean       synchronize;
+	gboolean       write_comment;
 	GthMetadata   *metadata;
 	GthStringList *comment_categories;
 	GList         *scan;
@@ -88,8 +91,12 @@ comments__read_metadata_ready_cb (GthFileData *file_data,
 	GthComment    *comment;
 	GthStringList *categories;
 
-	if (! eel_gconf_get_boolean (PREF_STORE_METADATA_IN_FILES, TRUE)) {
-		/* if PREF_STORE_METADATA_IN_FILES is false, avoid to
+	settings = g_settings_new (GTHUMB_GENERAL_SCHEMA);
+	store_metadata_in_files = g_settings_get_boolean (settings, PREF_GENERAL_STORE_METADATA_IN_FILES);
+	g_object_unref (settings);
+
+	if (! store_metadata_in_files) {
+		/* if PREF_GENERAL_STORE_METADATA_IN_FILES is false, avoid to
 		 * synchronize the .comment metadata because the embedded
 		 * metadata is likely to be out-of-date.
 		 * Give priority to the .comment metadata which, if present,
@@ -100,9 +107,15 @@ comments__read_metadata_ready_cb (GthFileData *file_data,
 		return;
 	}
 
-	if (! eel_gconf_get_boolean (PREF_COMMENTS_SYNCHRONIZE, TRUE))
+	settings = g_settings_new (GTHUMB_COMMENTS_SCHEMA);
+	synchronize = g_settings_get_boolean (settings, PREF_COMMENTS_SYNCHRONIZE);
+	g_object_unref (settings);
+
+	if (! synchronize)
 		return;
 
+	write_comment = FALSE;
+
 	comment = gth_comment_new ();
 	gth_comment_set_note (comment, g_file_info_get_attribute_string (file_data->info, "comment::note"));
 	gth_comment_set_caption (comment, g_file_info_get_attribute_string (file_data->info, "comment::caption"));
diff --git a/extensions/comments/preferences.h b/extensions/comments/preferences.h
index 83c9dbd..afca239 100644
--- a/extensions/comments/preferences.h
+++ b/extensions/comments/preferences.h
@@ -22,6 +22,12 @@
 #ifndef PREFERENCES_H
 #define PREFERENCES_H
 
-#define  PREF_COMMENTS_SYNCHRONIZE "/apps/gthumb/ext/comments/synchronize"
+/* schema */
+
+#define GTHUMB_COMMENTS_SCHEMA     GTHUMB_SCHEMA ".comments"
+
+/* keys */
+
+#define PREF_COMMENTS_SYNCHRONIZE  "synchronize"
 
 #endif /* PREFERENCES_H */
diff --git a/extensions/contact_sheet/dlg-contact-sheet.c b/extensions/contact_sheet/dlg-contact-sheet.c
index f4f497b..68022c7 100644
--- a/extensions/contact_sheet/dlg-contact-sheet.c
+++ b/extensions/contact_sheet/dlg-contact-sheet.c
@@ -29,8 +29,6 @@
 
 #define GET_WIDGET(name) _gtk_builder_get_widget (data->builder, (name))
 #define STRING_IS_VOID(x) (((x) == NULL) || (*(x) == 0))
-#define DEFAULT_CONTACT_SHEET_THEME "default"
-#define DEFAULT_CONTACT_SHEET_THUMBNAIL_CAPTION ("general::datetime,general::dimensions,gth::file::display-size")
 #define PREVIEW_SIZE 112
 
 enum {
@@ -56,6 +54,7 @@ enum {
 
 typedef struct {
 	GthBrowser *browser;
+	GSettings  *settings;
 	GList      *file_list;
 	GtkBuilder *builder;
 	GtkWidget  *dialog;
@@ -85,6 +84,7 @@ destroy_cb (GtkWidget  *widget,
 {
 	gth_browser_set_dialog (data->browser, "contact_sheet", NULL);
 	_g_object_list_unref (data->file_list);
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	g_free (data);
 }
@@ -153,18 +153,18 @@ ok_clicked_cb (GtkWidget  *widget,
 	/* save the options */
 
 	header = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("header_entry")));
-	eel_gconf_set_string (PREF_CONTACT_SHEET_HEADER, header);
+	g_settings_set_string (data->settings, PREF_CONTACT_SHEET_HEADER, header);
 
 	footer = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("footer_entry")));
-	eel_gconf_set_string (PREF_CONTACT_SHEET_FOOTER, footer);
+	g_settings_set_string (data->settings, PREF_CONTACT_SHEET_FOOTER, footer);
 
 	s_value = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")));
 	destination = g_file_new_for_uri (s_value);
-	eel_gconf_set_path (PREF_CONTACT_SHEET_DESTINATION, s_value);
+	_g_settings_set_uri (data->settings, PREF_CONTACT_SHEET_DESTINATION, s_value);
 	g_free (s_value);
 
 	template = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("template_entry")));
-	eel_gconf_set_string (PREF_CONTACT_SHEET_TEMPLATE, template);
+	g_settings_set_string (data->settings, PREF_CONTACT_SHEET_TEMPLATE, template);
 
 	mime_type = NULL;
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("filetype_combobox")), &iter)) {
@@ -173,48 +173,48 @@ ok_clicked_cb (GtkWidget  *widget,
 				    FILE_TYPE_COLUMN_MIME_TYPE, &mime_type,
 				    FILE_TYPE_COLUMN_DEFAULT_EXTENSION, &file_extension,
 				    -1);
-		eel_gconf_set_string (PREF_CONTACT_SHEET_MIME_TYPE, mime_type);
+		g_settings_set_string (data->settings, PREF_CONTACT_SHEET_MIME_TYPE, mime_type);
 	}
 
 	create_image_map = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_map_checkbutton")));
-	eel_gconf_set_boolean (PREF_CONTACT_SHEET_HTML_IMAGE_MAP, create_image_map);
+	g_settings_set_boolean (data->settings, PREF_CONTACT_SHEET_HTML_IMAGE_MAP, create_image_map);
 
 	theme = get_selected_theme (data);
 	g_return_if_fail (theme != NULL);
 	theme_name = g_file_get_basename (theme->file);
-	eel_gconf_set_string (PREF_CONTACT_SHEET_THEME, theme_name);
+	g_settings_set_string (data->settings, PREF_CONTACT_SHEET_THEME, theme_name);
 
 	images_per_index = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")));
-	eel_gconf_set_integer (PREF_CONTACT_SHEET_IMAGES_PER_PAGE, images_per_index);
+	g_settings_set_int (data->settings, PREF_CONTACT_SHEET_IMAGES_PER_PAGE, images_per_index);
 
 	single_page = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")));
-	eel_gconf_set_boolean (PREF_CONTACT_SHEET_SINGLE_PAGE, single_page);
+	g_settings_set_boolean (data->settings, PREF_CONTACT_SHEET_SINGLE_PAGE, single_page);
 
 	columns = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")));
-	eel_gconf_set_integer (PREF_CONTACT_SHEET_COLUMNS, columns);
+	g_settings_set_int (data->settings, PREF_CONTACT_SHEET_COLUMNS, columns);
 
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), &iter)) {
 		gtk_tree_model_get (GTK_TREE_MODEL (GET_WIDGET ("sort_liststore")),
 				    &iter,
 				    SORT_TYPE_COLUMN_DATA, &sort_type,
 				    -1);
-		eel_gconf_set_string (PREF_CONTACT_SHEET_SORT_TYPE, sort_type->name);
+		g_settings_set_string (data->settings, PREF_CONTACT_SHEET_SORT_TYPE, sort_type->name);
 	}
 
 	sort_inverse = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")));
-	eel_gconf_set_boolean (PREF_CONTACT_SHEET_SORT_INVERSE, sort_inverse);
+	g_settings_set_boolean (data->settings, PREF_CONTACT_SHEET_SORT_INVERSE, sort_inverse);
 
 	same_size = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("same_size_checkbutton")));
-	eel_gconf_set_boolean (PREF_CONTACT_SHEET_SAME_SIZE, same_size);
+	g_settings_set_boolean (data->settings, PREF_CONTACT_SHEET_SAME_SIZE, same_size);
 
 	thumbnail_size = thumb_size[gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")))];
-	eel_gconf_set_integer (PREF_CONTACT_SHEET_THUMBNAIL_SIZE, thumbnail_size);
+	g_settings_set_int (data->settings, PREF_CONTACT_SHEET_THUMBNAIL_SIZE, thumbnail_size);
 
 	squared_thumbnail = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("squared_thumbnail_checkbutton")));
-	eel_gconf_set_boolean (PREF_CONTACT_SHEET_SQUARED_THUMBNAIL, squared_thumbnail);
+	g_settings_set_boolean (data->settings, PREF_CONTACT_SHEET_SQUARED_THUMBNAIL, squared_thumbnail);
 
 	thumbnail_caption = gth_metadata_chooser_get_selection (GTH_METADATA_CHOOSER (data->thumbnail_caption_chooser));
-	eel_gconf_set_string (PREF_CONTACT_SHEET_THUMBNAIL_CAPTION, thumbnail_caption);
+	g_settings_set_string (data->settings, PREF_CONTACT_SHEET_THUMBNAIL_CAPTION, thumbnail_caption);
 
 	/* exec the task */
 
@@ -402,7 +402,7 @@ load_themes (DialogData *data)
 				     (PREVIEW_SIZE + col_spacing * 2));
 	gtk_widget_realize (GET_WIDGET ("theme_iconview"));
 
-	default_theme = eel_gconf_get_string (PREF_CONTACT_SHEET_THEME, DEFAULT_CONTACT_SHEET_THEME);
+	default_theme = g_settings_get_string (data->settings, PREF_CONTACT_SHEET_THEME);
 	model = GTK_TREE_MODEL (GET_WIDGET ("theme_liststore"));
 	if (gtk_tree_model_get_iter_first (model, &iter)) {
 		gboolean theme_selected = FALSE;
@@ -699,6 +699,7 @@ dlg_contact_sheet (GthBrowser *browser,
 	data->browser = browser;
 	data->file_list = _g_object_list_ref (file_list);
 	data->builder = _gtk_builder_new_from_file ("contact-sheet.ui", "contact_sheet");
+	data->settings = g_settings_new (GTHUMB_CONTACT_SHEET_SCHEMA);
 
 	data->dialog = _gtk_builder_get_widget (data->builder, "contact_sheet_dialog");
 	gth_browser_set_dialog (browser, "contact_sheet", data->dialog);
@@ -713,11 +714,11 @@ dlg_contact_sheet (GthBrowser *browser,
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("header_entry")),
 			    g_file_info_get_edit_name (gth_browser_get_location_data (browser)->info));
 
-	s_value = eel_gconf_get_string (PREF_CONTACT_SHEET_FOOTER, "");
+	s_value = g_settings_get_string (data->settings, PREF_CONTACT_SHEET_FOOTER);
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("footer_entry")), s_value);
 	g_free (s_value);
 
-	s_value = eel_gconf_get_path (PREF_CONTACT_SHEET_DESTINATION, NULL);
+	s_value = _g_settings_get_uri (data->settings, PREF_CONTACT_SHEET_DESTINATION);
 	if (s_value == NULL) {
 		GFile *location = gth_browser_get_location (data->browser);
 		if (location != NULL)
@@ -728,11 +729,11 @@ dlg_contact_sheet (GthBrowser *browser,
 	gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")), s_value);
 	g_free (s_value);
 
-	s_value = eel_gconf_get_path (PREF_CONTACT_SHEET_TEMPLATE, NULL);
+	s_value = _g_settings_get_uri (data->settings, PREF_CONTACT_SHEET_TEMPLATE);
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("template_entry")), s_value);
 	g_free (s_value);
 
-	default_mime_type = eel_gconf_get_string (PREF_CONTACT_SHEET_MIME_TYPE, "image/jpeg");
+	default_mime_type = g_settings_get_string (data->settings, PREF_CONTACT_SHEET_MIME_TYPE);
 	active_index = 0;
 	savers = gth_main_get_type_set ("pixbuf-saver");
 	for (i = 0; (savers != NULL) && (i < savers->len); i++) {
@@ -756,19 +757,19 @@ dlg_contact_sheet (GthBrowser *browser,
 
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("filetype_combobox")), active_index);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(GET_WIDGET("image_map_checkbutton")), eel_gconf_get_boolean (PREF_CONTACT_SHEET_HTML_IMAGE_MAP, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(GET_WIDGET("image_map_checkbutton")), g_settings_get_boolean (data->settings, PREF_CONTACT_SHEET_HTML_IMAGE_MAP));
 
 	load_themes (data);
 	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GET_WIDGET ("theme_liststore")),
 					      THEME_COLUMN_DISPLAY_NAME,
 					      GTK_SORT_ASCENDING);
 
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")), eel_gconf_get_integer (PREF_CONTACT_SHEET_IMAGES_PER_PAGE, 25));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")), eel_gconf_get_boolean (PREF_CONTACT_SHEET_SINGLE_PAGE, FALSE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")), eel_gconf_get_integer (PREF_CONTACT_SHEET_COLUMNS, 5));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("same_size_checkbutton")), eel_gconf_get_boolean (PREF_CONTACT_SHEET_SAME_SIZE, FALSE));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")), g_settings_get_int (data->settings, PREF_CONTACT_SHEET_IMAGES_PER_PAGE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")), g_settings_get_boolean (data->settings, PREF_CONTACT_SHEET_SINGLE_PAGE));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")), g_settings_get_int (data->settings, PREF_CONTACT_SHEET_COLUMNS));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("same_size_checkbutton")), g_settings_get_boolean (data->settings, PREF_CONTACT_SHEET_SAME_SIZE));
 
-	default_sort_type = eel_gconf_get_string (PREF_CONTACT_SHEET_SORT_TYPE, "general::unsorted");
+	default_sort_type = g_settings_get_string (data->settings, PREF_CONTACT_SHEET_SORT_TYPE);
 	active_index = 0;
 	sort_types = gth_main_get_all_sort_types ();
 	for (i = 0, scan = sort_types; scan; scan = scan->next, i++) {
@@ -788,7 +789,7 @@ dlg_contact_sheet (GthBrowser *browser,
 	g_free (default_sort_type);
 
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), active_index);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), eel_gconf_get_boolean (PREF_CONTACT_SHEET_SORT_INVERSE, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), g_settings_get_boolean (data->settings, PREF_CONTACT_SHEET_SORT_INVERSE));
 
 	for (i = 0; i < thumb_sizes; i++) {
 		char        *name;
@@ -804,10 +805,10 @@ dlg_contact_sheet (GthBrowser *browser,
 
 		g_free (name);
 	}
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")), get_idx_from_size (eel_gconf_get_integer (PREF_CONTACT_SHEET_THUMBNAIL_SIZE, 128)));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("squared_thumbnail_checkbutton")), eel_gconf_get_boolean (PREF_CONTACT_SHEET_SQUARED_THUMBNAIL, FALSE));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")), get_idx_from_size (g_settings_get_int (data->settings, PREF_CONTACT_SHEET_THUMBNAIL_SIZE)));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("squared_thumbnail_checkbutton")), g_settings_get_boolean (data->settings, PREF_CONTACT_SHEET_SQUARED_THUMBNAIL));
 
-	caption = eel_gconf_get_string (PREF_CONTACT_SHEET_THUMBNAIL_CAPTION, DEFAULT_CONTACT_SHEET_THUMBNAIL_CAPTION);
+	caption = g_settings_get_string (data->settings, PREF_CONTACT_SHEET_THUMBNAIL_CAPTION);
 	gth_metadata_chooser_set_selection (GTH_METADATA_CHOOSER (data->thumbnail_caption_chooser), caption);
 	g_free (caption);
 
diff --git a/extensions/contact_sheet/dlg-image-wall.c b/extensions/contact_sheet/dlg-image-wall.c
index 6aefe73..4d76095 100644
--- a/extensions/contact_sheet/dlg-image-wall.c
+++ b/extensions/contact_sheet/dlg-image-wall.c
@@ -47,6 +47,7 @@ enum {
 
 typedef struct {
 	GthBrowser *browser;
+	GSettings  *settings;
 	GList      *file_list;
 	GtkBuilder *builder;
 	GtkWidget  *dialog;
@@ -75,6 +76,7 @@ destroy_cb (GtkWidget  *widget,
 {
 	gth_browser_set_dialog (data->browser, "image_wall", NULL);
 	_g_object_list_unref (data->file_list);
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	g_free (data);
 }
@@ -111,11 +113,11 @@ ok_clicked_cb (GtkWidget  *widget,
 
 	s_value = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")));
 	destination = g_file_new_for_uri (s_value);
-	eel_gconf_set_path (PREF_IMAGE_WALL_DESTINATION, s_value);
+	_g_settings_set_uri (data->settings, PREF_IMAGE_WALL_DESTINATION, s_value);
 	g_free (s_value);
 
 	template = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("template_entry")));
-	eel_gconf_set_string (PREF_IMAGE_WALL_TEMPLATE, template);
+	g_settings_set_string (data->settings, PREF_IMAGE_WALL_TEMPLATE, template);
 
 	mime_type = NULL;
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("filetype_combobox")), &iter)) {
@@ -124,31 +126,31 @@ ok_clicked_cb (GtkWidget  *widget,
 				    FILE_TYPE_COLUMN_MIME_TYPE, &mime_type,
 				    FILE_TYPE_COLUMN_DEFAULT_EXTENSION, &file_extension,
 				    -1);
-		eel_gconf_set_string (PREF_IMAGE_WALL_MIME_TYPE, mime_type);
+		g_settings_set_string (data->settings, PREF_IMAGE_WALL_MIME_TYPE, mime_type);
 	}
 
 	images_per_index = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")));
-	eel_gconf_set_integer (PREF_IMAGE_WALL_IMAGES_PER_PAGE, images_per_index);
+	g_settings_set_int (data->settings, PREF_IMAGE_WALL_IMAGES_PER_PAGE, images_per_index);
 
 	single_page = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")));
-	eel_gconf_set_boolean (PREF_IMAGE_WALL_SINGLE_PAGE, single_page);
+	g_settings_set_boolean (data->settings, PREF_IMAGE_WALL_SINGLE_PAGE, single_page);
 
 	columns = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")));
-	eel_gconf_set_integer (PREF_IMAGE_WALL_COLUMNS, columns);
+	g_settings_set_int (data->settings, PREF_IMAGE_WALL_COLUMNS, columns);
 
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), &iter)) {
 		gtk_tree_model_get (GTK_TREE_MODEL (GET_WIDGET ("sort_liststore")),
 				    &iter,
 				    SORT_TYPE_COLUMN_DATA, &sort_type,
 				    -1);
-		eel_gconf_set_string (PREF_IMAGE_WALL_SORT_TYPE, sort_type->name);
+		g_settings_set_string (data->settings, PREF_IMAGE_WALL_SORT_TYPE, sort_type->name);
 	}
 
 	sort_inverse = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")));
-	eel_gconf_set_boolean (PREF_IMAGE_WALL_SORT_INVERSE, sort_inverse);
+	g_settings_set_boolean (data->settings, PREF_IMAGE_WALL_SORT_INVERSE, sort_inverse);
 
 	thumbnail_size = thumb_size[gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")))];
-	eel_gconf_set_integer (PREF_IMAGE_WALL_THUMBNAIL_SIZE, thumbnail_size);
+	g_settings_set_int (data->settings, PREF_IMAGE_WALL_THUMBNAIL_SIZE, thumbnail_size);
 
 	theme = gth_contact_sheet_theme_new ();
 	theme->background_type = GTH_CONTACT_SHEET_BACKGROUND_TYPE_SOLID;
@@ -241,6 +243,7 @@ dlg_image_wall (GthBrowser *browser,
 	data->browser = browser;
 	data->file_list = _g_object_list_ref (file_list);
 	data->builder = _gtk_builder_new_from_file ("image-wall.ui", "contact_sheet");
+	data->settings = g_settings_new (GTHUMB_IMAGE_WALL_SCHEMA);
 
 	data->dialog = _gtk_builder_get_widget (data->builder, "image_wall_dialog");
 	gth_browser_set_dialog (browser, "image_wall", data->dialog);
@@ -248,7 +251,7 @@ dlg_image_wall (GthBrowser *browser,
 
 	/* Set widgets data. */
 
-	s_value = eel_gconf_get_path (PREF_IMAGE_WALL_DESTINATION, NULL);
+	s_value = _g_settings_get_uri (data->settings, PREF_IMAGE_WALL_DESTINATION);
 	if (s_value == NULL) {
 		GFile *location = gth_browser_get_location (data->browser);
 		if (location != NULL)
@@ -259,11 +262,11 @@ dlg_image_wall (GthBrowser *browser,
 	gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")), s_value);
 	g_free (s_value);
 
-	s_value = eel_gconf_get_path (PREF_IMAGE_WALL_TEMPLATE, NULL);
+	s_value = _g_settings_get_uri (data->settings, PREF_IMAGE_WALL_TEMPLATE);
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("template_entry")), s_value);
 	g_free (s_value);
 
-	default_mime_type = eel_gconf_get_string (PREF_IMAGE_WALL_MIME_TYPE, "image/jpeg");
+	default_mime_type = g_settings_get_string (data->settings, PREF_IMAGE_WALL_MIME_TYPE);
 	active_index = 0;
 	savers = gth_main_get_type_set ("pixbuf-saver");
 	for (i = 0; (savers != NULL) && (i < savers->len); i++) {
@@ -287,11 +290,14 @@ dlg_image_wall (GthBrowser *browser,
 
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("filetype_combobox")), active_index);
 
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")), eel_gconf_get_integer (PREF_IMAGE_WALL_IMAGES_PER_PAGE, 25));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")), eel_gconf_get_boolean (PREF_IMAGE_WALL_SINGLE_PAGE, FALSE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")), eel_gconf_get_integer (PREF_IMAGE_WALL_COLUMNS, 5));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")),
+				   g_settings_get_int (data->settings, PREF_IMAGE_WALL_IMAGES_PER_PAGE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_IMAGE_WALL_SINGLE_PAGE));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")),
+				   g_settings_get_int (data->settings, PREF_IMAGE_WALL_COLUMNS));
 
-	default_sort_type = eel_gconf_get_string (PREF_IMAGE_WALL_SORT_TYPE, "general::unsorted");
+	default_sort_type = g_settings_get_string (data->settings, PREF_IMAGE_WALL_SORT_TYPE);
 	active_index = 0;
 	sort_types = gth_main_get_all_sort_types ();
 	for (i = 0, scan = sort_types; scan; scan = scan->next, i++) {
@@ -311,7 +317,8 @@ dlg_image_wall (GthBrowser *browser,
 	g_free (default_sort_type);
 
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), active_index);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), eel_gconf_get_boolean (PREF_IMAGE_WALL_SORT_INVERSE, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_IMAGE_WALL_SORT_INVERSE));
 
 	for (i = 0; i < thumb_sizes; i++) {
 		char        *name;
@@ -327,7 +334,8 @@ dlg_image_wall (GthBrowser *browser,
 
 		g_free (name);
 	}
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")), get_idx_from_size (eel_gconf_get_integer (PREF_IMAGE_WALL_THUMBNAIL_SIZE, 128)));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnail_size_combobox")),
+				  get_idx_from_size (g_settings_get_int (data->settings, PREF_IMAGE_WALL_THUMBNAIL_SIZE)));
 
 	update_sensitivity (data);
 
diff --git a/extensions/contact_sheet/preferences.h b/extensions/contact_sheet/preferences.h
index eac704a..3b34d04 100644
--- a/extensions/contact_sheet/preferences.h
+++ b/extensions/contact_sheet/preferences.h
@@ -26,32 +26,41 @@
 
 G_BEGIN_DECLS
 
-#define PREF_CONTACT_SHEET_HEADER                   "/apps/gthumb/ext/contact_sheet/header"
-#define PREF_CONTACT_SHEET_FOOTER                   "/apps/gthumb/ext/contact_sheet/footer"
-#define PREF_CONTACT_SHEET_DESTINATION              "/apps/gthumb/ext/contact_sheet/destination"
-#define PREF_CONTACT_SHEET_TEMPLATE                 "/apps/gthumb/ext/contact_sheet/template"
-#define PREF_CONTACT_SHEET_MIME_TYPE                "/apps/gthumb/ext/contact_sheet/mime_type"
-#define PREF_CONTACT_SHEET_HTML_IMAGE_MAP           "/apps/gthumb/ext/contact_sheet/html_image_map"
-#define PREF_CONTACT_SHEET_THEME                    "/apps/gthumb/ext/contact_sheet/theme"
-#define PREF_CONTACT_SHEET_IMAGES_PER_PAGE          "/apps/gthumb/ext/contact_sheet/images_per_page"
-#define PREF_CONTACT_SHEET_SINGLE_PAGE              "/apps/gthumb/ext/contact_sheet/single_page"
-#define PREF_CONTACT_SHEET_COLUMNS                  "/apps/gthumb/ext/contact_sheet/columns"
-#define PREF_CONTACT_SHEET_SORT_TYPE                "/apps/gthumb/ext/contact_sheet/sort_type"
-#define PREF_CONTACT_SHEET_SORT_INVERSE             "/apps/gthumb/ext/contact_sheet/sort_inverse"
-#define PREF_CONTACT_SHEET_SAME_SIZE                "/apps/gthumb/ext/contact_sheet/same_size"
-#define PREF_CONTACT_SHEET_THUMBNAIL_SIZE           "/apps/gthumb/ext/contact_sheet/thumbnail_size"
-#define PREF_CONTACT_SHEET_SQUARED_THUMBNAIL        "/apps/gthumb/ext/contact_sheet/squared_thumbnail"
-#define PREF_CONTACT_SHEET_THUMBNAIL_CAPTION        "/apps/gthumb/ext/contact_sheet/thumbnail_caption"
-
-#define PREF_IMAGE_WALL_DESTINATION                 "/apps/gthumb/ext/image_wall/destination"
-#define PREF_IMAGE_WALL_TEMPLATE                    "/apps/gthumb/ext/image_wall/template"
-#define PREF_IMAGE_WALL_MIME_TYPE                   "/apps/gthumb/ext/image_wall/mime_type"
-#define PREF_IMAGE_WALL_IMAGES_PER_PAGE             "/apps/gthumb/ext/image_wall/images_per_page"
-#define PREF_IMAGE_WALL_SINGLE_PAGE                 "/apps/gthumb/ext/image_wall/single_page"
-#define PREF_IMAGE_WALL_COLUMNS                     "/apps/gthumb/ext/image_wall/columns"
-#define PREF_IMAGE_WALL_SORT_TYPE                   "/apps/gthumb/ext/image_wall/sort_type"
-#define PREF_IMAGE_WALL_SORT_INVERSE                "/apps/gthumb/ext/image_wall/sort_inverse"
-#define PREF_IMAGE_WALL_THUMBNAIL_SIZE              "/apps/gthumb/ext/image_wall/thumbnail_size"
+/* schemas */
+
+#define GTHUMB_CONTACT_SHEET_SCHEMA                 GTHUMB_SCHEMA ".contact-sheet.contact-sheet"
+#define GTHUMB_IMAGE_WALL_SCHEMA                    GTHUMB_SCHEMA ".contact-sheet.image-wall"
+
+/* keys: contact sheet */
+
+#define PREF_CONTACT_SHEET_HEADER                   "header"
+#define PREF_CONTACT_SHEET_FOOTER                   "footer"
+#define PREF_CONTACT_SHEET_DESTINATION              "destination"
+#define PREF_CONTACT_SHEET_TEMPLATE                 "template"
+#define PREF_CONTACT_SHEET_MIME_TYPE                "mime-type"
+#define PREF_CONTACT_SHEET_HTML_IMAGE_MAP           "html-image-map"
+#define PREF_CONTACT_SHEET_THEME                    "theme"
+#define PREF_CONTACT_SHEET_IMAGES_PER_PAGE          "images-per-page"
+#define PREF_CONTACT_SHEET_SINGLE_PAGE              "single-page"
+#define PREF_CONTACT_SHEET_COLUMNS                  "columns"
+#define PREF_CONTACT_SHEET_SORT_TYPE                "sort-type"
+#define PREF_CONTACT_SHEET_SORT_INVERSE             "sort-inverse"
+#define PREF_CONTACT_SHEET_SAME_SIZE                "same-size"
+#define PREF_CONTACT_SHEET_THUMBNAIL_SIZE           "thumbnail-size"
+#define PREF_CONTACT_SHEET_SQUARED_THUMBNAIL        "squared-thumbnail"
+#define PREF_CONTACT_SHEET_THUMBNAIL_CAPTION        "thumbnail-caption"
+
+/* keys: image wall */
+
+#define PREF_IMAGE_WALL_DESTINATION                 "destination"
+#define PREF_IMAGE_WALL_TEMPLATE                    "template"
+#define PREF_IMAGE_WALL_MIME_TYPE                   "mime-type"
+#define PREF_IMAGE_WALL_IMAGES_PER_PAGE             "images-per-page"
+#define PREF_IMAGE_WALL_SINGLE_PAGE                 "single-page"
+#define PREF_IMAGE_WALL_COLUMNS                     "columns"
+#define PREF_IMAGE_WALL_SORT_TYPE                   "sort-type"
+#define PREF_IMAGE_WALL_SORT_INVERSE                "sort-inverse"
+#define PREF_IMAGE_WALL_THUMBNAIL_SIZE              "thumbnail_size"
 
 G_END_DECLS
 
diff --git a/extensions/convert_format/dlg-convert-format.c b/extensions/convert_format/dlg-convert-format.c
index 558e2aa..ab203f9 100644
--- a/extensions/convert_format/dlg-convert-format.c
+++ b/extensions/convert_format/dlg-convert-format.c
@@ -39,6 +39,7 @@ enum {
 
 typedef struct {
 	GthBrowser *browser;
+	GSettings  *settings;
 	GList      *file_list;
 	GtkBuilder *builder;
 	GtkWidget  *dialog;
@@ -52,6 +53,7 @@ dialog_destroy_cb (GtkWidget  *widget,
 {
 	gth_browser_set_dialog (data->browser, "convert_format", NULL);
 
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	_g_object_list_unref (data->file_list);
 	g_free (data);
@@ -86,7 +88,7 @@ ok_button_clicked_cb (GtkWidget  *widget,
 	gtk_tree_model_get (GTK_TREE_MODEL (GET_WIDGET ("mime_type_liststore")), &iter,
 			    MIME_TYPE_COLUMN_TYPE, &mime_type,
 			    -1);
-	eel_gconf_set_string (PREF_CONVERT_FORMAT_MIME_TYPE, mime_type);
+	g_settings_set_string (data->settings, PREF_CONVERT_FORMAT_MIME_TYPE, mime_type);
 
 	convert_task = gth_pixbuf_task_new (_("Converting images"),
 					    TRUE,
@@ -144,6 +146,7 @@ dlg_convert_format (GthBrowser *browser,
 	data = g_new0 (DialogData, 1);
 	data->browser = browser;
 	data->builder = _gtk_builder_new_from_file ("convert-format.ui", "convert_format");
+	data->settings = g_settings_new (GTHUMB_CONVERT_FORMAT_SCHEMA);
 	data->file_list = gth_file_data_list_dup (file_list);
 	data->use_destination = TRUE;
 
@@ -162,7 +165,7 @@ dlg_convert_format (GthBrowser *browser,
 		GtkListStore *list_store;
 		int           i;
 
-		default_mime_type = eel_gconf_get_string (PREF_CONVERT_FORMAT_MIME_TYPE, DEFAULT_MIME_TYPE);
+		default_mime_type = g_settings_get_string (data->settings, PREF_CONVERT_FORMAT_MIME_TYPE);
 		icon_cache = gth_icon_cache_new_for_widget (data->dialog, GTK_ICON_SIZE_MENU);
 		list_store = (GtkListStore *) GET_WIDGET ("mime_type_liststore");
 		for (i = 0; i < savers->len; i++) {
diff --git a/extensions/convert_format/preferences.h b/extensions/convert_format/preferences.h
index 1ba7ee6..a28a570 100644
--- a/extensions/convert_format/preferences.h
+++ b/extensions/convert_format/preferences.h
@@ -26,7 +26,13 @@
 
 G_BEGIN_DECLS
 
-#define  PREF_CONVERT_FORMAT_MIME_TYPE  "/apps/gthumb/ext/convert_format/mime_type"
+/* schema */
+
+#define GTHUMB_CONVERT_FORMAT_SCHEMA   GTHUMB_SCHEMA ".convert-format"
+
+/* keys */
+
+#define PREF_CONVERT_FORMAT_MIME_TYPE  "mime_type"
 
 G_END_DECLS
 
diff --git a/extensions/exiv2_tools/gth-metadata-provider-exiv2.c b/extensions/exiv2_tools/gth-metadata-provider-exiv2.c
index d6fcb91..03ff634 100644
--- a/extensions/exiv2_tools/gth-metadata-provider-exiv2.c
+++ b/extensions/exiv2_tools/gth-metadata-provider-exiv2.c
@@ -114,13 +114,19 @@ gth_metadata_provider_exiv2_write (GthMetadataProvider   *self,
 				   const char            *attributes,
 				   GCancellable          *cancellable)
 {
-	void    *buffer = NULL;
-	gsize    size;
-	GError  *error = NULL;
-	GObject *metadata;
-	int      i;
-
-	if (((flags & GTH_METADATA_WRITE_FORCE_EMBEDDED) != GTH_METADATA_WRITE_FORCE_EMBEDDED) && ! eel_gconf_get_boolean (PREF_STORE_METADATA_IN_FILES, TRUE))
+	GSettings *settings;
+	gboolean   store_metadata_in_files;
+	void      *buffer = NULL;
+	gsize      size;
+	GError    *error = NULL;
+	GObject   *metadata;
+	int        i;
+
+	settings = g_settings_new (GTHUMB_GENERAL_SCHEMA);
+	store_metadata_in_files = g_settings_get_boolean (settings, PREF_GENERAL_STORE_METADATA_IN_FILES);
+	g_object_unref (settings);
+
+	if (((flags & GTH_METADATA_WRITE_FORCE_EMBEDDED) != GTH_METADATA_WRITE_FORCE_EMBEDDED) && ! store_metadata_in_files)
 		return;
 
 	if (! exiv2_supports_writes (gth_file_data_get_mime_type (file_data)))
diff --git a/extensions/facebook/dlg-export-to-facebook.c b/extensions/facebook/dlg-export-to-facebook.c
index 04a02ae..4331d49 100644
--- a/extensions/facebook/dlg-export-to-facebook.c
+++ b/extensions/facebook/dlg-export-to-facebook.c
@@ -60,6 +60,7 @@ typedef struct {
 	GthFileData            *location;
 	GList                  *file_list;
 	GtkBuilder             *builder;
+	GSettings              *settings;
 	GtkWidget              *dialog;
 	GtkWidget              *list_view;
 	GtkWidget              *progress_dialog;
@@ -89,6 +90,7 @@ destroy_dialog (DialogData *data)
 	_g_object_unref (data->service);
 	_g_object_unref (data->auth);
 	_g_object_unref (data->conn);
+	_g_object_unref (data->settings);
 	_g_object_unref (data->builder);
 	_g_object_list_unref (data->file_list);
 	_g_object_unref (data->location);
@@ -229,7 +231,7 @@ export_dialog_response_cb (GtkDialog *dialog,
 						    -1);
 			}
 
-			eel_gconf_set_integer (PREF_FACEBOOK_MAX_RESOLUTION, max_resolution);
+			g_settings_set_int (data->settings, PREF_FACEBOOK_MAX_RESOLUTION, max_resolution);
 
 			file_list = gth_file_data_list_to_file_list (data->file_list);
 			facebook_service_upload_photos (data->service,
@@ -497,6 +499,7 @@ dlg_export_to_facebook (GthBrowser *browser,
 
 	data = g_new0 (DialogData, 1);
 	data->browser = browser;
+	data->settings = g_settings_new (GTHUMB_FACEBOOK_SCHEMA);
 	data->location = gth_file_data_dup (gth_browser_get_location_data (browser));
 	data->builder = _gtk_builder_new_from_file ("export-to-facebook.ui", "facebook");
 	data->dialog = _gtk_builder_get_widget (data->builder, "export_dialog");
@@ -599,7 +602,7 @@ dlg_export_to_facebook (GthBrowser *browser,
 
 		gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("resize_combobox")), 0);
 
-		default_resolution = eel_gconf_get_integer (PREF_FACEBOOK_MAX_RESOLUTION, 2048);
+		default_resolution = g_settings_get_int (data->settings, PREF_FACEBOOK_MAX_RESOLUTION);
 		tree_model = (GtkTreeModel *) gtk_builder_get_object (data->builder, "resize_liststore");
 		if (gtk_tree_model_get_iter_first (tree_model, &iter)) {
 			do {
diff --git a/extensions/facebook/preferences.h b/extensions/facebook/preferences.h
index f95f128..21de87f 100644
--- a/extensions/facebook/preferences.h
+++ b/extensions/facebook/preferences.h
@@ -22,6 +22,12 @@
 #ifndef PREFERENCES_H
 #define PREFERENCES_H
 
-#define  PREF_FACEBOOK_MAX_RESOLUTION "/apps/gthumb/ext/facebook/max_resolution"
+/* schema */
+
+#define GTHUMB_FACEBOOK_SCHEMA       GTHUMB_SCHEMA ".facebook"
+
+/* keys */
+
+#define PREF_FACEBOOK_MAX_RESOLUTION "max-resolution"
 
 #endif /* PREFERENCES_H */
diff --git a/extensions/file_manager/actions.c b/extensions/file_manager/actions.c
index 4caac07..800573f 100644
--- a/extensions/file_manager/actions.c
+++ b/extensions/file_manager/actions.c
@@ -899,11 +899,14 @@ copy_to_folder_dialog (GthBrowser *browser,
 		       GList      *files,
 		       gboolean    move)
 {
+	GSettings *settings;
 	GtkWidget *dialog;
 	char      *start_uri;
 	GtkWidget *box;
 	GtkWidget *view_destination_button;
 
+	settings = g_settings_new (GTHUMB_FILE_MANAGER_SCHEMA);
+
 	dialog = gtk_file_chooser_dialog_new (move ? _("Move To") : _("Copy To"),
 					      NULL,
 					      GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
@@ -911,7 +914,11 @@ copy_to_folder_dialog (GthBrowser *browser,
 					      (move ? _("Move") : _("Copy")), GTK_RESPONSE_ACCEPT,
 					      NULL);
 
-	start_uri = eel_gconf_get_string (PREF_FILE_MANAGER_COPY_LAST_FOLDER, get_home_uri ());
+	start_uri = g_settings_get_string (settings, PREF_FILE_MANAGER_COPY_LAST_FOLDER);
+	if ((start_uri == NULL) || (strcmp (start_uri, "") == 0)) {
+		g_free (start_uri);
+		start_uri = g_strdup (get_home_uri ());
+	}
 	gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog), start_uri);
 	g_free(start_uri);
 
@@ -921,7 +928,7 @@ copy_to_folder_dialog (GthBrowser *browser,
 
 	view_destination_button = gtk_check_button_new_with_mnemonic (_("_View the destination"));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (view_destination_button),
-				      eel_gconf_get_boolean (PREF_FILE_MANAGER_COPY_VIEW_DESTINATION, TRUE));
+				      g_settings_get_boolean (settings, PREF_FILE_MANAGER_COPY_VIEW_DESTINATION));
 	gtk_widget_show (view_destination_button);
 	gtk_box_pack_start (GTK_BOX (box), view_destination_button, FALSE, FALSE, 0);
 
@@ -937,8 +944,8 @@ copy_to_folder_dialog (GthBrowser *browser,
 			/* save the options */
 
 			view_destination = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (view_destination_button));
-			eel_gconf_set_boolean (PREF_FILE_MANAGER_COPY_VIEW_DESTINATION, view_destination);
-			eel_gconf_set_string (PREF_FILE_MANAGER_COPY_LAST_FOLDER, destination_uri);
+			g_settings_set_boolean (settings, PREF_FILE_MANAGER_COPY_VIEW_DESTINATION, view_destination);
+			g_settings_set_string (settings, PREF_FILE_MANAGER_COPY_LAST_FOLDER, destination_uri);
 
 			/* copy / move the files */
 
@@ -949,6 +956,7 @@ copy_to_folder_dialog (GthBrowser *browser,
 	}
 
 	gtk_widget_destroy (dialog);
+	g_object_unref (settings);
 }
 
 
diff --git a/extensions/file_manager/preferences.h b/extensions/file_manager/preferences.h
index c1a93b4..46f11d1 100644
--- a/extensions/file_manager/preferences.h
+++ b/extensions/file_manager/preferences.h
@@ -24,8 +24,14 @@
 
 G_BEGIN_DECLS
 
-#define  PREF_FILE_MANAGER_COPY_LAST_FOLDER      "/apps/gthumb/ext/file_manager/copy_move/last_folder"
-#define  PREF_FILE_MANAGER_COPY_VIEW_DESTINATION "/apps/gthumb/ext/file_manager/copy_move/view_destination"
+/* schema */
+
+#define GTHUMB_FILE_MANAGER_SCHEMA              GTHUMB_SCHEMA ".file-manager"
+
+/* keys */
+
+#define PREF_FILE_MANAGER_COPY_LAST_FOLDER      "last-folder"
+#define PREF_FILE_MANAGER_COPY_VIEW_DESTINATION "view-destination"
 
 G_END_DECLS
 
diff --git a/extensions/file_tools/gth-file-tool-crop.c b/extensions/file_tools/gth-file-tool-crop.c
index 78e05c6..e84847d 100644
--- a/extensions/file_tools/gth-file-tool-crop.c
+++ b/extensions/file_tools/gth-file-tool-crop.c
@@ -22,6 +22,7 @@
 #include <config.h>
 #include <gthumb.h>
 #include <extensions/image_viewer/gth-image-viewer-page.h>
+#include <extensions/image_viewer/preferences.h>
 #include "enum-types.h"
 #include "gth-file-tool-crop.h"
 #include "preferences.h"
@@ -34,6 +35,7 @@ G_DEFINE_TYPE (GthFileToolCrop, gth_file_tool_crop, GTH_TYPE_FILE_TOOL)
 
 
 struct _GthFileToolCropPrivate {
+	GSettings        *settings;
 	GtkBuilder       *builder;
 	int               pixbuf_width;
 	int               pixbuf_height;
@@ -440,10 +442,14 @@ gth_file_tool_crop_get_options (GthFileTool *base)
 	gtk_widget_show (self->priv->ratio_combobox);
 	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("ratio_combobox_box")), self->priv->ratio_combobox, FALSE, FALSE, 0);
 
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->ratio_combobox), eel_gconf_get_enum (PREF_CROP_ASPECT_RATIO, GTH_TYPE_ASPECT_RATIO, GTH_ASPECT_RATIO_NONE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton")), MAX (eel_gconf_get_integer (PREF_CROP_ASPECT_RATIO_WIDTH, 1), 1));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton")), MAX (eel_gconf_get_integer (PREF_CROP_ASPECT_RATIO_HEIGHT, 1), 1));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton")), eel_gconf_get_boolean (PREF_CROP_ASPECT_RATIO_INVERT, FALSE));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->ratio_combobox),
+				  g_settings_get_enum (self->priv->settings, PREF_CROP_ASPECT_RATIO));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton")),
+				   MAX (g_settings_get_int (self->priv->settings, PREF_CROP_ASPECT_RATIO_WIDTH), 1));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton")),
+				   MAX (g_settings_get_int (self->priv->settings, PREF_CROP_ASPECT_RATIO_HEIGHT), 1));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton")),
+				      g_settings_get_boolean (self->priv->settings, PREF_CROP_ASPECT_RATIO_INVERT));
 
 	self->priv->grid_type_combobox = _gtk_combo_box_new_with_texts (_("None"),
 									_("Rule of Thirds"),
@@ -451,12 +457,17 @@ gth_file_tool_crop_get_options (GthFileTool *base)
 									_("Center Lines"),
 									_("Uniform"),
 									NULL);
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->grid_type_combobox), eel_gconf_get_enum (PREF_CROP_GRID_TYPE, GTH_TYPE_GRID_TYPE, GTH_GRID_THIRDS));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->grid_type_combobox),
+				  g_settings_get_enum (self->priv->settings, PREF_CROP_GRID_TYPE));
 	gtk_widget_show (self->priv->grid_type_combobox);
-	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("grid_type_combobox_box")), self->priv->grid_type_combobox, FALSE, FALSE, 0);
-	gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("grid_label")), self->priv->grid_type_combobox);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("bind_dimensions_checkbutton")), eel_gconf_get_boolean (PREF_CROP_BIND_DIMENSIONS, FALSE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("bind_factor_spinbutton")), eel_gconf_get_integer (PREF_CROP_BIND_FACTOR, 8));
+	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("grid_type_combobox_box")),
+			    self->priv->grid_type_combobox, FALSE, FALSE, 0);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("grid_label")),
+				       self->priv->grid_type_combobox);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("bind_dimensions_checkbutton")),
+				      g_settings_get_boolean (self->priv->settings, PREF_CROP_BIND_DIMENSIONS));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("bind_factor_spinbutton")),
+				   g_settings_get_int (self->priv->settings, PREF_CROP_BIND_FACTOR));
 
 	g_signal_connect (GET_WIDGET ("crop_button"),
 			  "clicked",
@@ -557,13 +568,13 @@ gth_file_tool_crop_destroy_options (GthFileTool *base)
 	if (self->priv->builder != NULL) {
 		/* save the dialog options */
 
-		eel_gconf_set_enum (PREF_CROP_GRID_TYPE, GTH_TYPE_GRID_TYPE, gth_image_selector_get_grid_type (self->priv->selector));
-		eel_gconf_set_integer (PREF_CROP_ASPECT_RATIO_WIDTH, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton"))));
-		eel_gconf_set_integer (PREF_CROP_ASPECT_RATIO_HEIGHT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton"))));
-		eel_gconf_set_enum (PREF_CROP_ASPECT_RATIO, GTH_TYPE_ASPECT_RATIO, gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->ratio_combobox)));
-		eel_gconf_set_boolean (PREF_CROP_ASPECT_RATIO_INVERT, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton"))));
-		eel_gconf_set_boolean (PREF_CROP_BIND_DIMENSIONS, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("bind_dimensions_checkbutton"))));
-		eel_gconf_set_integer (PREF_CROP_BIND_FACTOR, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("bind_factor_spinbutton"))));
+		g_settings_set_enum (self->priv->settings, PREF_CROP_GRID_TYPE, gth_image_selector_get_grid_type (self->priv->selector));
+		g_settings_set_int (self->priv->settings, PREF_CROP_ASPECT_RATIO_WIDTH, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton"))));
+		g_settings_set_int (self->priv->settings, PREF_CROP_ASPECT_RATIO_HEIGHT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton"))));
+		g_settings_set_enum (self->priv->settings, PREF_CROP_ASPECT_RATIO, gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->ratio_combobox)));
+		g_settings_set_boolean (self->priv->settings, PREF_CROP_ASPECT_RATIO_INVERT, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton"))));
+		g_settings_set_boolean (self->priv->settings, PREF_CROP_BIND_DIMENSIONS, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("bind_dimensions_checkbutton"))));
+		g_settings_set_int (self->priv->settings, PREF_CROP_BIND_FACTOR, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("bind_factor_spinbutton"))));
 
 		/* destroy the option data */
 
@@ -577,7 +588,8 @@ gth_file_tool_crop_destroy_options (GthFileTool *base)
 	viewer_page = gth_browser_get_viewer_page (GTH_BROWSER (window));
 	viewer = gth_image_viewer_page_get_image_viewer (GTH_IMAGE_VIEWER_PAGE (viewer_page));
 	gth_image_viewer_set_tool (GTH_IMAGE_VIEWER (viewer), NULL);
-	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (viewer), eel_gconf_get_enum (PREF_ZOOM_QUALITY, GTH_TYPE_ZOOM_QUALITY, GTH_ZOOM_QUALITY_HIGH));
+	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (viewer),
+					   g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY));
 }
 
 
@@ -592,6 +604,7 @@ static void
 gth_file_tool_crop_init (GthFileToolCrop *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_FILE_TOOL_CROP, GthFileToolCropPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_CROP_SCHEMA);
 	gth_file_tool_construct (GTH_FILE_TOOL (self), "tool-crop", _("Crop..."), _("Crop"), FALSE);
 }
 
@@ -608,6 +621,7 @@ gth_file_tool_crop_finalize (GObject *object)
 
 	_g_object_unref (self->priv->selector);
 	_g_object_unref (self->priv->builder);
+	_g_object_unref (self->priv->settings);
 
 	/* Chain up */
 	G_OBJECT_CLASS (gth_file_tool_crop_parent_class)->finalize (object);
diff --git a/extensions/file_tools/gth-file-tool-resize.c b/extensions/file_tools/gth-file-tool-resize.c
index 2ea2a3d..7442c63 100644
--- a/extensions/file_tools/gth-file-tool-resize.c
+++ b/extensions/file_tools/gth-file-tool-resize.c
@@ -37,6 +37,7 @@ G_DEFINE_TYPE (GthFileToolResize, gth_file_tool_resize, GTH_TYPE_FILE_TOOL)
 
 
 struct _GthFileToolResizePrivate {
+	GSettings       *settings;
 	cairo_surface_t *original_image;
 	cairo_surface_t *new_image;
 	GtkBuilder      *builder;
@@ -463,8 +464,8 @@ gth_file_tool_resize_get_options (GthFileTool *base)
 	self->priv->new_image = NULL;
 	self->priv->new_width = self->priv->original_width;
 	self->priv->new_height = self->priv->original_height;
-	self->priv->filter = eel_gconf_get_boolean (PREF_RESIZE_HIGH_QUALITY, TRUE) ? CAIRO_FILTER_GAUSSIAN : CAIRO_FILTER_NEAREST;
-	self->priv->unit = eel_gconf_get_enum (PREF_RESIZE_UNIT, GTH_TYPE_UNIT, GTH_UNIT_PERCENTAGE);
+	self->priv->filter = g_settings_get_boolean (self->priv->settings, PREF_RESIZE_HIGH_QUALITY) ? CAIRO_FILTER_GAUSSIAN : CAIRO_FILTER_NEAREST;
+	self->priv->unit = g_settings_get_enum (self->priv->settings, PREF_RESIZE_UNIT);
 	self->priv->builder = _gtk_builder_new_from_file ("resize-options.ui", "file_tools");
 
 	update_dimensione_info_label (self,
@@ -479,14 +480,18 @@ gth_file_tool_resize_get_options (GthFileTool *base)
 	if (self->priv->unit == GTH_UNIT_PIXELS) {
 		gtk_spin_button_set_digits (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")), 0);
 		gtk_spin_button_set_digits (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")), 0);
-		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")), eel_gconf_get_float (PREF_RESIZE_WIDTH, self->priv->original_width));
-		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")), eel_gconf_get_float (PREF_RESIZE_HEIGHT, self->priv->original_height));
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")),
+					   g_settings_get_double (self->priv->settings, PREF_RESIZE_WIDTH));
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")),
+					   g_settings_get_double (self->priv->settings, PREF_RESIZE_HEIGHT));
 	}
 	else if (self->priv->unit == GTH_UNIT_PERCENTAGE) {
 		gtk_spin_button_set_digits (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")), 2);
 		gtk_spin_button_set_digits (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")), 2);
-		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")), eel_gconf_get_float (PREF_RESIZE_WIDTH, 100.0));
-		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")), eel_gconf_get_float (PREF_RESIZE_HEIGHT, 100.0));
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton")),
+					   g_settings_get_double (self->priv->settings, PREF_RESIZE_WIDTH));
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton")),
+					   g_settings_get_double (self->priv->settings, PREF_RESIZE_HEIGHT));
 	}
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox")), self->priv->unit);
 
@@ -513,11 +518,15 @@ gth_file_tool_resize_get_options (GthFileTool *base)
 	gtk_widget_show (self->priv->ratio_combobox);
 	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("ratio_combobox_box")), self->priv->ratio_combobox, FALSE, FALSE, 0);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("high_quality_checkbutton")), self->priv->filter != CAIRO_FILTER_NEAREST);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton")), eel_gconf_get_boolean (PREF_RESIZE_ASPECT_RATIO_INVERT, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("high_quality_checkbutton")),
+				      self->priv->filter != CAIRO_FILTER_NEAREST);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton")),
+				      g_settings_get_boolean (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_INVERT));
 
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton")), MAX (eel_gconf_get_integer (PREF_RESIZE_ASPECT_RATIO_WIDTH, 1), 1));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton")), MAX (eel_gconf_get_integer (PREF_RESIZE_ASPECT_RATIO_HEIGHT, 1), 1));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton")),
+				   MAX (g_settings_get_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_WIDTH), 1));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton")),
+				   MAX (g_settings_get_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_HEIGHT), 1));
 
 	g_signal_connect (GET_WIDGET ("resize_button"),
 			  "clicked",
@@ -568,7 +577,8 @@ gth_file_tool_resize_get_options (GthFileTool *base)
 			  G_CALLBACK (screen_size_button_clicked_cb),
 			  self);
 
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->ratio_combobox), eel_gconf_get_enum (PREF_RESIZE_ASPECT_RATIO, GTH_TYPE_ASPECT_RATIO, GTH_ASPECT_RATIO_IMAGE));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->ratio_combobox),
+				  g_settings_get_enum (self->priv->settings, PREF_RESIZE_ASPECT_RATIO));
 
 	return options;
 }
@@ -590,14 +600,14 @@ gth_file_tool_resize_destroy_options (GthFileTool *base)
 		/* save the dialog options */
 
 		unit = gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox")));
-		eel_gconf_set_enum (PREF_RESIZE_UNIT, GTH_TYPE_UNIT, unit);
-		eel_gconf_set_float (PREF_RESIZE_WIDTH, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton"))));
-		eel_gconf_set_float (PREF_RESIZE_HEIGHT, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton"))));
-		eel_gconf_set_integer (PREF_RESIZE_ASPECT_RATIO_WIDTH, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton"))));
-		eel_gconf_set_integer (PREF_RESIZE_ASPECT_RATIO_HEIGHT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton"))));
-		eel_gconf_set_enum (PREF_RESIZE_ASPECT_RATIO, GTH_TYPE_ASPECT_RATIO, gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->ratio_combobox)));
-		eel_gconf_set_boolean (PREF_RESIZE_ASPECT_RATIO_INVERT, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton"))));
-		eel_gconf_set_boolean (PREF_RESIZE_HIGH_QUALITY, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("high_quality_checkbutton"))));
+		g_settings_set_enum (self->priv->settings, PREF_RESIZE_UNIT, unit);
+		g_settings_set_double (self->priv->settings, PREF_RESIZE_WIDTH, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_width_spinbutton"))));
+		g_settings_set_double (self->priv->settings, PREF_RESIZE_HEIGHT, (float) gtk_spin_button_get_value (GTK_SPIN_BUTTON (GET_WIDGET ("resize_height_spinbutton"))));
+		g_settings_set_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_WIDTH, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_w_spinbutton"))));
+		g_settings_set_int (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_HEIGHT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("ratio_h_spinbutton"))));
+		g_settings_set_enum (self->priv->settings, PREF_RESIZE_ASPECT_RATIO, gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->ratio_combobox)));
+		g_settings_set_boolean (self->priv->settings, PREF_RESIZE_ASPECT_RATIO_INVERT, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("invert_ratio_checkbutton"))));
+		g_settings_set_boolean (self->priv->settings, PREF_RESIZE_HIGH_QUALITY, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("high_quality_checkbutton"))));
 
 		/* destroy the options data */
 
@@ -636,6 +646,7 @@ gth_file_tool_resize_finalize (GObject *object)
 	cairo_surface_destroy (self->priv->new_image);
 	cairo_surface_destroy (self->priv->original_image);
 	_g_object_unref (self->priv->builder);
+	_g_object_unref (self->priv->settings);
 
 	/* Chain up */
 	G_OBJECT_CLASS (gth_file_tool_resize_parent_class)->finalize (object);
@@ -665,5 +676,6 @@ static void
 gth_file_tool_resize_init (GthFileToolResize *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_FILE_TOOL_RESIZE, GthFileToolResizePrivate);
+	self->priv->settings = g_settings_new (GTHUMB_RESIZE_SCHEMA);
 	gth_file_tool_construct (GTH_FILE_TOOL (self), "tool-resize", _("Resize..."), _("Resize"), FALSE);
 }
diff --git a/extensions/file_tools/gth-file-tool-rotate.c b/extensions/file_tools/gth-file-tool-rotate.c
index fb3231d..e58adf1 100644
--- a/extensions/file_tools/gth-file-tool-rotate.c
+++ b/extensions/file_tools/gth-file-tool-rotate.c
@@ -38,6 +38,7 @@ G_DEFINE_TYPE (GthFileToolRotate, gth_file_tool_rotate, GTH_TYPE_FILE_TOOL)
 
 
 struct _GthFileToolRotatePrivate {
+	GSettings             *settings;
 	cairo_surface_t       *image;
 	gboolean               has_alpha;
 	GtkBuilder            *builder;
@@ -417,14 +418,14 @@ gth_file_tool_rotate_get_options (GthFileTool *base)
 							       _("Center Lines"),
 							       _("Uniform"),
 							       NULL);
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->crop_grid), eel_gconf_get_enum (PREF_ROTATE_GRID_TYPE, GTH_TYPE_GRID_TYPE, GTH_GRID_THIRDS));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->crop_grid), g_settings_get_enum (self->priv->settings, PREF_ROTATE_GRID_TYPE));
 	gtk_widget_show (self->priv->crop_grid);
 	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("crop_grid_hbox")), self->priv->crop_grid, FALSE, FALSE, 0);
 	gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("crop_grid_label")), self->priv->crop_grid);
 
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("resize_combobox")), eel_gconf_get_enum (PREF_ROTATE_RESIZE, GTH_TYPE_TRANSFORM_RESIZE, GTH_TRANSFORM_RESIZE_CROP));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("resize_combobox")), g_settings_get_enum (self->priv->settings, PREF_ROTATE_RESIZE));
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_aspect_ratio")), eel_gconf_get_boolean (PREF_ROTATE_KEEP_ASPECT_RATIO, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_aspect_ratio")), g_settings_get_boolean (self->priv->settings, PREF_ROTATE_KEEP_ASPECT_RATIO));
 
 	self->priv->alignment = gth_image_line_tool_new ();
 
@@ -442,7 +443,7 @@ gth_file_tool_rotate_get_options (GthFileTool *base)
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("background_transparent_checkbutton")), FALSE);
 	}
 
-	color_spec = eel_gconf_get_string (PREF_ROTATE_BACKGROUND_COLOR, "#000");
+	color_spec = g_settings_get_string (self->priv->settings, PREF_ROTATE_BACKGROUND_COLOR);
 	if (! self->priv->has_alpha && gdk_color_parse (color_spec, &color)) {
 		_gdk_color_to_cairo_color (&color, &background_color);
 	}
@@ -553,16 +554,16 @@ gth_file_tool_rotate_destroy_options (GthFileTool *base)
 
 		/* save the dialog options */
 
-		eel_gconf_set_enum (PREF_ROTATE_RESIZE, GTH_TYPE_TRANSFORM_RESIZE, gth_image_rotator_get_resize (GTH_IMAGE_ROTATOR (self->priv->rotator)));
-		eel_gconf_set_boolean (PREF_ROTATE_KEEP_ASPECT_RATIO, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_aspect_ratio"))));
-		eel_gconf_set_enum (PREF_ROTATE_GRID_TYPE, GTH_TYPE_GRID_TYPE, gth_image_rotator_get_grid_type (GTH_IMAGE_ROTATOR (self->priv->rotator)));
+		g_settings_set_enum (self->priv->settings, PREF_ROTATE_RESIZE, gth_image_rotator_get_resize (GTH_IMAGE_ROTATOR (self->priv->rotator)));
+		g_settings_set_boolean (self->priv->settings, PREF_ROTATE_KEEP_ASPECT_RATIO, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_aspect_ratio"))));
+		g_settings_set_enum (self->priv->settings, PREF_ROTATE_GRID_TYPE, gth_image_rotator_get_grid_type (GTH_IMAGE_ROTATOR (self->priv->rotator)));
 
 		gth_image_rotator_get_background (GTH_IMAGE_ROTATOR (self->priv->rotator), &background_color);
 		color.red = background_color.r * 255.0;
 		color.green = background_color.g * 255.0;
 		color.blue = background_color.b * 255.0;
 		color_spec = gdk_color_to_string (&color);
-		eel_gconf_set_string (PREF_ROTATE_BACKGROUND_COLOR, color_spec);
+		g_settings_set_string (self->priv->settings, PREF_ROTATE_BACKGROUND_COLOR, color_spec);
 		g_free (color_spec);
 	}
 
@@ -600,6 +601,7 @@ gth_file_tool_rotate_finalize (GObject *object)
 
 	cairo_surface_destroy (self->priv->image);
 	_g_object_unref (self->priv->builder);
+	_g_object_unref (self->priv->settings);
 
 	/* Chain up */
 	G_OBJECT_CLASS (gth_file_tool_rotate_parent_class)->finalize (object);
@@ -629,6 +631,7 @@ static void
 gth_file_tool_rotate_init (GthFileToolRotate *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_FILE_TOOL_ROTATE, GthFileToolRotatePrivate);
+	self->priv->settings = g_settings_new (GTHUMB_ROTATE_SCHEMA);
 
 	gth_file_tool_construct (GTH_FILE_TOOL (self), "tool-rotate", _("Rotate..."), _("Rotate"), TRUE);
 	gtk_widget_set_tooltip_text (GTK_WIDGET (self), _("Freely rotate the image"));
diff --git a/extensions/file_tools/preferences.h b/extensions/file_tools/preferences.h
index eeb1025..f0025f1 100644
--- a/extensions/file_tools/preferences.h
+++ b/extensions/file_tools/preferences.h
@@ -19,35 +19,47 @@
  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef PREFERENCES_H
-#define PREFERENCES_H
+#ifndef FILE_TOOLS_PREFERENCES_H
+#define FILE_TOOLS_PREFERENCES_H
 
 #include <gthumb.h>
 
 G_BEGIN_DECLS
 
-#define PREF_CROP_GRID_TYPE             "/apps/gthumb/ext/crop/grid_type"
-#define PREF_CROP_ASPECT_RATIO          "/apps/gthumb/ext/crop/aspect_ratio"
-#define PREF_CROP_ASPECT_RATIO_INVERT   "/apps/gthumb/ext/crop/aspect_ratio_invert"
-#define PREF_CROP_ASPECT_RATIO_WIDTH    "/apps/gthumb/ext/crop/aspect_ratio_width"
-#define PREF_CROP_ASPECT_RATIO_HEIGHT   "/apps/gthumb/ext/crop/aspect_ratio_height"
-#define PREF_CROP_BIND_DIMENSIONS       "/apps/gthumb/ext/crop/bind_dimensions"
-#define PREF_CROP_BIND_FACTOR           "/apps/gthumb/ext/crop/bind_factor"
-
-#define PREF_RESIZE_UNIT                "/apps/gthumb/ext/resize/unit"
-#define PREF_RESIZE_WIDTH               "/apps/gthumb/ext/resize/width"
-#define PREF_RESIZE_HEIGHT              "/apps/gthumb/ext/resize/height"
-#define PREF_RESIZE_ASPECT_RATIO_WIDTH  "/apps/gthumb/ext/resize/aspect_ratio_width"
-#define PREF_RESIZE_ASPECT_RATIO_HEIGHT "/apps/gthumb/ext/resize/aspect_ratio_height"
-#define PREF_RESIZE_ASPECT_RATIO        "/apps/gthumb/ext/resize/aspect_ratio"
-#define PREF_RESIZE_ASPECT_RATIO_INVERT "/apps/gthumb/ext/resize/aspect_ratio_invert"
-#define PREF_RESIZE_HIGH_QUALITY        "/apps/gthumb/ext/resize/high_quality"
-
-#define PREF_ROTATE_RESIZE              "/apps/gthumb/ext/rotate/resize"
-#define PREF_ROTATE_KEEP_ASPECT_RATIO   "/apps/gthumb/ext/rotate/keep_aspect_ratio"
-#define PREF_ROTATE_GRID_TYPE           "/apps/gthumb/ext/rotate/grid_type"
-#define PREF_ROTATE_BACKGROUND_COLOR    "/apps/gthumb/ext/rotate/background_color"
+/* schemas */
+
+#define GTHUMB_CROP_SCHEMA              GTHUMB_SCHEMA ".crop"
+#define GTHUMB_RESIZE_SCHEMA            GTHUMB_SCHEMA ".resize"
+#define GTHUMB_ROTATE_SCHEMA            GTHUMB_SCHEMA ".rotate"
+
+/* keys: crop */
+
+#define PREF_CROP_GRID_TYPE             "grid-type"
+#define PREF_CROP_ASPECT_RATIO          "aspect-ratio"
+#define PREF_CROP_ASPECT_RATIO_INVERT   "aspect-ratio-invert"
+#define PREF_CROP_ASPECT_RATIO_WIDTH    "aspect-ratio-width"
+#define PREF_CROP_ASPECT_RATIO_HEIGHT   "aspect-ratio-height"
+#define PREF_CROP_BIND_DIMENSIONS       "bind-dimensions"
+#define PREF_CROP_BIND_FACTOR           "bind-factor"
+
+/* keys: resize */
+
+#define PREF_RESIZE_UNIT                "unit"
+#define PREF_RESIZE_WIDTH               "width"
+#define PREF_RESIZE_HEIGHT              "height"
+#define PREF_RESIZE_ASPECT_RATIO_WIDTH  "aspect-ratio-width"
+#define PREF_RESIZE_ASPECT_RATIO_HEIGHT "aspect-ratio-height"
+#define PREF_RESIZE_ASPECT_RATIO        "aspect-ratio"
+#define PREF_RESIZE_ASPECT_RATIO_INVERT "aspect-ratio-invert"
+#define PREF_RESIZE_HIGH_QUALITY        "high-quality"
+
+/* keys: rotate */
+
+#define PREF_ROTATE_RESIZE              "resize"
+#define PREF_ROTATE_KEEP_ASPECT_RATIO   "keep-aspect-ratio"
+#define PREF_ROTATE_GRID_TYPE           "grid-type"
+#define PREF_ROTATE_BACKGROUND_COLOR    "background-color"
 
 G_END_DECLS
 
-#endif /* PREFERENCES_H */
+#endif /* FILE_TOOLS_PREFERENCES_H */
diff --git a/extensions/find_duplicates/dlg-find-duplicates.c b/extensions/find_duplicates/dlg-find-duplicates.c
index 6bc8623..e4526f0 100644
--- a/extensions/find_duplicates/dlg-find-duplicates.c
+++ b/extensions/find_duplicates/dlg-find-duplicates.c
@@ -78,6 +78,7 @@ void
 dlg_find_duplicates (GthBrowser *browser)
 {
 	DialogData *data;
+	GSettings  *settings;
 	GtkWidget  *file_chooser;
 	GList      *tests;
 	char       *general_filter;
@@ -95,6 +96,8 @@ dlg_find_duplicates (GthBrowser *browser)
 	data->browser = browser;
 	data->builder = _gtk_builder_new_from_file ("find-duplicates.ui", "find_duplicates");
 
+	settings = g_settings_new (GTHUMB_BROWSER_SCHEMA);
+
 	/* Get the widgets. */
 
 	data->dialog = _gtk_builder_get_widget (data->builder, "find_duplicates_dialog");
@@ -110,7 +113,7 @@ dlg_find_duplicates (GthBrowser *browser)
 		gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (file_chooser), get_home_uri ());
 
 	tests = gth_main_get_registered_objects_id (GTH_TYPE_TEST);
-	general_filter = eel_gconf_get_string (PREF_GENERAL_FILTER, DEFAULT_GENERAL_FILTER);
+	general_filter = g_settings_get_string (settings, PREF_BROWSER_GENERAL_FILTER);
 	active_filter = 0;
 	for (i = 0, i_general = -1, scan = tests; scan; scan = scan->next, i++) {
 		const char  *registered_test_id = scan->data;
@@ -141,6 +144,7 @@ dlg_find_duplicates (GthBrowser *browser)
 
 	g_free (general_filter);
 	_g_string_list_free (tests);
+	g_object_unref (settings);
 
 	/* Set the signals handlers. */
 
@@ -163,7 +167,6 @@ dlg_find_duplicates (GthBrowser *browser)
 
 	/* Run dialog. */
 
-
 	gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser));
 	gtk_window_set_modal (GTK_WINDOW (data->dialog), FALSE);
 	gtk_widget_show (data->dialog);
diff --git a/extensions/find_duplicates/gth-find-duplicates.c b/extensions/find_duplicates/gth-find-duplicates.c
index 77fddbe..982fca9 100644
--- a/extensions/find_duplicates/gth-find-duplicates.c
+++ b/extensions/find_duplicates/gth-find-duplicates.c
@@ -959,11 +959,14 @@ gth_find_duplicates_exec (GthBrowser *browser,
 		     	  const char *filter)
 {
 	GthFindDuplicates *self;
+	GSettings         *settings;
 	const char        *test_attributes;
 	int                i;
 
 	self = (GthFindDuplicates *) g_object_new (GTH_TYPE_FIND_DUPLICATES, NULL);
 
+	settings = g_settings_new (GTHUMB_BROWSER_SCHEMA);
+
 	self->priv->browser = browser;
 	self->priv->location = g_object_ref (location);
 	self->priv->recursive = recursive;
@@ -973,7 +976,7 @@ gth_find_duplicates_exec (GthBrowser *browser,
 	self->priv->file_source = gth_main_get_file_source (self->priv->location);
 	gth_file_source_set_cancellable (self->priv->file_source, self->priv->cancellable);
 
-	self->priv->attributes = g_string_new (eel_gconf_get_boolean (PREF_FAST_FILE_TYPE, TRUE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE);
+	self->priv->attributes = g_string_new (g_settings_get_boolean (settings, PREF_BROWSER_FAST_FILE_TYPE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE);
 	g_string_append (self->priv->attributes, ",gth::file::display-size");
 	test_attributes = gth_test_get_attributes (self->priv->test);
 	if (test_attributes[0] != '\0') {
@@ -1012,6 +1015,8 @@ gth_find_duplicates_exec (GthBrowser *browser,
 	}
 	gth_menu_button_set_menu (GTH_MENU_BUTTON (self->priv->select_button), self->priv->select_menu);
 
+	g_object_unref (settings);
+
 	g_signal_connect (GET_WIDGET ("find_duplicates_dialog"),
 			  "destroy",
 			  G_CALLBACK (find_duplicates_dialog_destroy_cb),
diff --git a/extensions/flicker_utils/dlg-import-from-flickr.c b/extensions/flicker_utils/dlg-import-from-flickr.c
index 0120071..09f6e3f 100644
--- a/extensions/flicker_utils/dlg-import-from-flickr.c
+++ b/extensions/flicker_utils/dlg-import-from-flickr.c
@@ -145,6 +145,7 @@ import_dialog_response_cb (GtkDialog *dialog,
 
 			file_list = get_files_to_download (data);
 			if (file_list != NULL) {
+				GSettings           *settings;
 				GFile               *destination;
 				gboolean             single_subfolder;
 				GthSubfolderType     subfolder_type;
@@ -152,11 +153,12 @@ import_dialog_response_cb (GtkDialog *dialog,
 				char                *custom_format;
 				GthTask             *task;
 
+				settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
 				destination = gth_import_preferences_get_destination ();
-				subfolder_type = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_TYPE, GTH_TYPE_SUBFOLDER_TYPE, GTH_SUBFOLDER_TYPE_FILE_DATE);
-				subfolder_format = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_FORMAT, GTH_TYPE_SUBFOLDER_FORMAT, GTH_SUBFOLDER_FORMAT_YYYYMMDD);
-				single_subfolder = eel_gconf_get_boolean (PREF_IMPORT_SUBFOLDER_SINGLE, FALSE);
-				custom_format = eel_gconf_get_string (PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT, "");
+				subfolder_type = g_settings_get_enum (settings, PREF_IMPORTER_SUBFOLDER_TYPE);
+				subfolder_format = g_settings_get_enum (settings, PREF_IMPORTER_SUBFOLDER_FORMAT);
+				single_subfolder = g_settings_get_boolean (settings, PREF_IMPORTER_SUBFOLDER_SINGLE);
+				custom_format = g_settings_get_string (settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT);
 
 				task = gth_import_task_new (data->browser,
 							    file_list,
@@ -175,6 +177,7 @@ import_dialog_response_cb (GtkDialog *dialog,
 
 				g_object_unref (task);
 				_g_object_unref (destination);
+				g_object_unref (settings);
 			}
 
 			_g_object_list_unref (file_list);
diff --git a/extensions/gstreamer_tools/actions.c b/extensions/gstreamer_tools/actions.c
index e15e1e8..f44523e 100644
--- a/extensions/gstreamer_tools/actions.c
+++ b/extensions/gstreamer_tools/actions.c
@@ -36,6 +36,7 @@
 
 typedef struct {
 	GthBrowser         *browser;
+	GSettings          *settings;
 	GthMediaViewerPage *page;
 	gboolean            playing_before_screenshot;
 	GdkPixbuf          *pixbuf;
@@ -48,6 +49,7 @@ save_date_free (SaveData *save_data)
 {
 	_g_object_unref (save_data->file_data);
 	_g_object_unref (save_data->pixbuf);
+	_g_object_unref (save_data->settings);
 	g_free (save_data);
 }
 
@@ -94,7 +96,7 @@ save_as_response_cb (GtkDialog  *file_sel,
 
 	folder = g_file_get_parent (file);
 	folder_uri = g_file_get_uri (folder);
-	eel_gconf_set_string (PREF_GSTREAMER_SCREESHOT_LOCATION, folder_uri);
+	g_settings_set_string (save_data->settings, PREF_GSTREAMER_TOOLS_SCREESHOT_LOCATION, folder_uri);
 
 	save_data->file_data = gth_file_data_new (file, NULL);
 	gth_file_data_set_mime_type (save_data->file_data, mime_type);
@@ -137,7 +139,7 @@ screenshot_ready_cb (GdkPixbuf *pixbuf,
 		char        *display_name;
 		int          attempt;
 
-		last_uri = eel_gconf_get_string (PREF_GSTREAMER_SCREESHOT_LOCATION, "~");
+		last_uri = g_settings_get_string (save_data->settings, PREF_GSTREAMER_TOOLS_SCREESHOT_LOCATION);
 		if ((last_uri == NULL) || (strcmp (last_uri, "~") == 0))
 			last_folder = g_file_new_for_path (g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP));
 		else
@@ -196,6 +198,7 @@ media_viewer_activate_action_screenshot (GtkAction          *action,
 
 	save_data = g_new0 (SaveData, 1);
 	save_data->browser = gth_media_viewer_page_get_browser (page);
+	save_data->settings = g_settings_new (GTHUMB_GSTREAMER_TOOLS_SCHEMA);
 	save_data->page = page;
 	save_data->playing_before_screenshot = gth_media_viewer_page_is_playing (page);
 
diff --git a/extensions/gstreamer_tools/preferences.h b/extensions/gstreamer_tools/preferences.h
index 31b5fb5..e83f34d 100644
--- a/extensions/gstreamer_tools/preferences.h
+++ b/extensions/gstreamer_tools/preferences.h
@@ -22,6 +22,12 @@
 #ifndef PREFERENCES_H
 #define PREFERENCES_H
 
-#define  PREF_GSTREAMER_SCREESHOT_LOCATION "/apps/gthumb/ext/gstreamer/screenshot_location"
+/* schema */
+
+#define GTHUMB_GSTREAMER_TOOLS_SCHEMA            GTHUMB_SCHEMA ".gstreamer-tools"
+
+/* keys */
+
+#define  PREF_GSTREAMER_TOOLS_SCREESHOT_LOCATION "screenshot-location"
 
 #endif /* PREFERENCES_H */
diff --git a/extensions/image_print/gth-image-print-job.c b/extensions/image_print/gth-image-print-job.c
index cdace73..eb41a42 100644
--- a/extensions/image_print/gth-image-print-job.c
+++ b/extensions/image_print/gth-image-print-job.c
@@ -37,6 +37,7 @@ G_DEFINE_TYPE (GthImagePrintJob, gth_image_print_job, G_TYPE_OBJECT)
 
 
 struct _GthImagePrintJobPrivate {
+	GSettings          *settings;
 	GtkPrintOperationAction  action;
 	GthBrowser         *browser;
 	GtkPrintOperation  *print_operation;
@@ -113,6 +114,7 @@ gth_image_print_job_finalize (GObject *base)
 	_g_object_unref (self->priv->print_operation);
 	_g_object_unref (self->priv->builder);
 	g_free (self->priv->event_name);
+	_g_object_unref (self->priv->settings);
 
 	G_OBJECT_CLASS (gth_image_print_job_parent_class)->finalize (base);
 }
@@ -134,23 +136,24 @@ static void
 gth_image_print_job_init (GthImagePrintJob *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_IMAGE_PRINT_JOB, GthImagePrintJobPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_IMAGE_PRINT_SCHEMA);
 	self->priv->event_name = NULL;
 	self->priv->builder = NULL;
 	self->priv->task = NULL;
 	self->priv->page_setup = NULL;
 	self->priv->current_page = 0;
-	self->priv->caption_attributes = eel_gconf_get_string (PREF_IMAGE_PRINT_CAPTION, "");
-	self->priv->caption_font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_FONT_NAME, DEFAULT_CAPTION_FONT_NAME);
-	self->priv->header_font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_HEADER_FONT_NAME, DEFAULT_HEADER_FONT_NAME);
-	self->priv->footer_font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_FOOTER_FONT_NAME, DEFAULT_FOOTER_FONT_NAME);
+	self->priv->caption_attributes = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_CAPTION);
+	self->priv->caption_font_name = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_FONT_NAME);
+	self->priv->header_font_name = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_HEADER_FONT_NAME);
+	self->priv->footer_font_name = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_FOOTER_FONT_NAME);
 	self->priv->selected = NULL;
-	self->priv->n_rows = eel_gconf_get_integer (PREF_IMAGE_PRINT_N_ROWS, 1);
-	self->priv->n_columns = eel_gconf_get_integer (PREF_IMAGE_PRINT_N_COLUMNS, 1);
-	self->priv->unit = eel_gconf_get_enum (PREF_IMAGE_PRINT_UNIT, GTH_TYPE_METRIC, GTH_METRIC_PIXELS);
+	self->priv->n_rows = g_settings_get_int (self->priv->settings, PREF_IMAGE_PRINT_N_ROWS);
+	self->priv->n_columns = g_settings_get_int (self->priv->settings, PREF_IMAGE_PRINT_N_COLUMNS);
+	self->priv->unit = g_settings_get_enum (self->priv->settings, PREF_IMAGE_PRINT_UNIT);
 	self->priv->header_rectangle.height = 0;
 	self->priv->footer_rectangle.height = 0;
-	self->priv->header_template = eel_gconf_get_string (PREF_IMAGE_PRINT_HEADER, DEFAULT_HEADER);
-	self->priv->footer_template = eel_gconf_get_string (PREF_IMAGE_PRINT_FOOTER, DEFAULT_FOOTER);
+	self->priv->header_template = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_HEADER);
+	self->priv->footer_template = g_settings_get_string (self->priv->settings, PREF_IMAGE_PRINT_FOOTER);
 	self->priv->header = NULL;
 	self->priv->footer = NULL;
 	self->priv->printing = FALSE;
@@ -1238,7 +1241,7 @@ caption_chooser_changed_cb (GthMetadataChooser *chooser,
 	reload_required = attribute_list_reload_required (self->priv->caption_attributes, new_caption_attributes);
 	g_free (self->priv->caption_attributes);
 	self->priv->caption_attributes = new_caption_attributes;
-	eel_gconf_set_string (PREF_IMAGE_PRINT_CAPTION, self->priv->caption_attributes);
+	g_settings_set_string (self->priv->settings, PREF_IMAGE_PRINT_CAPTION, self->priv->caption_attributes);
 
 	if (reload_required)
 		gth_image_print_job_load_metadata (self);
@@ -1483,7 +1486,8 @@ operation_create_custom_widget_cb (GtkPrintOperation *operation,
 	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("rows_spinbutton")), self->priv->n_rows);
 	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("columns_spinbutton")), self->priv->n_columns);
 
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox")), eel_gconf_get_enum (PREF_IMAGE_PRINT_UNIT, GTH_TYPE_METRIC, GTH_METRIC_PIXELS));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox")),
+				  g_settings_get_enum (self->priv->settings, PREF_IMAGE_PRINT_UNIT));
 
 	g_signal_connect (GET_WIDGET ("preview_drawingarea"),
 			  "draw",
@@ -1634,11 +1638,11 @@ operation_custom_widget_apply_cb (GtkPrintOperation *operation,
 {
 	GthImagePrintJob *self = user_data;
 
-	eel_gconf_set_integer (PREF_IMAGE_PRINT_N_ROWS, self->priv->n_rows);
-	eel_gconf_set_integer (PREF_IMAGE_PRINT_N_COLUMNS, self->priv->n_columns);
-	eel_gconf_set_enum (PREF_IMAGE_PRINT_UNIT, GTH_TYPE_METRIC, gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox"))));
-	eel_gconf_set_string (PREF_IMAGE_PRINT_HEADER, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("header_entry"))));
-	eel_gconf_set_string (PREF_IMAGE_PRINT_FOOTER, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("footer_entry"))));
+	g_settings_set_int (self->priv->settings, PREF_IMAGE_PRINT_N_ROWS, self->priv->n_rows);
+	g_settings_set_int (self->priv->settings, PREF_IMAGE_PRINT_N_COLUMNS, self->priv->n_columns);
+	g_settings_set_enum (self->priv->settings, PREF_IMAGE_PRINT_UNIT, gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox"))));
+	g_settings_set_string (self->priv->settings, PREF_IMAGE_PRINT_HEADER, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("header_entry"))));
+	g_settings_set_string (self->priv->settings, PREF_IMAGE_PRINT_FOOTER, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("footer_entry"))));
 }
 
 
diff --git a/extensions/image_print/preferences.c b/extensions/image_print/preferences.c
index ff50c5c..4f1d0d6 100644
--- a/extensions/image_print/preferences.c
+++ b/extensions/image_print/preferences.c
@@ -31,6 +31,7 @@
 
 typedef struct {
 	GtkBuilder *builder;
+	GSettings  *settings;
 } BrowserData;
 
 
@@ -38,6 +39,7 @@ static void
 browser_data_free (BrowserData *data)
 {
 	g_object_unref (data->builder);
+	g_object_unref (data->settings);
 	g_free (data);
 }
 
@@ -55,21 +57,22 @@ ip__dlg_preferences_construct_cb (GtkWidget  *dialog,
 
 	data = g_new0 (BrowserData, 1);
 	data->builder = _gtk_builder_new_from_file ("print-preferences.ui", "image_print");
+	data->settings = g_settings_new (GTHUMB_IMAGE_PRINT_SCHEMA);
 
 	notebook = _gtk_builder_get_widget (dialog_builder, "notebook");
 
 	page = _gtk_builder_get_widget (data->builder, "preferences_page");
 	gtk_widget_show (page);
 
-	font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_FONT_NAME, DEFAULT_CAPTION_FONT_NAME);
+	font_name = g_settings_get_string (data->settings, PREF_IMAGE_PRINT_FONT_NAME);
 	gtk_font_button_set_font_name (GTK_FONT_BUTTON (GET_WIDGET ("caption_fontbutton")), font_name);
 	g_free (font_name);
 
-	font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_HEADER_FONT_NAME, DEFAULT_HEADER_FONT_NAME);
+	font_name = g_settings_get_string (data->settings, PREF_IMAGE_PRINT_HEADER_FONT_NAME);
 	gtk_font_button_set_font_name (GTK_FONT_BUTTON (GET_WIDGET ("header_fontbutton")), font_name);
 	g_free (font_name);
 
-	font_name = eel_gconf_get_string (PREF_IMAGE_PRINT_FOOTER_FONT_NAME, DEFAULT_FOOTER_FONT_NAME);
+	font_name = g_settings_get_string (data->settings, PREF_IMAGE_PRINT_FOOTER_FONT_NAME);
 	gtk_font_button_set_font_name (GTK_FONT_BUTTON (GET_WIDGET ("footer_fontbutton")), font_name);
 	g_free (font_name);
 
@@ -91,7 +94,7 @@ ip__dlg_preferences_apply_cb (GtkWidget  *dialog,
 	data = g_object_get_data (G_OBJECT (dialog), BROWSER_DATA_KEY);
 	g_return_if_fail (data != NULL);
 
-	eel_gconf_set_string (PREF_IMAGE_PRINT_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("caption_fontbutton"))));
-	eel_gconf_set_string (PREF_IMAGE_PRINT_HEADER_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("header_fontbutton"))));
-	eel_gconf_set_string (PREF_IMAGE_PRINT_FOOTER_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("footer_fontbutton"))));
+	g_settings_set_string (data->settings, PREF_IMAGE_PRINT_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("caption_fontbutton"))));
+	g_settings_set_string (data->settings, PREF_IMAGE_PRINT_HEADER_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("header_fontbutton"))));
+	g_settings_set_string (data->settings, PREF_IMAGE_PRINT_FOOTER_FONT_NAME, gtk_font_button_get_font_name (GTK_FONT_BUTTON (GET_WIDGET ("footer_fontbutton"))));
 }
diff --git a/extensions/image_print/preferences.h b/extensions/image_print/preferences.h
index 0db5bf1..2506635 100644
--- a/extensions/image_print/preferences.h
+++ b/extensions/image_print/preferences.h
@@ -26,21 +26,22 @@
 
 G_BEGIN_DECLS
 
-#define PREF_IMAGE_PRINT_CAPTION           "/apps/gthumb/ext/image_print/caption"
-#define PREF_IMAGE_PRINT_FONT_NAME         "/apps/gthumb/ext/image_print/font_name"
-#define PREF_IMAGE_PRINT_HEADER_FONT_NAME  "/apps/gthumb/ext/image_print/header_font_name"
-#define PREF_IMAGE_PRINT_FOOTER_FONT_NAME  "/apps/gthumb/ext/image_print/footer_font_name"
-#define PREF_IMAGE_PRINT_HEADER            "/apps/gthumb/ext/image_print/header"
-#define PREF_IMAGE_PRINT_FOOTER            "/apps/gthumb/ext/image_print/footer"
-#define PREF_IMAGE_PRINT_N_ROWS            "/apps/gthumb/ext/image_print/n_rows"
-#define PREF_IMAGE_PRINT_N_COLUMNS         "/apps/gthumb/ext/image_print/n_columns"
-#define PREF_IMAGE_PRINT_UNIT              "/apps/gthumb/ext/image_print/unit"
-
-#define DEFAULT_CAPTION_FONT_NAME "sans normal 10"
-#define DEFAULT_HEADER_FONT_NAME  "sans bold 12"
-#define DEFAULT_FOOTER_FONT_NAME  "sans normal 8"
-#define DEFAULT_HEADER            ""
-#define DEFAULT_FOOTER            ""
+/* schemas */
+
+#define GTHUMB_IMAGE_PRINT_SCHEMA          GTHUMB_SCHEMA ".image-print"
+
+/* keys */
+
+#define PREF_IMAGE_PRINT_CAPTION           "caption"
+#define PREF_IMAGE_PRINT_FONT_NAME         "font-name"
+#define PREF_IMAGE_PRINT_HEADER_FONT_NAME  "header-font-name"
+#define PREF_IMAGE_PRINT_FOOTER_FONT_NAME  "footer-font-name"
+#define PREF_IMAGE_PRINT_HEADER            "header"
+#define PREF_IMAGE_PRINT_FOOTER            "footer"
+#define PREF_IMAGE_PRINT_N_ROWS            "n-rows"
+#define PREF_IMAGE_PRINT_N_COLUMNS         "n-columns"
+#define PREF_IMAGE_PRINT_UNIT              "unit"
+
 
 void ip__dlg_preferences_construct_cb (GtkWidget  *dialog,
 				       GthBrowser *browser,
diff --git a/extensions/image_rotation/gth-transform-task.c b/extensions/image_rotation/gth-transform-task.c
index 9ad1208..62000ff 100644
--- a/extensions/image_rotation/gth-transform-task.c
+++ b/extensions/image_rotation/gth-transform-task.c
@@ -212,7 +212,7 @@ static void
 gth_transform_task_init (GthTransformTask *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_TRANSFORM_TASK, GthTransformTaskPrivate);
-	self->priv->default_action = JPEG_MCU_ACTION_ABORT; /* FIXME: save a gconf value for this */
+	self->priv->default_action = JPEG_MCU_ACTION_ABORT;
 	self->priv->file_data = NULL;
 }
 
diff --git a/extensions/image_rotation/rotation-utils.c b/extensions/image_rotation/rotation-utils.c
index 63bcf8e..b32b7b5 100644
--- a/extensions/image_rotation/rotation-utils.c
+++ b/extensions/image_rotation/rotation-utils.c
@@ -88,8 +88,7 @@ ask_whether_to_trim (GtkWindow        *parent_window,
 
 	/* If the user disabled the warning dialog trim the image */
 
-	/*
-	 * FIXME
+	/* FIXME
 	 if (! eel_gconf_get_boolean (PREF_MSG_JPEG_MCU_WARNING, TRUE)) {
 		if (done_func != NULL)
 			done_func (JPEG_MCU_ACTION_TRIM, done_data);
diff --git a/extensions/image_viewer/gth-image-viewer-page.c b/extensions/image_viewer/gth-image-viewer-page.c
index f1b684e..882ed30 100644
--- a/extensions/image_viewer/gth-image-viewer-page.c
+++ b/extensions/image_viewer/gth-image-viewer-page.c
@@ -27,9 +27,6 @@
 #include "preferences.h"
 
 
-#define GCONF_NOTIFICATIONS 7
-
-
 static void gth_viewer_page_interface_init (GthViewerPageInterface *iface);
 
 
@@ -42,6 +39,7 @@ G_DEFINE_TYPE_WITH_CODE (GthImageViewerPage,
 
 struct _GthImageViewerPagePrivate {
 	GthBrowser        *browser;
+	GSettings         *settings;
 	GtkWidget         *image_navigator;
 	GtkWidget         *viewer;
 	GthImagePreloader *preloader;
@@ -52,7 +50,6 @@ struct _GthImageViewerPagePrivate {
 	GthFileData       *file_data;
 	gulong             requested_ready_id;
 	gulong             original_size_ready_id;
-	guint              cnxn_id[GCONF_NOTIFICATIONS];
 	guint              hide_mouse_timeout;
 	guint              motion_signal;
 	gboolean           image_changed;
@@ -456,92 +453,92 @@ image_preloader_original_size_ready_cb (GthImagePreloader  *preloader,
 
 
 static void
-pref_zoom_quality_changed (GConfClient *client,
-			   guint        cnxn_id,
-			   GConfEntry  *entry,
-			   gpointer     user_data)
+pref_zoom_quality_changed (GSettings *settings,
+			   char      *key,
+			   gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_ZOOM_QUALITY, GTH_TYPE_ZOOM_QUALITY, GTH_ZOOM_QUALITY_HIGH));
+	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (self->priv->viewer),
+					   g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_zoom_change_changed (GConfClient *client,
-			  guint        cnxn_id,
-			  GConfEntry  *entry,
-			  gpointer     user_data)
+pref_zoom_change_changed (GSettings *settings,
+		   	  char      *key,
+		   	  gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_zoom_change (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_ZOOM_CHANGE, GTH_TYPE_ZOOM_CHANGE, GTH_ZOOM_CHANGE_FIT_SIZE_IF_LARGER));
+	gth_image_viewer_set_zoom_change (GTH_IMAGE_VIEWER (self->priv->viewer),
+					  g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_transp_type_changed (GConfClient *client,
-			  guint        cnxn_id,
-			  GConfEntry  *entry,
-			  gpointer     user_data)
+pref_transp_type_changed (GSettings *settings,
+			  char      *key,
+			  gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_transp_type (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_TRANSP_TYPE, GTH_TYPE_TRANSP_TYPE, GTH_TRANSP_TYPE_NONE));
+	gth_image_viewer_set_transp_type (GTH_IMAGE_VIEWER (self->priv->viewer),
+					  g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_TRANSP_TYPE));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_check_type_changed (GConfClient *client,
-			 guint        cnxn_id,
-			 GConfEntry  *entry,
-			 gpointer     user_data)
+pref_check_type_changed (GSettings *settings,
+		   	 char      *key,
+		   	 gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_check_type (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_CHECK_TYPE, GTH_TYPE_CHECK_TYPE, GTH_CHECK_TYPE_MIDTONE));
+	gth_image_viewer_set_check_type (GTH_IMAGE_VIEWER (self->priv->viewer),
+					 g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_CHECK_TYPE));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_check_size_changed (GConfClient *client,
-			 guint        cnxn_id,
-			 GConfEntry  *entry,
-			 gpointer     user_data)
+pref_check_size_changed (GSettings *settings,
+		   	 char      *key,
+		   	 gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_check_size (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_CHECK_SIZE, GTH_TYPE_CHECK_SIZE, GTH_CHECK_SIZE_MEDIUM));
+	gth_image_viewer_set_check_size (GTH_IMAGE_VIEWER (self->priv->viewer),
+					 g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_CHECK_SIZE));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_black_background_changed (GConfClient *client,
-			       guint        cnxn_id,
-			       GConfEntry  *entry,
-			       gpointer     user_data)
+pref_black_background_changed (GSettings *settings,
+		   	       char      *key,
+		   	       gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_BLACK_BACKGROUND, FALSE));
+	gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer),
+					       g_settings_get_boolean (self->priv->settings, PREF_IMAGE_VIEWER_BLACK_BACKGROUND));
 	gtk_widget_queue_draw (self->priv->viewer);
 }
 
 
 static void
-pref_reset_scrollbars_changed (GConfClient *client,
-			       guint        cnxn_id,
-			       GConfEntry  *entry,
-			       gpointer     user_data)
+pref_reset_scrollbars_changed (GSettings *settings,
+		   	       char      *key,
+		   	       gpointer   user_data)
 {
 	GthImageViewerPage *self = user_data;
 
-	gth_image_viewer_set_reset_scrollbars (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_RESET_SCROLLBARS, TRUE));
+	gth_image_viewer_set_reset_scrollbars (GTH_IMAGE_VIEWER (self->priv->viewer),
+					       g_settings_get_boolean (self->priv->settings, PREF_IMAGE_VIEWER_RESET_SCROLLBARS));
 }
 
 
@@ -697,7 +694,6 @@ gth_image_viewer_page_real_activate (GthViewerPage *base,
 {
 	GthImageViewerPage *self;
 	GtkAction          *action;
-	int                 i;
 
 	self = (GthImageViewerPage*) base;
 
@@ -725,13 +721,20 @@ gth_image_viewer_page_real_activate (GthViewerPage *base,
 							       self);
 
 	self->priv->viewer = gth_image_viewer_new ();
-	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_ZOOM_QUALITY, GTH_TYPE_ZOOM_QUALITY, GTH_ZOOM_QUALITY_HIGH));
-	gth_image_viewer_set_zoom_change (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_ZOOM_CHANGE, GTH_TYPE_ZOOM_CHANGE, GTH_ZOOM_CHANGE_FIT_SIZE_IF_LARGER));
-	gth_image_viewer_set_transp_type (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_TRANSP_TYPE, GTH_TYPE_TRANSP_TYPE, GTH_TRANSP_TYPE_NONE));
-	gth_image_viewer_set_check_type (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_CHECK_TYPE, GTH_TYPE_CHECK_TYPE, GTH_CHECK_TYPE_MIDTONE));
-	gth_image_viewer_set_check_size (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_enum (PREF_CHECK_SIZE, GTH_TYPE_CHECK_SIZE, GTH_CHECK_SIZE_MEDIUM));
-	gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_BLACK_BACKGROUND, FALSE));
-	gth_image_viewer_set_reset_scrollbars (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_RESET_SCROLLBARS, TRUE));
+	gth_image_viewer_set_zoom_quality (GTH_IMAGE_VIEWER (self->priv->viewer),
+					   g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY));
+	gth_image_viewer_set_zoom_change (GTH_IMAGE_VIEWER (self->priv->viewer),
+					  g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE));
+	gth_image_viewer_set_transp_type (GTH_IMAGE_VIEWER (self->priv->viewer),
+					  g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_TRANSP_TYPE));
+	gth_image_viewer_set_check_type (GTH_IMAGE_VIEWER (self->priv->viewer),
+					 g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_CHECK_TYPE));
+	gth_image_viewer_set_check_size (GTH_IMAGE_VIEWER (self->priv->viewer),
+					 g_settings_get_enum (self->priv->settings, PREF_IMAGE_VIEWER_CHECK_SIZE));
+	gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer),
+					       g_settings_get_boolean (self->priv->settings, PREF_IMAGE_VIEWER_BLACK_BACKGROUND));
+	gth_image_viewer_set_reset_scrollbars (GTH_IMAGE_VIEWER (self->priv->viewer),
+					       g_settings_get_boolean (self->priv->settings, PREF_IMAGE_VIEWER_RESET_SCROLLBARS));
 
 	gtk_widget_show (self->priv->viewer);
 
@@ -774,46 +777,36 @@ gth_image_viewer_page_real_activate (GthViewerPage *base,
 	gth_browser_set_viewer_widget (browser, self->priv->image_navigator);
 	gth_viewer_page_focus (GTH_VIEWER_PAGE (self));
 
-	/* gconf notifications */
-
-	for (i = 0; i < GCONF_NOTIFICATIONS; i++)
-		self->priv->cnxn_id[i] = 0;
-
-	i = 0;
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_ZOOM_QUALITY,
-					   pref_zoom_quality_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_ZOOM_CHANGE,
-					   pref_zoom_change_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_TRANSP_TYPE,
-					   pref_transp_type_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_CHECK_TYPE,
-					   pref_check_type_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_CHECK_SIZE,
-					   pref_check_size_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_BLACK_BACKGROUND,
-					   pref_black_background_changed,
-					   self);
-
-	self->priv->cnxn_id[i++] = eel_gconf_notification_add (
-					   PREF_RESET_SCROLLBARS,
-					   pref_reset_scrollbars_changed,
-					   self);
+	/* settings notifications */
+
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_ZOOM_QUALITY,
+			  G_CALLBACK (pref_zoom_quality_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_ZOOM_CHANGE,
+			  G_CALLBACK (pref_zoom_change_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_TRANSP_TYPE,
+			  G_CALLBACK (pref_transp_type_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_CHECK_TYPE,
+			  G_CALLBACK (pref_check_type_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_CHECK_SIZE,
+			  G_CALLBACK (pref_check_size_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_BLACK_BACKGROUND,
+			  G_CALLBACK (pref_black_background_changed),
+			  browser);
+	g_signal_connect (self->priv->settings,
+			  "changed::" PREF_IMAGE_VIEWER_RESET_SCROLLBARS,
+			  G_CALLBACK (pref_reset_scrollbars_changed),
+			  browser);
 }
 
 
@@ -822,18 +815,9 @@ gth_image_viewer_page_real_deactivate (GthViewerPage *base)
 {
 	GthImageViewerPage *self;
 	GtkAction          *action;
-	int                 i;
 
 	self = (GthImageViewerPage*) base;
 
-	/* remove gconf notifications */
-
-	for (i = 0; i < GCONF_NOTIFICATIONS; i++)
-		if (self->priv->cnxn_id[i] != 0)
-			eel_gconf_notification_remove (self->priv->cnxn_id[i]);
-
-	/**/
-
 	action = gtk_action_group_get_action (gth_browser_get_actions (self->priv->browser), "Viewer_Tools");
 	g_object_set (action, "sensitive", FALSE, NULL);
 
@@ -1007,7 +991,8 @@ gth_image_viewer_page_real_fullscreen (GthViewerPage *base,
 	}
 	else {
 		gth_image_navigator_set_automatic_scrollbars (GTH_IMAGE_NAVIGATOR (self->priv->image_navigator), TRUE);
-		gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_BLACK_BACKGROUND, FALSE));
+		gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer),
+						       g_settings_get_boolean (self->priv->settings, PREF_IMAGE_VIEWER_BLACK_BACKGROUND));
 	}
 }
 
@@ -1365,6 +1350,7 @@ gth_image_viewer_page_finalize (GObject *obj)
 
 	self = GTH_IMAGE_VIEWER_PAGE (obj);
 
+	g_object_unref (self->priv->settings);
 	g_object_unref (self->priv->history);
 	_g_object_unref (self->priv->file_data);
 	_g_object_unref (self->priv->last_loaded);
@@ -1409,6 +1395,7 @@ static void
 gth_image_viewer_page_init (GthImageViewerPage *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_IMAGE_VIEWER_PAGE, GthImageViewerPagePrivate);
+	self->priv->settings = g_settings_new (GTHUMB_IMAGE_VIEWER_SCHEMA);
 	self->priv->history = gth_image_history_new ();
 	self->priv->last_loaded = NULL;
 	self->priv->image_changed = FALSE;
diff --git a/extensions/image_viewer/preferences.c b/extensions/image_viewer/preferences.c
index 0db0104..e59343f 100644
--- a/extensions/image_viewer/preferences.c
+++ b/extensions/image_viewer/preferences.c
@@ -30,6 +30,7 @@
 
 typedef struct {
 	GtkBuilder *builder;
+	GSettings  *settings;
 } BrowserData;
 
 
@@ -37,6 +38,7 @@ static void
 browser_data_free (BrowserData *data)
 {
 	g_object_unref (data->builder);
+	g_object_unref (data->settings);
 	g_free (data);
 }
 
@@ -45,7 +47,7 @@ static void
 zoom_quality_changed_cb (GtkComboBox *combo_box,
 			 BrowserData *data)
 {
-	eel_gconf_set_enum (PREF_ZOOM_QUALITY, GTH_TYPE_ZOOM_QUALITY, gtk_combo_box_get_active (combo_box));
+	g_settings_set_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY, gtk_combo_box_get_active (combo_box));
 }
 
 
@@ -54,7 +56,7 @@ static void
 zoom_change_changed_cb (GtkComboBox *combo_box,
 			BrowserData *data)
 {
-	eel_gconf_set_enum (PREF_ZOOM_CHANGE, GTH_TYPE_ZOOM_CHANGE, gtk_combo_box_get_active (combo_box));
+	g_settings_set_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE, gtk_combo_box_get_active (combo_box));
 }
 
 
@@ -62,7 +64,7 @@ static void
 reset_scrollbars_toggled_cb (GtkToggleButton *button,
 			     BrowserData     *data)
 {
-	eel_gconf_set_boolean (PREF_RESET_SCROLLBARS, gtk_toggle_button_get_active (button));
+	g_settings_set_boolean (data->settings, PREF_IMAGE_VIEWER_RESET_SCROLLBARS, gtk_toggle_button_get_active (button));
 }
 
 
@@ -70,7 +72,7 @@ static void
 transp_type_changed_cb (GtkComboBox *combo_box,
 			BrowserData *data)
 {
-	eel_gconf_set_enum (PREF_TRANSP_TYPE, GTH_TYPE_TRANSP_TYPE, gtk_combo_box_get_active (combo_box));
+	g_settings_set_enum (data->settings, PREF_IMAGE_VIEWER_TRANSP_TYPE, gtk_combo_box_get_active (combo_box));
 }
 
 
@@ -86,6 +88,7 @@ image_viewer__dlg_preferences_construct_cb (GtkWidget  *dialog,
 
 	data = g_new0 (BrowserData, 1);
 	data->builder = _gtk_builder_new_from_file ("image-viewer-preferences.ui", "image_viewer");
+	data->settings = g_settings_new (GTHUMB_IMAGE_VIEWER_SCHEMA);
 
 	notebook = _gtk_builder_get_widget (dialog_builder, "notebook");
 
@@ -93,10 +96,14 @@ image_viewer__dlg_preferences_construct_cb (GtkWidget  *dialog,
 	g_object_set_data (G_OBJECT (page), "extension-name", "image_viewer");
 	gtk_widget_show (page);
 
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("change_zoom_combobox")), eel_gconf_get_enum (PREF_ZOOM_CHANGE, GTH_TYPE_ZOOM_CHANGE, GTH_ZOOM_CHANGE_FIT_SIZE_IF_LARGER));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("toggle_reset_scrollbars")), eel_gconf_get_boolean (PREF_RESET_SCROLLBARS, TRUE));
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("transp_type_combobox")), eel_gconf_get_enum (PREF_TRANSP_TYPE, GTH_TYPE_TRANSP_TYPE, GTH_TRANSP_TYPE_NONE));
-	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("zoom_quality_combobox")), eel_gconf_get_enum (PREF_ZOOM_QUALITY, GTH_TYPE_ZOOM_QUALITY, GTH_ZOOM_QUALITY_LOW));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("change_zoom_combobox")),
+				  g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("toggle_reset_scrollbars")),
+				      g_settings_get_boolean (data->settings, PREF_IMAGE_VIEWER_RESET_SCROLLBARS));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("transp_type_combobox")),
+				  g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_TRANSP_TYPE));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("zoom_quality_combobox")),
+				  g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY));
 
 	g_signal_connect (GET_WIDGET ("zoom_quality_combobox"),
 			  "changed",
diff --git a/extensions/image_viewer/preferences.h b/extensions/image_viewer/preferences.h
index 673aebb..27bc1c9 100644
--- a/extensions/image_viewer/preferences.h
+++ b/extensions/image_viewer/preferences.h
@@ -24,14 +24,19 @@
 
 #include <gthumb.h>
 
-#define  PREF_VIEWER_ZOOM_QUALITY           "/apps/gthumb/viewer/zoom_quality"
-#define  PREF_VIEWER_ZOOM_CHANGE            "/apps/gthumb/viewer/zoom_change"
-#define  PREF_VIEWER_TRANSP_TYPE            "/apps/gthumb/viewer/transparency_type"
-#define  PREF_VIEWER_RESET_SCROLLBARS       "/apps/gthumb/viewer/reset_scrollbars"
-#define  PREF_VIEWER_CHECK_TYPE             "/apps/gthumb/viewer/check_type"
-#define  PREF_VIEWER_CHECK_SIZE             "/apps/gthumb/viewer/check_size"
-#define  PREF_VIEWER_BLACK_BACKGROUND       "/apps/gthumb/viewer/black_background"
-#define  PREF_VIEWER_SHRINK_WRAP            "/apps/gthumb/viewer/shrink_wrap"
+/* schema */
+
+#define GTHUMB_IMAGE_VIEWER_SCHEMA          GTHUMB_SCHEMA ".image-viewer"
+
+/* keys */
+
+#define PREF_IMAGE_VIEWER_ZOOM_QUALITY      "zoom-quality"
+#define PREF_IMAGE_VIEWER_ZOOM_CHANGE       "zoom-change"
+#define PREF_IMAGE_VIEWER_TRANSP_TYPE       "transparency-type"
+#define PREF_IMAGE_VIEWER_RESET_SCROLLBARS  "reset-scrollbars"
+#define PREF_IMAGE_VIEWER_CHECK_TYPE        "check-type"
+#define PREF_IMAGE_VIEWER_CHECK_SIZE        "check-size"
+#define PREF_IMAGE_VIEWER_BLACK_BACKGROUND  "black-background"
 
 void image_viewer__dlg_preferences_construct_cb (GtkWidget  *dialog,
 						 GthBrowser *browser,
diff --git a/extensions/importer/gth-import-preferences-dialog.c b/extensions/importer/gth-import-preferences-dialog.c
index 0976a68..ff1a3d4 100644
--- a/extensions/importer/gth-import-preferences-dialog.c
+++ b/extensions/importer/gth-import-preferences-dialog.c
@@ -45,6 +45,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
 
 struct _GthImportPreferencesDialogPrivate {
 	GtkBuilder *builder;
+	GSettings  *settings;
 	GtkWidget  *subfolder_type_list;
 	GtkWidget  *subfolder_format_list;
 	char       *event;
@@ -59,6 +60,7 @@ gth_import_preferences_dialog_finalize (GObject *object)
 
 	self = GTH_IMPORT_PREFERENCES_DIALOG (object);
 
+	_g_object_unref (self->priv->settings);
 	_g_object_unref (self->priv->builder);
 	g_free (self->priv->event);
 
@@ -114,22 +116,22 @@ save_options (GthImportPreferencesDialog *self)
 		char *uri;
 
 		uri = g_file_get_uri (destination);
-		eel_gconf_set_string (PREF_IMPORT_DESTINATION, uri);
+		g_settings_set_string (self->priv->settings, PREF_IMPORTER_DESTINATION, uri);
 
 		g_free (uri);
 	}
 
 	single_subfolder = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_subfolder_checkbutton")));
-	eel_gconf_set_boolean (PREF_IMPORT_SUBFOLDER_SINGLE, single_subfolder);
+	g_settings_set_boolean (self->priv->settings, PREF_IMPORTER_SUBFOLDER_SINGLE, single_subfolder);
 
 	subfolder_type = get_subfolder_type (self);
-	eel_gconf_set_enum (PREF_IMPORT_SUBFOLDER_TYPE, GTH_TYPE_SUBFOLDER_TYPE, subfolder_type);
+	g_settings_set_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_TYPE, subfolder_type);
 
 	subfolder_format = gtk_combo_box_get_active (GTK_COMBO_BOX (self->priv->subfolder_format_list));
-	eel_gconf_set_enum (PREF_IMPORT_SUBFOLDER_FORMAT, GTH_TYPE_SUBFOLDER_FORMAT, subfolder_format);
+	g_settings_set_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_FORMAT, subfolder_format);
 
 	custom_format = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("custom_format_entry")));
-	eel_gconf_set_string (PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT, custom_format);
+	g_settings_set_string (self->priv->settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT, custom_format);
 
 	_g_object_unref (destination);
 }
@@ -310,6 +312,7 @@ gth_import_preferences_dialog_init (GthImportPreferencesDialog *self)
 
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_IMPORT_PREFERENCES_DIALOG, GthImportPreferencesDialogPrivate);
 	self->priv->builder = _gtk_builder_new_from_file ("import-preferences.ui", "importer");
+	self->priv->settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
 	self->priv->help_visible = FALSE;
 
 	gtk_window_set_title (GTK_WINDOW (self), _("Preferences"));
@@ -353,13 +356,16 @@ gth_import_preferences_dialog_init (GthImportPreferencesDialog *self)
 	gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")),
 						  destination,
 						  NULL);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_subfolder_checkbutton")), eel_gconf_get_boolean (PREF_IMPORT_SUBFOLDER_SINGLE, FALSE));
-	subfolder_type = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_TYPE, GTH_TYPE_SUBFOLDER_TYPE, GTH_SUBFOLDER_TYPE_FILE_DATE);
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_subfolder_checkbutton")),
+				      g_settings_get_boolean (self->priv->settings, PREF_IMPORTER_SUBFOLDER_SINGLE));
+	subfolder_type = g_settings_get_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_TYPE);
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("autosubfolder_checkbutton")), subfolder_type != GTH_SUBFOLDER_TYPE_NONE);
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_type_list), (subfolder_type == 0) ? 0 : subfolder_type - 1);
-	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_format_list), eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_FORMAT, GTH_TYPE_SUBFOLDER_FORMAT, GTH_SUBFOLDER_FORMAT_YYYYMMDD));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_type_list),
+				  (subfolder_type == 0) ? 0 : subfolder_type - 1);
+	gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->subfolder_format_list),
+				  g_settings_get_enum (self->priv->settings, PREF_IMPORTER_SUBFOLDER_FORMAT));
 
-	custom_format = eel_gconf_get_string (PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT, "");
+	custom_format = g_settings_get_string (self->priv->settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT);
 	if (custom_format != NULL) {
 		gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("custom_format_entry")), custom_format);
 		g_free (custom_format);
diff --git a/extensions/importer/gth-import-task.c b/extensions/importer/gth-import-task.c
index b509af8..a1a6e26 100644
--- a/extensions/importer/gth-import-task.c
+++ b/extensions/importer/gth-import-task.c
@@ -605,12 +605,15 @@ import_current_file (GthImportTask *self)
 			gtk_widget_show (d);
 		}
 		else {
+			GSettings *settings;
+
 			if ((self->priv->subfolder_type != GTH_SUBFOLDER_TYPE_NONE) && (self->priv->imported_catalog != NULL))
 				gth_browser_go_to (self->priv->browser, self->priv->imported_catalog, NULL);
 			else
 				gth_browser_go_to (self->priv->browser, self->priv->destination, NULL);
 
-			if (self->priv->delete_not_supported && eel_gconf_get_boolean (PREF_IMPORT_WARN_DELETE_UNSUPPORTED, TRUE)) {
+			settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
+			if (self->priv->delete_not_supported && g_settings_get_boolean (settings, PREF_IMPORTER_WARN_DELETE_UNSUPPORTED)) {
 				GtkWidget *d;
 
 				d =  _gtk_message_dialog_new (GTK_WINDOW (self->priv->browser),
@@ -625,8 +628,10 @@ import_current_file (GthImportTask *self)
 						  NULL);
 				gtk_widget_show (d);
 
-				eel_gconf_set_boolean (PREF_IMPORT_WARN_DELETE_UNSUPPORTED, FALSE);
+				g_settings_set_boolean (settings, PREF_IMPORTER_WARN_DELETE_UNSUPPORTED, FALSE);
 			}
+
+			g_object_unref (settings);
 		}
 
 		gth_task_completed (GTH_TASK (self), NULL);
diff --git a/extensions/importer/preferences.h b/extensions/importer/preferences.h
index 6f652c1..ac35a42 100644
--- a/extensions/importer/preferences.h
+++ b/extensions/importer/preferences.h
@@ -26,12 +26,18 @@
 
 G_BEGIN_DECLS
 
-#define PREF_IMPORT_DESTINATION             "/apps/gthumb/ext/importer/destination"
-#define PREF_IMPORT_SUBFOLDER_TYPE          "/apps/gthumb/ext/importer/subfolder_type"
-#define PREF_IMPORT_SUBFOLDER_FORMAT        "/apps/gthumb/ext/importer/subfolder_format"
-#define PREF_IMPORT_SUBFOLDER_SINGLE        "/apps/gthumb/ext/importer/subfolder_single"
-#define PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT "/apps/gthumb/ext/importer/subfolder_custom_format"
-#define PREF_IMPORT_WARN_DELETE_UNSUPPORTED "/apps/gthumb/ext/importer/warn_delete_unsupported"
+/* schemas */
+
+#define GTHUMB_IMPORTER_SCHEMA                 GTHUMB_SCHEMA ".importer"
+
+/* keys: viewer */
+
+#define PREF_IMPORTER_DESTINATION              "destination"
+#define PREF_IMPORTER_SUBFOLDER_TYPE           "subfolder-type"
+#define PREF_IMPORTER_SUBFOLDER_FORMAT         "subfolder-format"
+#define PREF_IMPORTER_SUBFOLDER_SINGLE         "subfolder-single"
+#define PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT  "subfolder-custom-format"
+#define PREF_IMPORTER_WARN_DELETE_UNSUPPORTED  "warn-delete-unsupported"
 
 G_END_DECLS
 
diff --git a/extensions/importer/utils.c b/extensions/importer/utils.c
index 5d16f0f..bff1978 100644
--- a/extensions/importer/utils.c
+++ b/extensions/importer/utils.c
@@ -28,16 +28,19 @@
 GFile *
 gth_import_preferences_get_destination (void)
 {
-	char  *last_destination;
-	GFile *folder;
+	GSettings *settings;
+	char      *last_destination;
+	GFile     *folder;
 
-	last_destination = eel_gconf_get_string (PREF_IMPORT_DESTINATION, NULL);
+	settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
+	last_destination = g_settings_get_string (settings, PREF_IMPORTER_DESTINATION);
 	if ((last_destination == NULL) || (*last_destination == 0))
 		folder = g_file_new_for_path (g_get_user_special_dir (G_USER_DIRECTORY_PICTURES));
 	else
 		folder = g_file_new_for_uri (last_destination);
 
 	g_free (last_destination);
+	g_object_unref (settings);
 
 	return folder;
 }
diff --git a/extensions/photo_importer/callbacks.c b/extensions/photo_importer/callbacks.c
index 3735f66..2048453 100644
--- a/extensions/photo_importer/callbacks.c
+++ b/extensions/photo_importer/callbacks.c
@@ -155,12 +155,14 @@ pi__import_photos_cb (GthBrowser *browser,
 
 typedef struct {
 	GtkBuilder *builder;
+	GSettings  *settings;
 } PreferencesData;
 
 
 static void
 preferences_data_free (PreferencesData *data)
 {
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	g_free (data);
 }
@@ -170,7 +172,7 @@ static void
 adjust_orientation_checkbutton_toggled_cb (GtkToggleButton *button,
 					   PreferencesData *data)
 {
-	eel_gconf_set_boolean (PREF_PHOTO_IMPORT_ADJUST_ORIENTATION, gtk_toggle_button_get_active (button));
+	g_settings_set_boolean (data->settings, PREF_PHOTO_IMPORTER_ADJUST_ORIENTATION, gtk_toggle_button_get_active (button));
 }
 
 
@@ -186,6 +188,7 @@ pi__dlg_preferences_construct_cb (GtkWidget  *dialog,
 
 	data = g_new0 (PreferencesData, 1);
 	data->builder = _gtk_builder_new_from_file("photo-importer-options.ui", "photo_importer");
+	data->settings = g_settings_new (GTHUMB_PHOTO_IMPORTER_SCHEMA);
 
 	general_vbox = _gtk_builder_get_widget (dialog_builder, "general_vbox");
 	importer_options = _gtk_builder_get_widget (data->builder, "importer_options");
@@ -200,7 +203,7 @@ pi__dlg_preferences_construct_cb (GtkWidget  *dialog,
 			       _gtk_container_get_n_children (GTK_CONTAINER (general_vbox)) - 2);
 
 	widget = _gtk_builder_get_widget (data->builder, "adjust_orientation_checkbutton");
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), eel_gconf_get_boolean (PREF_PHOTO_IMPORT_ADJUST_ORIENTATION, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), g_settings_get_boolean (data->settings, PREF_PHOTO_IMPORTER_ADJUST_ORIENTATION));
 	g_signal_connect (widget,
 			  "toggled",
 			  G_CALLBACK (adjust_orientation_checkbutton_toggled_cb),
diff --git a/extensions/photo_importer/dlg-photo-importer.c b/extensions/photo_importer/dlg-photo-importer.c
index 16f3a09..09250ee 100644
--- a/extensions/photo_importer/dlg-photo-importer.c
+++ b/extensions/photo_importer/dlg-photo-importer.c
@@ -49,6 +49,7 @@ typedef struct {
 	GtkWidget     *dialog;
 	GtkWidget     *preferences_dialog;
 	GtkBuilder    *builder;
+	GSettings     *settings;
 	GFile         *source;
 	GFile         *last_source;
 	GtkListStore  *device_list_store;
@@ -98,9 +99,10 @@ destroy_dialog (gpointer user_data)
 	g_signal_handler_disconnect (gth_main_get_default_monitor (), data->entry_points_changed_id);
 
 	delete_imported = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("delete_checkbutton")));
-	eel_gconf_set_boolean (PREF_PHOTO_IMPORT_DELETE, delete_imported);
+	g_settings_set_boolean (data->settings, PREF_PHOTO_IMPORTER_DELETE_FROM_DEVICE, delete_imported);
 
 	if (data->import) {
+		GSettings          *importer_settings;
 		GFile              *destination;
 		gboolean            single_subfolder;
 		GthSubfolderType    subfolder_type;
@@ -108,11 +110,12 @@ destroy_dialog (gpointer user_data)
 		char               *custom_format;
 		GList              *file_list;
 
+		importer_settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
 		destination = gth_import_preferences_get_destination ();
-		single_subfolder = eel_gconf_get_boolean (PREF_IMPORT_SUBFOLDER_SINGLE, FALSE);
-		subfolder_type = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_TYPE, GTH_TYPE_SUBFOLDER_TYPE, GTH_SUBFOLDER_TYPE_FILE_DATE);
-		subfolder_format = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_FORMAT, GTH_TYPE_SUBFOLDER_FORMAT, GTH_SUBFOLDER_FORMAT_YYYYMMDD);
-		custom_format = eel_gconf_get_string (PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT, "");
+		single_subfolder = g_settings_get_boolean (importer_settings, PREF_IMPORTER_SUBFOLDER_SINGLE);
+		subfolder_type = g_settings_get_enum (importer_settings, PREF_IMPORTER_SUBFOLDER_TYPE);
+		subfolder_format = g_settings_get_enum (importer_settings, PREF_IMPORTER_SUBFOLDER_FORMAT);
+		custom_format = g_settings_get_string (importer_settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT);
 
 		file_list = get_selected_file_list (data);
 		if (file_list != NULL) {
@@ -131,7 +134,7 @@ destroy_dialog (gpointer user_data)
 						    tags,
 						    delete_imported,
 						    FALSE,
-						    eel_gconf_get_boolean (PREF_PHOTO_IMPORT_ADJUST_ORIENTATION, FALSE));
+						    g_settings_get_boolean (data->settings, PREF_PHOTO_IMPORTER_ADJUST_ORIENTATION));
 			gth_browser_exec_task (data->browser, task, FALSE);
 
 			g_strfreev (tags);
@@ -141,12 +144,14 @@ destroy_dialog (gpointer user_data)
 		_g_object_list_unref (file_list);
 		g_free (custom_format);
 		_g_object_unref (destination);
+		g_object_unref (importer_settings);
 	}
 
 	gtk_widget_destroy (data->dialog);
 	gth_browser_set_dialog (data->browser, "photo_importer", NULL);
 
 	g_object_unref (data->vfs_source);
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	_g_object_unref (data->source);
 	_g_object_unref (data->last_source);
@@ -563,6 +568,7 @@ dlg_photo_importer (GthBrowser            *browser,
 	data = g_new0 (DialogData, 1);
 	data->browser = browser;
 	data->builder = _gtk_builder_new_from_file ("photo-importer.ui", "photo_importer");
+	data->settings = g_settings_new (GTHUMB_PHOTO_IMPORTER_SCHEMA);
 	data->selector_type = selector_type;
 	data->source = _g_object_ref (source);
 	data->cancellable = g_cancellable_new ();
@@ -670,7 +676,8 @@ dlg_photo_importer (GthBrowser            *browser,
 	gtk_box_pack_start (GTK_BOX (GET_WIDGET ("tags_entry_box")), data->tags_entry, TRUE, TRUE, 0);
 	gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("tags_label")), data->tags_entry);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("delete_checkbutton")), eel_gconf_get_boolean (PREF_PHOTO_IMPORT_DELETE, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("delete_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_PHOTO_IMPORTER_DELETE_FROM_DEVICE));
 
 	data->preferences_dialog = gth_import_preferences_dialog_new ();
 	gtk_window_set_transient_for (GTK_WINDOW (data->preferences_dialog), GTK_WINDOW (data->dialog));
diff --git a/extensions/photo_importer/preferences.h b/extensions/photo_importer/preferences.h
index 940baf8..33749f8 100644
--- a/extensions/photo_importer/preferences.h
+++ b/extensions/photo_importer/preferences.h
@@ -26,8 +26,14 @@
 
 G_BEGIN_DECLS
 
-#define PREF_PHOTO_IMPORT_DELETE               "/apps/gthumb/ext/photo_importer/delete_from_device"
-#define PREF_PHOTO_IMPORT_ADJUST_ORIENTATION   "/apps/gthumb/ext/photo_importer/adjust_orientation"
+/* schemas */
+
+#define GTHUMB_PHOTO_IMPORTER_SCHEMA             GTHUMB_SCHEMA ".photo-importer"
+
+/* keys: viewer */
+
+#define PREF_PHOTO_IMPORTER_DELETE_FROM_DEVICE   "delete-from-device"
+#define PREF_PHOTO_IMPORTER_ADJUST_ORIENTATION   "adjust-orientation"
 
 G_END_DECLS
 
diff --git a/extensions/picasaweb/dlg-import-from-picasaweb.c b/extensions/picasaweb/dlg-import-from-picasaweb.c
index 39b18f1..989eba7 100644
--- a/extensions/picasaweb/dlg-import-from-picasaweb.c
+++ b/extensions/picasaweb/dlg-import-from-picasaweb.c
@@ -158,6 +158,7 @@ import_dialog_response_cb (GtkDialog *dialog,
 			if (file_list != NULL) {
 				GFile               *destination;
 				GError              *error = NULL;
+				GSettings           *settings;
 				gboolean             single_subfolder;
 				GthSubfolderType     subfolder_type;
 				GthSubfolderFormat   subfolder_format;
@@ -179,10 +180,11 @@ import_dialog_response_cb (GtkDialog *dialog,
 					return;
 				}
 
-				subfolder_type = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_TYPE, GTH_TYPE_SUBFOLDER_TYPE, GTH_SUBFOLDER_TYPE_FILE_DATE);
-				subfolder_format = eel_gconf_get_enum (PREF_IMPORT_SUBFOLDER_FORMAT, GTH_TYPE_SUBFOLDER_FORMAT, GTH_SUBFOLDER_FORMAT_YYYYMMDD);
-				single_subfolder = eel_gconf_get_boolean (PREF_IMPORT_SUBFOLDER_SINGLE, FALSE);
-				custom_format = eel_gconf_get_string (PREF_IMPORT_SUBFOLDER_CUSTOM_FORMAT, "");
+				settings = g_settings_new (GTHUMB_IMPORTER_SCHEMA);
+				subfolder_type = g_settings_get_enum (settings, PREF_IMPORTER_SUBFOLDER_TYPE);
+				subfolder_format = g_settings_get_enum (settings, PREF_IMPORTER_SUBFOLDER_FORMAT);
+				single_subfolder = g_settings_get_boolean (settings, PREF_IMPORTER_SUBFOLDER_SINGLE);
+				custom_format = g_settings_get_string (settings, PREF_IMPORTER_SUBFOLDER_CUSTOM_FORMAT);
 
 				tags = g_strsplit ((album->keywords != NULL ? album->keywords : ""), ",", -1);
 				for (i = 0; tags[i] != NULL; i++)
@@ -205,6 +207,7 @@ import_dialog_response_cb (GtkDialog *dialog,
 
 				g_object_unref (task);
 				g_strfreev (tags);
+				g_object_unref (settings);
 				_g_object_unref (destination);
 			}
 
diff --git a/extensions/picasaweb/preferences.h b/extensions/picasaweb/preferences.h
index 2e63d43..24fd0c3 100644
--- a/extensions/picasaweb/preferences.h
+++ b/extensions/picasaweb/preferences.h
@@ -22,6 +22,12 @@
 #ifndef PREFERENCES_H
 #define PREFERENCES_H
 
-#define  PREF_PICASAWEB_SYNCHRONIZE "/apps/gthumb/ext/picasaweb/synchronize"
+/* schema */
+
+#define GTHUMB_PICASAWEB_SCHEMA     GTHUMB_SCHEMA ".picasaweb"
+
+/* keys */
+
+#define  PREF_PICASAWEB_SYNCHRONIZE "synchronize"
 
 #endif /* PREFERENCES_H */
diff --git a/extensions/pixbuf_savers/gth-jpeg-saver.c b/extensions/pixbuf_savers/gth-jpeg-saver.c
index bf36b3e..f72a27b 100644
--- a/extensions/pixbuf_savers/gth-jpeg-saver.c
+++ b/extensions/pixbuf_savers/gth-jpeg-saver.c
@@ -40,6 +40,7 @@ G_DEFINE_TYPE (GthJpegSaver, gth_jpeg_saver, GTH_TYPE_PIXBUF_SAVER)
 
 struct _GthJpegSaverPrivate {
 	GtkBuilder *builder;
+	GSettings  *settings;
 	char       *default_ext;
 };
 
@@ -49,6 +50,7 @@ gth_jpeg_saver_finalize (GObject *object)
 {
 	GthJpegSaver *self = GTH_JPEG_SAVER (object);
 
+	_g_object_unref (self->priv->settings);
 	_g_object_unref (self->priv->builder);
 	g_free (self->priv->default_ext);
 
@@ -62,7 +64,7 @@ gth_jpeg_saver_get_default_ext (GthPixbufSaver *base)
 	GthJpegSaver *self = GTH_JPEG_SAVER (base);
 
 	if (self->priv->default_ext == NULL)
-		self->priv->default_ext = eel_gconf_get_string (PREF_JPEG_DEFAULT_EXT, "jpeg");
+		self->priv->default_ext = g_settings_get_string (self->priv->settings, PREF_JPEG_DEFAULT_EXT);
 
 	return self->priv->default_ext;
 }
@@ -96,13 +98,13 @@ gth_jpeg_saver_get_control (GthPixbufSaver *base)
 	g_strfreev (extensions);
 
 	gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_quality_adjustment")),
-				  eel_gconf_get_integer (PREF_JPEG_QUALITY, 85));
+				  g_settings_get_int (self->priv->settings, PREF_JPEG_QUALITY));
 	gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_smooth_adjustment")),
-				  eel_gconf_get_integer (PREF_JPEG_SMOOTHING, 0));
+				  g_settings_get_int (self->priv->settings, PREF_JPEG_SMOOTHING));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_optimize_checkbutton")),
-				      eel_gconf_get_boolean (PREF_JPEG_OPTIMIZE, TRUE));
+				      g_settings_get_boolean (self->priv->settings, PREF_JPEG_OPTIMIZE));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_progressive_checkbutton")),
-				      eel_gconf_get_boolean (PREF_JPEG_PROGRESSIVE, FALSE));
+				      g_settings_get_boolean (self->priv->settings, PREF_JPEG_PROGRESSIVE));
 
 	return _gtk_builder_get_widget (self->priv->builder, "jpeg_options");
 }
@@ -120,12 +122,12 @@ gth_jpeg_saver_save_options (GthPixbufSaver *base)
 				    &iter,
 				    0, &self->priv->default_ext,
 				    -1);
-		eel_gconf_set_string (PREF_JPEG_DEFAULT_EXT, self->priv->default_ext);
+		g_settings_set_string (self->priv->settings, PREF_JPEG_DEFAULT_EXT, self->priv->default_ext);
 	}
-	eel_gconf_set_integer (PREF_JPEG_QUALITY, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_quality_adjustment"))));
-	eel_gconf_set_integer (PREF_JPEG_SMOOTHING, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_smooth_adjustment"))));
-	eel_gconf_set_boolean (PREF_JPEG_OPTIMIZE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_optimize_checkbutton"))));
-	eel_gconf_set_boolean (PREF_JPEG_PROGRESSIVE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_progressive_checkbutton"))));
+	g_settings_set_int (self->priv->settings, PREF_JPEG_QUALITY, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_quality_adjustment"))));
+	g_settings_set_int (self->priv->settings, PREF_JPEG_SMOOTHING, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "jpeg_smooth_adjustment"))));
+	g_settings_set_boolean (self->priv->settings, PREF_JPEG_OPTIMIZE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_optimize_checkbutton"))));
+	g_settings_set_boolean (self->priv->settings, PREF_JPEG_PROGRESSIVE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "jpeg_progressive_checkbutton"))));
 }
 
 
@@ -427,7 +429,7 @@ _gdk_pixbuf_save_as_jpeg (GdkPixbuf   *pixbuf,
 
 
 static gboolean
-gth_jpeg_saver_save_pixbuf (GthPixbufSaver  *self,
+gth_jpeg_saver_save_pixbuf (GthPixbufSaver  *base,
 			    GdkPixbuf       *pixbuf,
 			    char           **buffer,
 			    gsize           *buffer_size,
@@ -435,33 +437,33 @@ gth_jpeg_saver_save_pixbuf (GthPixbufSaver  *self,
 			    GError         **error)
 {
 #ifdef HAVE_LIBJPEG
-
-	char     **option_keys;
-	char     **option_values;
-	int        i = -1;
-	int        i_value;
-	gboolean   result;
+	GthJpegSaver  *self = GTH_JPEG_SAVER (base);
+	char         **option_keys;
+	char         **option_values;
+	int            i = -1;
+	int            i_value;
+	gboolean       result;
 
 	option_keys = g_malloc (sizeof (char *) * 5);
 	option_values = g_malloc (sizeof (char *) * 5);
 
 	i++;
-	i_value = eel_gconf_get_integer (PREF_JPEG_QUALITY, 85);
+	i_value = g_settings_get_int (self->priv->settings, PREF_JPEG_QUALITY);
 	option_keys[i] = g_strdup ("quality");
 	option_values[i] = g_strdup_printf ("%d", i_value);
 
 	i++;
-	i_value = eel_gconf_get_integer (PREF_JPEG_SMOOTHING, 0);
+	i_value = g_settings_get_int (self->priv->settings, PREF_JPEG_SMOOTHING);
 	option_keys[i] = g_strdup ("smooth");
 	option_values[i] = g_strdup_printf ("%d", i_value);
 
 	i++;
-	i_value = eel_gconf_get_boolean (PREF_JPEG_OPTIMIZE, TRUE);
+	i_value = g_settings_get_boolean (self->priv->settings, PREF_JPEG_OPTIMIZE);
 	option_keys[i] = g_strdup ("optimize");
 	option_values[i] = g_strdup (i_value != 0 ? "yes" : "no");
 
 	i++;
-	i_value = eel_gconf_get_boolean (PREF_JPEG_PROGRESSIVE, TRUE);
+	i_value = g_settings_get_boolean (self->priv->settings, PREF_JPEG_PROGRESSIVE);
 	option_keys[i] = g_strdup ("progressive");
 	option_values[i] = g_strdup (i_value != 0 ? "yes" : "no");
 
@@ -529,6 +531,7 @@ static void
 gth_jpeg_saver_init (GthJpegSaver *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_JPEG_SAVER, GthJpegSaverPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_PIXBUF_SAVERS_JPEG_SCHEMA);
 	self->priv->builder = NULL;
 	self->priv->default_ext = NULL;
 }
diff --git a/extensions/pixbuf_savers/gth-png-saver.c b/extensions/pixbuf_savers/gth-png-saver.c
index 824fe7c..445f16b 100644
--- a/extensions/pixbuf_savers/gth-png-saver.c
+++ b/extensions/pixbuf_savers/gth-png-saver.c
@@ -31,6 +31,7 @@ G_DEFINE_TYPE (GthPngSaver, gth_png_saver, GTH_TYPE_PIXBUF_SAVER)
 
 struct _GthPngSaverPrivate {
 	GtkBuilder *builder;
+	GSettings  *settings;
 };
 
 
@@ -40,6 +41,7 @@ gth_png_saver_finalize (GObject *object)
 	GthPngSaver *self = GTH_PNG_SAVER (object);
 
 	_g_object_unref (self->priv->builder);
+	_g_object_unref (self->priv->settings);
 	G_OBJECT_CLASS (gth_png_saver_parent_class)->finalize (object);
 }
 
@@ -53,7 +55,7 @@ gth_png_saver_get_control (GthPixbufSaver *base)
 		self->priv->builder = _gtk_builder_new_from_file ("png-options.ui", "pixbuf_savers");
 
 	gtk_adjustment_set_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "png_compression_adjustment")),
-				  eel_gconf_get_integer (PREF_PNG_COMPRESSION_LEVEL, 6));
+				  g_settings_get_int (self->priv->settings, PREF_PNG_COMPRESSION_LEVEL));
 
 	return _gtk_builder_get_widget (self->priv->builder, "png_options");
 }
@@ -64,7 +66,7 @@ gth_png_saver_save_options (GthPixbufSaver *base)
 {
 	GthPngSaver *self = GTH_PNG_SAVER (base);
 
-	eel_gconf_set_integer (PREF_PNG_COMPRESSION_LEVEL, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "png_compression_adjustment"))));
+	g_settings_set_int (self->priv->settings, PREF_PNG_COMPRESSION_LEVEL, (int) gtk_adjustment_get_value (GTK_ADJUSTMENT (_gtk_builder_get_widget (self->priv->builder, "png_compression_adjustment"))));
 }
 
 
@@ -77,19 +79,20 @@ gth_png_saver_can_save (GthPixbufSaver *self,
 
 
 static gboolean
-gth_png_saver_save_pixbuf (GthPixbufSaver  *self,
+gth_png_saver_save_pixbuf (GthPixbufSaver  *base,
 			   GdkPixbuf       *pixbuf,
 			   char           **buffer,
 			   gsize           *buffer_size,
 			   const char      *mime_type,
 			   GError         **error)
 {
-	char      *pixbuf_type;
-	char     **option_keys;
-	char     **option_values;
-	int        i = -1;
-	int        i_value;
-	gboolean   result;
+	GthPngSaver  *self = GTH_PNG_SAVER (base);
+	char         *pixbuf_type;
+	char        **option_keys;
+	char        **option_values;
+	int           i = -1;
+	int           i_value;
+	gboolean      result;
 
 	pixbuf_type = get_pixbuf_type_from_mime_type (mime_type);
 
@@ -97,7 +100,7 @@ gth_png_saver_save_pixbuf (GthPixbufSaver  *self,
 	option_values = g_malloc (sizeof (char *) * 2);
 
 	i++;
-	i_value = eel_gconf_get_integer (PREF_PNG_COMPRESSION_LEVEL, 6);
+	i_value = g_settings_get_int (self->priv->settings, PREF_PNG_COMPRESSION_LEVEL);
 	option_keys[i] = g_strdup ("compression");;
 	option_values[i] = g_strdup_printf ("%d", i_value);
 
@@ -149,4 +152,5 @@ static void
 gth_png_saver_init (GthPngSaver *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_PNG_SAVER, GthPngSaverPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_PIXBUF_SAVERS_PNG_SCHEMA);
 }
diff --git a/extensions/pixbuf_savers/gth-tga-saver.c b/extensions/pixbuf_savers/gth-tga-saver.c
index 29617d9..bc6bc9d 100644
--- a/extensions/pixbuf_savers/gth-tga-saver.c
+++ b/extensions/pixbuf_savers/gth-tga-saver.c
@@ -31,6 +31,7 @@ G_DEFINE_TYPE (GthTgaSaver, gth_tga_saver, GTH_TYPE_PIXBUF_SAVER)
 
 struct _GthTgaSaverPrivate {
 	GtkBuilder *builder;
+	GSettings  *settings;
 };
 
 
@@ -40,6 +41,7 @@ gth_tga_saver_finalize (GObject *object)
 	GthTgaSaver *self = GTH_TGA_SAVER (object);
 
 	_g_object_unref (self->priv->builder);
+	_g_object_unref (self->priv->settings);
 	G_OBJECT_CLASS (gth_tga_saver_parent_class)->finalize (object);
 }
 
@@ -53,7 +55,7 @@ gth_tga_saver_get_control (GthPixbufSaver *base)
 		self->priv->builder = _gtk_builder_new_from_file ("tga-options.ui", "pixbuf_savers");
 
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tga_rle_compression_checkbutton")),
-				      eel_gconf_get_boolean (PREF_TGA_RLE_COMPRESSION, TRUE));
+				      g_settings_get_boolean (self->priv->settings, PREF_TGA_RLE_COMPRESSION));
 
 	return _gtk_builder_get_widget (self->priv->builder, "tga_options");
 }
@@ -64,7 +66,7 @@ gth_tga_saver_save_options (GthPixbufSaver *base)
 {
 	GthTgaSaver *self = GTH_TGA_SAVER (base);
 
-	eel_gconf_set_boolean (PREF_TGA_RLE_COMPRESSION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tga_rle_compression_checkbutton"))));
+	g_settings_set_boolean (self->priv->settings, PREF_TGA_RLE_COMPRESSION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tga_rle_compression_checkbutton"))));
 }
 
 
@@ -313,18 +315,19 @@ _gdk_pixbuf_save_as_tga (GdkPixbuf   *pixbuf,
 
 
 static gboolean
-gth_tga_saver_save_pixbuf (GthPixbufSaver  *self,
+gth_tga_saver_save_pixbuf (GthPixbufSaver  *base,
 			   GdkPixbuf       *pixbuf,
 			   char           **buffer,
 			   gsize           *buffer_size,
 			   const char      *mime_type,
 			   GError         **error)
 {
-	char      *pixbuf_type;
-	char     **option_keys;
-	char     **option_values;
-	int        i = -1;
-	gboolean   result;
+	GthTgaSaver  *self = GTH_TGA_SAVER (base);
+	char         *pixbuf_type;
+	char        **option_keys;
+	char        **option_values;
+	int           i = -1;
+	gboolean      result;
 
 	pixbuf_type = get_pixbuf_type_from_mime_type (mime_type);
 
@@ -333,7 +336,7 @@ gth_tga_saver_save_pixbuf (GthPixbufSaver  *self,
 
 	i++;
 	option_keys[i] = g_strdup ("compression");
-	option_values[i] = g_strdup (eel_gconf_get_boolean (PREF_TGA_RLE_COMPRESSION, TRUE) ? "rle" : "none");
+	option_values[i] = g_strdup (g_settings_get_boolean (self->priv->settings, PREF_TGA_RLE_COMPRESSION) ? "rle" : "none");
 
 	i++;
 	option_keys[i] = NULL;
@@ -382,4 +385,5 @@ static void
 gth_tga_saver_init (GthTgaSaver *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_TGA_SAVER, GthTgaSaverPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_PIXBUF_SAVERS_TGA_SCHEMA);
 }
diff --git a/extensions/pixbuf_savers/gth-tiff-saver.c b/extensions/pixbuf_savers/gth-tiff-saver.c
index 52907df..17e0269 100644
--- a/extensions/pixbuf_savers/gth-tiff-saver.c
+++ b/extensions/pixbuf_savers/gth-tiff-saver.c
@@ -34,6 +34,7 @@ G_DEFINE_TYPE (GthTiffSaver, gth_tiff_saver, GTH_TYPE_PIXBUF_SAVER)
 
 
 struct _GthTiffSaverPrivate {
+	GSettings  *settings;
 	GtkBuilder *builder;
 	char       *default_ext;
 };
@@ -44,6 +45,7 @@ gth_tiff_saver_finalize (GObject *object)
 {
 	GthTiffSaver *self = GTH_TIFF_SAVER (object);
 
+	_g_object_unref (self->priv->settings);
 	_g_object_unref (self->priv->builder);
 	g_free (self->priv->default_ext);
 
@@ -57,7 +59,7 @@ gth_tiff_saver_get_default_ext (GthPixbufSaver *base)
 	GthTiffSaver *self = GTH_TIFF_SAVER (base);
 
 	if (self->priv->default_ext == NULL)
-		self->priv->default_ext = eel_gconf_get_string (PREF_TIFF_DEFAULT_EXT, "tiff");
+		self->priv->default_ext = g_settings_get_string (self->priv->settings, PREF_TIFF_DEFAULT_EXT);
 
 	return self->priv->default_ext;
 }
@@ -93,7 +95,7 @@ gth_tiff_saver_get_control (GthPixbufSaver *base)
 	gtk_combo_box_set_active (GTK_COMBO_BOX (_gtk_builder_get_widget (self->priv->builder, "tiff_default_extension_combobox")), active_idx);
 	g_strfreev (extensions);
 
-	compression_type = eel_gconf_get_enum (PREF_TIFF_COMPRESSION, GTH_TYPE_TIFF_COMPRESSION, GTH_TIFF_COMPRESSION_DEFLATE);
+	compression_type = g_settings_get_enum (self->priv->settings, PREF_TIFF_COMPRESSION);
 	switch (compression_type) {
 	case GTH_TIFF_COMPRESSION_NONE:
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_comp_none_radiobutton")), TRUE);
@@ -106,8 +108,10 @@ gth_tiff_saver_get_control (GthPixbufSaver *base)
 		break;
 	}
 
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_hdpi_spinbutton")), eel_gconf_get_integer (PREF_TIFF_HORIZONTAL_RES, 72));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_vdpi_spinbutton")), eel_gconf_get_integer (PREF_TIFF_VERTICAL_RES, 72));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_hdpi_spinbutton")),
+				   g_settings_get_int (self->priv->settings, PREF_TIFF_HORIZONTAL_RES));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_vdpi_spinbutton")),
+				   g_settings_get_int (self->priv->settings, PREF_TIFF_VERTICAL_RES));
 
 	return _gtk_builder_get_widget (self->priv->builder, "tiff_options");
 
@@ -134,7 +138,7 @@ gth_tiff_saver_save_options (GthPixbufSaver *base)
 				    &iter,
 				    0, &self->priv->default_ext,
 				    -1);
-		eel_gconf_set_string (PREF_TIFF_DEFAULT_EXT, self->priv->default_ext);
+		g_settings_set_string (self->priv->settings, PREF_TIFF_DEFAULT_EXT, self->priv->default_ext);
 	}
 
 	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_comp_none_radiobutton"))))
@@ -143,10 +147,10 @@ gth_tiff_saver_save_options (GthPixbufSaver *base)
 		compression_type = GTH_TIFF_COMPRESSION_DEFLATE;
 	else
 		compression_type = GTH_TIFF_COMPRESSION_JPEG;
-	eel_gconf_set_enum (PREF_TIFF_COMPRESSION, GTH_TYPE_TIFF_COMPRESSION, compression_type);
+	g_settings_set_enum (self->priv->settings, PREF_TIFF_COMPRESSION, compression_type);
 
-	eel_gconf_set_integer (PREF_TIFF_HORIZONTAL_RES, (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_hdpi_spinbutton"))));
-	eel_gconf_set_integer (PREF_TIFF_VERTICAL_RES, (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_vdpi_spinbutton"))));
+	g_settings_set_int (self->priv->settings, PREF_TIFF_HORIZONTAL_RES, (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_hdpi_spinbutton"))));
+	g_settings_set_int (self->priv->settings, PREF_TIFF_VERTICAL_RES, (int) gtk_spin_button_get_value (GTK_SPIN_BUTTON (_gtk_builder_get_widget (self->priv->builder, "tiff_vdpi_spinbutton"))));
 
 #endif /* HAVE_LIBTIFF */
 }
@@ -449,7 +453,7 @@ _gdk_pixbuf_save_as_tiff (GdkPixbuf   *pixbuf,
 
 
 static gboolean
-gth_tiff_saver_save_pixbuf (GthPixbufSaver  *self,
+gth_tiff_saver_save_pixbuf (GthPixbufSaver  *base,
 			    GdkPixbuf       *pixbuf,
 			    char           **buffer,
 			    gsize           *buffer_size,
@@ -457,27 +461,27 @@ gth_tiff_saver_save_pixbuf (GthPixbufSaver  *self,
 			    GError         **error)
 {
 #ifdef HAVE_LIBTIFF
-
-	char     **option_keys;
-	char     **option_values;
-	int        i = -1;
-	int        i_value;
-	gboolean   result;
+	GthTiffSaver  *self = GTH_TIFF_SAVER (base);
+	char         **option_keys;
+	char         **option_values;
+	int            i = -1;
+	int            i_value;
+	gboolean       result;
 
 	option_keys = g_malloc (sizeof (char *) * 4);
 	option_values = g_malloc (sizeof (char *) * 4);
 
 	i++;
 	option_keys[i] = g_strdup ("compression");;
-	option_values[i] = eel_gconf_get_string (PREF_TIFF_COMPRESSION, "deflate");
+	option_values[i] = g_settings_get_string (self->priv->settings, PREF_TIFF_COMPRESSION);
 
 	i++;
-	i_value = eel_gconf_get_integer (PREF_TIFF_VERTICAL_RES, 72);
+	i_value = g_settings_get_int (self->priv->settings, PREF_TIFF_VERTICAL_RES);
 	option_keys[i] = g_strdup ("vertical dpi");;
 	option_values[i] = g_strdup_printf ("%d", i_value);
 
 	i++;
-	i_value = eel_gconf_get_integer (PREF_TIFF_HORIZONTAL_RES, 72);
+	i_value = g_settings_get_int (self->priv->settings, PREF_TIFF_HORIZONTAL_RES);
 	option_keys[i] = g_strdup ("horizontal dpi");;
 	option_values[i] = g_strdup_printf ("%d", i_value);
 
@@ -545,6 +549,7 @@ static void
 gth_tiff_saver_init (GthTiffSaver *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_TIFF_SAVER, GthTiffSaverPrivate);
+	self->priv->settings = g_settings_new (GTHUMB_PIXBUF_SAVERS_TIFF_SCHEMA);
 	self->priv->builder = NULL;
 	self->priv->default_ext = NULL;
 }
diff --git a/extensions/pixbuf_savers/preferences.h b/extensions/pixbuf_savers/preferences.h
index 1ed890e..7987a1f 100644
--- a/extensions/pixbuf_savers/preferences.h
+++ b/extensions/pixbuf_savers/preferences.h
@@ -32,17 +32,36 @@ typedef enum {
 } GthTiffCompression;
 
 
-#define  PREF_JPEG_DEFAULT_EXT          "/apps/gthumb/save_options/jpeg/default_ext"
-#define  PREF_JPEG_QUALITY              "/apps/gthumb/save_options/jpeg/quality"
-#define  PREF_JPEG_SMOOTHING            "/apps/gthumb/save_options/jpeg/smoothing"
-#define  PREF_JPEG_OPTIMIZE             "/apps/gthumb/save_options/jpeg/optimize"
-#define  PREF_JPEG_PROGRESSIVE          "/apps/gthumb/save_options/jpeg/progressive"
-#define  PREF_PNG_COMPRESSION_LEVEL     "/apps/gthumb/save_options/png/compression_level"
-#define  PREF_TGA_RLE_COMPRESSION       "/apps/gthumb/save_options/tga/rle_compression"
-#define  PREF_TIFF_DEFAULT_EXT          "/apps/gthumb/save_options/tiff/default_ext"
-#define  PREF_TIFF_COMPRESSION          "/apps/gthumb/save_options/tiff/compression"
-#define  PREF_TIFF_HORIZONTAL_RES       "/apps/gthumb/save_options/tiff/horizontal_resolution"
-#define  PREF_TIFF_VERTICAL_RES         "/apps/gthumb/save_options/tiff/vertical_resolution"
+/* schemas */
+
+#define GTHUMB_PIXBUF_SAVERS              GTHUMB_SCHEMA ".pixbuf-savers"
+#define GTHUMB_PIXBUF_SAVERS_JPEG_SCHEMA  GTHUMB_PIXBUF_SAVERS ".jpeg"
+#define GTHUMB_PIXBUF_SAVERS_PNG_SCHEMA   GTHUMB_PIXBUF_SAVERS ".png"
+#define GTHUMB_PIXBUF_SAVERS_TGA_SCHEMA   GTHUMB_PIXBUF_SAVERS ".tga"
+#define GTHUMB_PIXBUF_SAVERS_TIFF_SCHEMA  GTHUMB_PIXBUF_SAVERS ".tiff"
+
+/* keys: jpeg */
+
+#define  PREF_JPEG_DEFAULT_EXT            "default-ext"
+#define  PREF_JPEG_QUALITY                "quality"
+#define  PREF_JPEG_SMOOTHING              "smoothing"
+#define  PREF_JPEG_OPTIMIZE               "optimize"
+#define  PREF_JPEG_PROGRESSIVE            "progressive"
+
+/* keys: png */
+
+#define  PREF_PNG_COMPRESSION_LEVEL       "compression-level"
+
+/* keys: tga */
+
+#define  PREF_TGA_RLE_COMPRESSION         "rle-compression"
+
+/* keys: tiff */
+
+#define  PREF_TIFF_DEFAULT_EXT            "default-ext"
+#define  PREF_TIFF_COMPRESSION            "compression"
+#define  PREF_TIFF_HORIZONTAL_RES         "horizontal-resolution"
+#define  PREF_TIFF_VERTICAL_RES           "vertical-resolution"
 
 
 void so__dlg_preferences_construct_cb (GtkWidget  *dialog,
diff --git a/extensions/rename_series/dlg-rename-series.c b/extensions/rename_series/dlg-rename-series.c
index 96aef1f..46a99c9 100644
--- a/extensions/rename_series/dlg-rename-series.c
+++ b/extensions/rename_series/dlg-rename-series.c
@@ -31,12 +31,6 @@
 
 
 enum {
-	GTH_CHANGE_CASE_NONE = 0,
-	GTH_CHANGE_CASE_LOWER,
-	GTH_CHANGE_CASE_UPPER,
-};
-
-enum {
 	SORT_DATA_COLUMN,
 	SORT_NAME_COLUMN,
 	SORT_NUM_COLUMNS
@@ -73,6 +67,7 @@ static GthTemplateCode Rename_Special_Codes[] = {
 
 typedef struct {
 	GthBrowser    *browser;
+	GSettings     *settings;
 	GList         *file_list;
 	GList         *file_data_list;
 	GList         *new_file_list;
@@ -114,6 +109,7 @@ destroy_dialog (DialogData *data)
 	_g_object_list_unref (data->file_list);
 	_g_string_list_free (data->new_names_list);
 	g_list_free (data->new_file_list);
+	g_object_unref (data->settings);
 	g_free (data);
 }
 
@@ -560,9 +556,9 @@ ok_button_clicked__step2 (GError   *error,
 	/* -- save preferences -- */
 
 	if (data->file_list->next != NULL)
-		eel_gconf_set_string (PREF_RENAME_SERIES_TEMPLATE, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("template_entry"))));
+		g_settings_set_string (data->settings, PREF_RENAME_SERIES_TEMPLATE, gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("template_entry"))));
 
-	eel_gconf_set_integer (PREF_RENAME_SERIES_START_AT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("start_at_spinbutton"))));
+	g_settings_set_int (data->settings, PREF_RENAME_SERIES_START_AT, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("start_at_spinbutton"))));
 
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (data->sort_combobox), &iter)) {
 		GthFileDataSort *sort_type;
@@ -571,11 +567,11 @@ ok_button_clicked__step2 (GError   *error,
 				    &iter,
 				    SORT_DATA_COLUMN, &sort_type,
 				    -1);
-		eel_gconf_set_string (PREF_RENAME_SERIES_SORT_BY, sort_type->name);
+		g_settings_set_string (data->settings, PREF_RENAME_SERIES_SORT_BY, sort_type->name);
 	}
 
-	eel_gconf_set_boolean (PREF_RENAME_SERIES_REVERSE_ORDER, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton"))));
-	eel_gconf_set_integer (PREF_RENAME_SERIES_CHANGE_CASE, gtk_combo_box_get_active (GTK_COMBO_BOX (data->change_case_combobox)));
+	g_settings_set_boolean (data->settings, PREF_RENAME_SERIES_REVERSE_ORDER, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton"))));
+	g_settings_set_enum (data->settings, PREF_RENAME_SERIES_CHANGE_CASE, gtk_combo_box_get_active (GTK_COMBO_BOX (data->change_case_combobox)));
 
 	/* -- prepare and exec rename task -- */
 
@@ -834,6 +830,7 @@ dlg_rename_series (GthBrowser *browser,
 	data = g_new0 (DialogData, 1);
 	data->browser = browser;
 	data->builder = _gtk_builder_new_from_file ("rename-series.ui", "rename_series");
+	data->settings = g_settings_new (GTHUMB_RENAME_SERIES_SCHEMA);
 	data->file_list = _g_file_list_dup (file_list);
 	data->first_update = TRUE;
 	data->template_changed = TRUE;
@@ -882,9 +879,10 @@ dlg_rename_series (GthBrowser *browser,
 	gtk_label_set_mnemonic_widget (GTK_LABEL (GET_WIDGET ("preview_label")), data->list_view);
 
 	if (data->file_list->next != NULL)
-		gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("template_entry")), eel_gconf_get_string (PREF_RENAME_SERIES_TEMPLATE, DEFAULT_TEMPLATE));
+		gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("template_entry")),
+				    g_settings_get_string (data->settings, PREF_RENAME_SERIES_TEMPLATE));
 
-	start_at = eel_gconf_get_integer (PREF_RENAME_SERIES_START_AT, DEFAULT_START_AT);
+	start_at = g_settings_get_int (data->settings, PREF_RENAME_SERIES_START_AT);
 	if (start_at < 0)
 		start_at = DEFAULT_START_AT;
 	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("start_at_spinbutton")),  start_at * 1.0);
@@ -903,7 +901,7 @@ dlg_rename_series (GthBrowser *browser,
 					"text", SORT_NAME_COLUMN,
 					NULL);
 
-	sort_by = eel_gconf_get_string (PREF_RENAME_SERIES_SORT_BY, DEFAULT_SORT_BY);
+	sort_by = g_settings_get_string (data->settings, PREF_RENAME_SERIES_SORT_BY);
 	found = FALSE;
 
 	sort_types = gth_main_get_all_sort_types ();
@@ -934,11 +932,12 @@ dlg_rename_series (GthBrowser *browser,
 
 	/* reverse order */
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), eel_gconf_get_boolean (PREF_RENAME_SERIES_REVERSE_ORDER, DEFAULT_REVERSE_ORDER));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_RENAME_SERIES_REVERSE_ORDER));
 
 	/* change case */
 
-	change_case = eel_gconf_get_integer (PREF_RENAME_SERIES_CHANGE_CASE, DEFAULT_CHANGE_CASE);
+	change_case = g_settings_get_enum (data->settings, PREF_RENAME_SERIES_CHANGE_CASE);
 	if ((change_case < GTH_CHANGE_CASE_NONE) || (change_case > GTH_CHANGE_CASE_UPPER))
 		change_case = DEFAULT_CHANGE_CASE;
 
diff --git a/extensions/rename_series/preferences.h b/extensions/rename_series/preferences.h
index eb64e9a..7557ee3 100644
--- a/extensions/rename_series/preferences.h
+++ b/extensions/rename_series/preferences.h
@@ -24,11 +24,23 @@
 
 G_BEGIN_DECLS
 
-#define  PREF_RENAME_SERIES_TEMPLATE      "/apps/gthumb/ext/rename_series/template"
-#define  PREF_RENAME_SERIES_START_AT      "/apps/gthumb/ext/rename_series/start_at"
-#define  PREF_RENAME_SERIES_SORT_BY       "/apps/gthumb/ext/rename_series/sort_by"
-#define  PREF_RENAME_SERIES_REVERSE_ORDER "/apps/gthumb/ext/rename_series/reverse_order"
-#define  PREF_RENAME_SERIES_CHANGE_CASE   "/apps/gthumb/ext/rename_series/change_case"
+typedef enum {
+	GTH_CHANGE_CASE_NONE = 0,
+	GTH_CHANGE_CASE_LOWER,
+	GTH_CHANGE_CASE_UPPER,
+} GthChangeCase;
+
+/* schema */
+
+#define GTHUMB_RENAME_SERIES_SCHEMA        GTHUMB_SCHEMA ".rename-series"
+
+/* keys */
+
+#define  PREF_RENAME_SERIES_TEMPLATE       "template"
+#define  PREF_RENAME_SERIES_START_AT       "start-at"
+#define  PREF_RENAME_SERIES_SORT_BY        "sort-by"
+#define  PREF_RENAME_SERIES_REVERSE_ORDER  "reverse-order"
+#define  PREF_RENAME_SERIES_CHANGE_CASE    "change-case"
 
 G_END_DECLS
 
diff --git a/extensions/resize_images/dlg-resize-images.c b/extensions/resize_images/dlg-resize-images.c
index 82c7608..e1f45db 100644
--- a/extensions/resize_images/dlg-resize-images.c
+++ b/extensions/resize_images/dlg-resize-images.c
@@ -46,6 +46,7 @@ GthUnit units[] = { GTH_UNIT_PIXELS, GTH_UNIT_PERCENTAGE };
 
 typedef struct {
 	GthBrowser *browser;
+	GSettings  *settings;
 	GList      *file_list;
 	GtkBuilder *builder;
 	GtkWidget  *dialog;
@@ -76,6 +77,7 @@ destroy_cb (GtkWidget  *widget,
 {
 	gth_browser_set_dialog (data->browser, "resize_images", NULL);
 
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	_g_object_list_unref (data->file_list);
 	g_free (data);
@@ -157,11 +159,11 @@ ok_clicked_cb (GtkWidget  *widget,
 			    MIME_TYPE_COLUMN_TYPE, &mime_type,
 			    -1);
 
-	eel_gconf_set_integer (PREF_RESIZE_IMAGES_SERIES_WIDTH, resize_data->width);
-	eel_gconf_set_integer (PREF_RESIZE_IMAGES_SERIES_HEIGHT, resize_data->height);
-	eel_gconf_set_enum (PREF_RESIZE_IMAGES_UNIT, GTH_TYPE_UNIT, resize_data->unit);
-	eel_gconf_set_boolean (PREF_RESIZE_IMAGES_KEEP_RATIO, resize_data->keep_aspect_ratio);
-	eel_gconf_set_string (PREF_RESIZE_IMAGES_MIME_TYPE, mime_type ? mime_type : "");
+	g_settings_set_boolean (data->settings, PREF_RESIZE_IMAGES_SERIES_WIDTH, resize_data->width);
+	g_settings_set_boolean (data->settings, PREF_RESIZE_IMAGES_SERIES_HEIGHT, resize_data->height);
+	g_settings_set_enum (data->settings, PREF_RESIZE_IMAGES_UNIT, resize_data->unit);
+	g_settings_set_boolean (data->settings, PREF_RESIZE_IMAGES_KEEP_RATIO, resize_data->keep_aspect_ratio);
+	g_settings_set_string (data->settings, PREF_RESIZE_IMAGES_MIME_TYPE, mime_type ? mime_type : "");
 
 	resize_task = gth_pixbuf_task_new (_("Resizing images"),
 					   TRUE,
@@ -329,6 +331,7 @@ dlg_resize_images (GthBrowser *browser,
 	data = g_new0 (DialogData, 1);
 	data->browser = browser;
 	data->builder = _gtk_builder_new_from_file ("resize-images.ui", "resize_images");
+	data->settings = g_settings_new (GTHUMB_RESIZE_IMAGES_SCHEMA);
 	data->file_list = gth_file_data_list_dup (file_list);
 	data->use_destination = TRUE;
 
@@ -345,9 +348,10 @@ dlg_resize_images (GthBrowser *browser,
 				   first_file_data->file,
 				   NULL);
 
-	unit = eel_gconf_get_enum (PREF_RESIZE_IMAGES_UNIT, GTH_TYPE_UNIT, GTH_UNIT_PIXELS);
+	unit = g_settings_get_enum (data->settings, PREF_RESIZE_IMAGES_UNIT);
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("unit_combobox")), unit);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_ratio_checkbutton")), eel_gconf_get_boolean (PREF_RESIZE_IMAGES_KEEP_RATIO, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_ratio_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_RESIZE_IMAGES_KEEP_RATIO));
 
 	default_width_in_pixels = DEFAULT_WIDTH_PIXELS;
 	default_height_in_pixels = DEFAULT_HEIGHT_PIXELS;
@@ -378,16 +382,16 @@ dlg_resize_images (GthBrowser *browser,
 	if (unit == GTH_UNIT_PERCENTAGE) {
 		data->latest_width_in_pixel = default_width_in_pixels;
 		data->latest_height_in_pixel = default_height_in_pixels;
-		data->latest_width_in_percentage = eel_gconf_get_integer (PREF_RESIZE_IMAGES_SERIES_WIDTH, DEFAULT_WIDTH_PERCENTAGE);
-		data->latest_height_in_percentage = eel_gconf_get_integer (PREF_RESIZE_IMAGES_SERIES_HEIGHT, DEFAULT_HEIGHT_PERCENTAGE);
+		data->latest_width_in_percentage = g_settings_get_int (data->settings, PREF_RESIZE_IMAGES_SERIES_WIDTH);
+		data->latest_height_in_percentage = g_settings_get_int (data->settings, PREF_RESIZE_IMAGES_SERIES_HEIGHT);
 		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("width_spinbutton")), data->latest_width_in_percentage);
 		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("height_spinbutton")), data->latest_height_in_percentage);
 	}
 	else if (unit == GTH_UNIT_PIXELS) {
 		data->latest_width_in_percentage = DEFAULT_WIDTH_PERCENTAGE;
 		data->latest_height_in_percentage = DEFAULT_HEIGHT_PERCENTAGE;
-		data->latest_width_in_pixel = eel_gconf_get_integer (PREF_RESIZE_IMAGES_SERIES_WIDTH, default_width_in_pixels);
-		data->latest_height_in_pixel = eel_gconf_get_integer (PREF_RESIZE_IMAGES_SERIES_HEIGHT, default_height_in_pixels);
+		data->latest_width_in_pixel = g_settings_get_int (data->settings, PREF_RESIZE_IMAGES_SERIES_WIDTH);
+		data->latest_height_in_pixel = g_settings_get_int (data->settings, PREF_RESIZE_IMAGES_SERIES_HEIGHT);
 		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("width_spinbutton")), data->latest_width_in_pixel);
 		gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("height_spinbutton")), data->latest_height_in_pixel);
 	}
@@ -409,7 +413,7 @@ dlg_resize_images (GthBrowser *browser,
 				    -1);
 		gtk_combo_box_set_active_iter (GTK_COMBO_BOX (GET_WIDGET ("mime_type_combobox")), &iter);
 
-		default_mime_type = eel_gconf_get_string (PREF_RESIZE_IMAGES_MIME_TYPE, "");
+		default_mime_type = g_settings_get_string (data->settings, PREF_RESIZE_IMAGES_MIME_TYPE);
 		icon_cache = gth_icon_cache_new_for_widget (data->dialog, GTK_ICON_SIZE_MENU);
 
 		for (i = 0; i < savers->len; i++) {
diff --git a/extensions/resize_images/preferences.h b/extensions/resize_images/preferences.h
index c572acc..669a0c3 100644
--- a/extensions/resize_images/preferences.h
+++ b/extensions/resize_images/preferences.h
@@ -26,11 +26,17 @@
 
 G_BEGIN_DECLS
 
-#define  PREF_RESIZE_IMAGES_SERIES_WIDTH   "/apps/gthumb/ext/resize_images/width"
-#define  PREF_RESIZE_IMAGES_SERIES_HEIGHT  "/apps/gthumb/ext/resize_images/height"
-#define  PREF_RESIZE_IMAGES_UNIT           "/apps/gthumb/ext/resize_images/unit"
-#define  PREF_RESIZE_IMAGES_KEEP_RATIO     "/apps/gthumb/ext/resize_images/keep_aspect_ratio"
-#define  PREF_RESIZE_IMAGES_MIME_TYPE      "/apps/gthumb/ext/resize_images/mime_type"
+/* schema */
+
+#define GTHUMB_RESIZE_IMAGES_SCHEMA        GTHUMB_SCHEMA ".resize-images"
+
+/* keys */
+
+#define  PREF_RESIZE_IMAGES_SERIES_WIDTH   "width"
+#define  PREF_RESIZE_IMAGES_SERIES_HEIGHT  "height"
+#define  PREF_RESIZE_IMAGES_UNIT           "unit"
+#define  PREF_RESIZE_IMAGES_KEEP_RATIO     "keep-aspect-ratio"
+#define  PREF_RESIZE_IMAGES_MIME_TYPE      "mime-type"
 
 G_END_DECLS
 
diff --git a/extensions/search/gth-search-task.c b/extensions/search/gth-search-task.c
index 817a24d..4db11a7 100644
--- a/extensions/search/gth-search-task.c
+++ b/extensions/search/gth-search-task.c
@@ -253,6 +253,7 @@ browser_location_ready_cb (GthBrowser    *browser,
 {
 	GtkWidget          *button;
 	EmbeddedDialogData *dialog_data;
+	GSettings          *settings;
 	GString            *attributes;
 	const char         *test_attributes;
 
@@ -310,13 +311,15 @@ browser_location_ready_cb (GthBrowser    *browser,
 		g_object_unref (general_filter);
 	}
 
-	task->priv->show_hidden_files = eel_gconf_get_boolean (PREF_SHOW_HIDDEN_FILES, FALSE);
+	settings = g_settings_new (GTHUMB_BROWSER_SCHEMA);
+
+	task->priv->show_hidden_files = g_settings_get_boolean (settings, PREF_BROWSER_SHOW_HIDDEN_FILES);
 	task->priv->io_operation = TRUE;
 
 	task->priv->file_source = gth_main_get_file_source (gth_search_get_folder (task->priv->search));
 	gth_file_source_set_cancellable (task->priv->file_source, gth_task_get_cancellable (GTH_TASK (task)));
 
-	attributes = g_string_new (eel_gconf_get_boolean (PREF_FAST_FILE_TYPE, TRUE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE);
+	attributes = g_string_new (g_settings_get_boolean (settings, PREF_BROWSER_FAST_FILE_TYPE) ? GFILE_STANDARD_ATTRIBUTES_WITH_FAST_CONTENT_TYPE : GFILE_STANDARD_ATTRIBUTES_WITH_CONTENT_TYPE);
 	test_attributes = gth_test_get_attributes (GTH_TEST (task->priv->test));
 	if (test_attributes[0] != '\0') {
 		g_string_append (attributes, ",");
@@ -332,6 +335,7 @@ browser_location_ready_cb (GthBrowser    *browser,
 					done_func,
 					task);
 
+	g_object_unref (settings);
 	g_string_free (attributes, TRUE);
 }
 
diff --git a/extensions/slideshow/actions.c b/extensions/slideshow/actions.c
index 2c8fd31..95c0477 100644
--- a/extensions/slideshow/actions.c
+++ b/extensions/slideshow/actions.c
@@ -32,6 +32,7 @@ void
 gth_browser_activate_action_view_slideshow (GtkAction  *action,
 					    GthBrowser *browser)
 {
+	GSettings    *settings;
 	GList        *items;
 	GList        *file_list;
 	GList        *filtered_list;
@@ -64,11 +65,13 @@ gth_browser_activate_action_view_slideshow (GtkAction  *action,
 		return;
 	}
 
+	settings = g_settings_new (GTHUMB_SLIDESHOW_SCHEMA);
+
 	location = gth_browser_get_location_data (browser);
 	if (g_file_info_get_attribute_boolean (location->info, "slideshow::personalize"))
 		transition_id = g_strdup (g_file_info_get_attribute_string (location->info, "slideshow::transition"));
 	else
-		transition_id = eel_gconf_get_string (PREF_SLIDESHOW_TRANSITION, DEFAULT_TRANSITION);
+		transition_id = g_settings_get_string (settings, PREF_SLIDESHOW_TRANSITION);
 
 	projector = NULL;
 
@@ -89,10 +92,10 @@ gth_browser_activate_action_view_slideshow (GtkAction  *action,
 		gth_slideshow_set_random_order (GTH_SLIDESHOW (slideshow), g_file_info_get_attribute_boolean (location->info, "slideshow::random-order"));
 	}
 	else {
-		gth_slideshow_set_delay (GTH_SLIDESHOW (slideshow), (guint) (1000.0 * eel_gconf_get_float (PREF_SLIDESHOW_CHANGE_DELAY, 5.0)));
-		gth_slideshow_set_automatic (GTH_SLIDESHOW (slideshow), eel_gconf_get_boolean (PREF_SLIDESHOW_AUTOMATIC, TRUE));
-		gth_slideshow_set_wrap_around (GTH_SLIDESHOW (slideshow), eel_gconf_get_boolean (PREF_SLIDESHOW_WRAP_AROUND, FALSE));
-		gth_slideshow_set_random_order (GTH_SLIDESHOW (slideshow), eel_gconf_get_boolean (PREF_SLIDESHOW_RANDOM_ORDER, FALSE));
+		gth_slideshow_set_delay (GTH_SLIDESHOW (slideshow), (guint) (1000.0 * g_settings_get_double (settings, PREF_SLIDESHOW_CHANGE_DELAY)));
+		gth_slideshow_set_automatic (GTH_SLIDESHOW (slideshow), g_settings_get_boolean (settings, PREF_SLIDESHOW_AUTOMATIC));
+		gth_slideshow_set_wrap_around (GTH_SLIDESHOW (slideshow), g_settings_get_boolean (settings, PREF_SLIDESHOW_WRAP_AROUND));
+		gth_slideshow_set_random_order (GTH_SLIDESHOW (slideshow), g_settings_get_boolean (settings, PREF_SLIDESHOW_RANDOM_ORDER));
 	}
 
 	if (g_file_info_get_attribute_status (location->info, "slideshow::playlist") == G_FILE_ATTRIBUTE_STATUS_SET)
@@ -129,6 +132,7 @@ gth_browser_activate_action_view_slideshow (GtkAction  *action,
 	gtk_window_present (GTK_WINDOW (slideshow));
 
 	_g_object_list_unref (transitions);
+	g_object_unref (settings);
 	g_free (transition_id);
 	_g_object_list_unref (filtered_list);
 	_g_object_list_unref (file_list);
diff --git a/extensions/slideshow/callbacks.c b/extensions/slideshow/callbacks.c
index 5ca5073..6b5defc 100644
--- a/extensions/slideshow/callbacks.c
+++ b/extensions/slideshow/callbacks.c
@@ -368,17 +368,20 @@ ss__dlg_catalog_properties (GtkBuilder  *builder,
 	if (! g_value_hash_is_set (catalog->attributes, "slideshow::personalize")
 	    || ! g_value_hash_get_boolean (catalog->attributes, "slideshow::personalize"))
 	{
-		char *current_transition;
+		GSettings *settings;
+		char      *current_transition;
 
-		current_transition = eel_gconf_get_string (PREF_SLIDESHOW_TRANSITION, DEFAULT_TRANSITION);
+		settings = g_settings_new (GTHUMB_SLIDESHOW_SCHEMA);
+		current_transition = g_settings_get_string (settings, PREF_SLIDESHOW_TRANSITION);
 		slideshow_preferences = gth_slideshow_preferences_new (current_transition,
-								       eel_gconf_get_boolean (PREF_SLIDESHOW_AUTOMATIC, TRUE),
-								       (int) (1000.0 * eel_gconf_get_float (PREF_SLIDESHOW_CHANGE_DELAY, 5.0)),
-								       eel_gconf_get_boolean (PREF_SLIDESHOW_WRAP_AROUND, FALSE),
-								       eel_gconf_get_boolean (PREF_SLIDESHOW_RANDOM_ORDER, FALSE));
+								       g_settings_get_boolean (settings, PREF_SLIDESHOW_AUTOMATIC),
+								       (int) (1000.0 * g_settings_get_double (settings, PREF_SLIDESHOW_CHANGE_DELAY)),
+								       g_settings_get_boolean (settings, PREF_SLIDESHOW_WRAP_AROUND),
+								       g_settings_get_boolean (settings, PREF_SLIDESHOW_RANDOM_ORDER));
 		gtk_widget_set_sensitive (gth_slideshow_preferences_get_widget (GTH_SLIDESHOW_PREFERENCES (slideshow_preferences), "personalize_box"), FALSE);
 
 		g_free (current_transition);
+		g_object_unref (settings);
 	}
 	else {
 		slideshow_preferences = gth_slideshow_preferences_new (g_value_hash_get_string (catalog->attributes, "slideshow::transition"),
diff --git a/extensions/slideshow/preferences.c b/extensions/slideshow/preferences.c
index 2feff17..6ae8dbe 100644
--- a/extensions/slideshow/preferences.c
+++ b/extensions/slideshow/preferences.c
@@ -31,6 +31,7 @@
 
 
 typedef struct {
+	GSettings *settings;
 	GtkWidget *preferences_page;
 } BrowserData;
 
@@ -38,6 +39,7 @@ typedef struct {
 static void
 browser_data_free (BrowserData *data)
 {
+	g_object_unref (data->settings);
 	g_free (data);
 }
 
@@ -50,7 +52,7 @@ transition_combobox_changed_cb (GtkComboBox *combo_box,
 
 	transition_id = gth_slideshow_preferences_get_transition_id (GTH_SLIDESHOW_PREFERENCES (data->preferences_page));
 	if (transition_id != NULL)
-		eel_gconf_set_string (PREF_SLIDESHOW_TRANSITION, transition_id);
+		g_settings_set_string (data->settings, PREF_SLIDESHOW_TRANSITION, transition_id);
 
 	g_free (transition_id);
 }
@@ -60,7 +62,7 @@ static void
 automatic_checkbutton_toggled_cb (GtkToggleButton *button,
 				  BrowserData     *data)
 {
-	eel_gconf_set_boolean (PREF_SLIDESHOW_AUTOMATIC, gtk_toggle_button_get_active (button));
+	g_settings_set_boolean (data->settings, PREF_SLIDESHOW_AUTOMATIC, gtk_toggle_button_get_active (button));
 }
 
 
@@ -68,7 +70,7 @@ static void
 wrap_around_checkbutton_toggled_cb (GtkToggleButton *button,
 				    BrowserData     *data)
 {
-	eel_gconf_set_boolean (PREF_SLIDESHOW_WRAP_AROUND, gtk_toggle_button_get_active (button));
+	g_settings_set_boolean (data->settings, PREF_SLIDESHOW_WRAP_AROUND, gtk_toggle_button_get_active (button));
 }
 
 
@@ -76,7 +78,7 @@ static void
 random_order_checkbutton_toggled_cb (GtkToggleButton *button,
 				     BrowserData     *data)
 {
-	eel_gconf_set_boolean (PREF_SLIDESHOW_RANDOM_ORDER, gtk_toggle_button_get_active (button));
+	g_settings_set_boolean (data->settings, PREF_SLIDESHOW_RANDOM_ORDER, gtk_toggle_button_get_active (button));
 }
 
 
@@ -84,7 +86,7 @@ static void
 change_delay_spinbutton_value_changed_cb (GtkSpinButton *spinbutton,
 				          BrowserData   *data)
 {
-	eel_gconf_set_float (PREF_SLIDESHOW_CHANGE_DELAY, gtk_spin_button_get_value (spinbutton));
+	g_settings_set_double (data->settings, PREF_SLIDESHOW_CHANGE_DELAY, gtk_spin_button_get_value (spinbutton));
 }
 
 
@@ -101,12 +103,14 @@ ss__dlg_preferences_construct_cb (GtkWidget  *dialog,
 	notebook = _gtk_builder_get_widget (dialog_builder, "notebook");
 
 	data = g_new0 (BrowserData, 1);
-	current_transition = eel_gconf_get_string (PREF_SLIDESHOW_TRANSITION, DEFAULT_TRANSITION);
+	data->settings = g_settings_new (GTHUMB_SLIDESHOW_SCHEMA);
+
+	current_transition = g_settings_get_string (data->settings, PREF_SLIDESHOW_TRANSITION);
 	data->preferences_page = gth_slideshow_preferences_new (current_transition,
-							        eel_gconf_get_boolean (PREF_SLIDESHOW_AUTOMATIC, TRUE),
-							        (int) (1000.0 * eel_gconf_get_float (PREF_SLIDESHOW_CHANGE_DELAY, 5.0)),
-							        eel_gconf_get_boolean (PREF_SLIDESHOW_WRAP_AROUND, FALSE),
-							        eel_gconf_get_boolean (PREF_SLIDESHOW_RANDOM_ORDER, FALSE));
+							        g_settings_get_boolean (data->settings, PREF_SLIDESHOW_AUTOMATIC),
+							        (int) (1000.0 * g_settings_get_double (data->settings, PREF_SLIDESHOW_CHANGE_DELAY)),
+							        g_settings_get_boolean (data->settings, PREF_SLIDESHOW_WRAP_AROUND),
+							        g_settings_get_boolean (data->settings, PREF_SLIDESHOW_RANDOM_ORDER));
 	gtk_widget_show (data->preferences_page);
 	g_free (current_transition);
 
diff --git a/extensions/slideshow/preferences.h b/extensions/slideshow/preferences.h
index 1d5d8dc..43695dc 100644
--- a/extensions/slideshow/preferences.h
+++ b/extensions/slideshow/preferences.h
@@ -24,11 +24,17 @@
 
 #include <gthumb.h>
 
-#define  PREF_SLIDESHOW_CHANGE_DELAY     "/apps/gthumb/ext/slideshow/change_delay"
-#define  PREF_SLIDESHOW_WRAP_AROUND      "/apps/gthumb/ext/slideshow/wrap_around"
-#define  PREF_SLIDESHOW_AUTOMATIC        "/apps/gthumb/ext/slideshow/automatic"
-#define  PREF_SLIDESHOW_TRANSITION       "/apps/gthumb/ext/slideshow/transition"
-#define  PREF_SLIDESHOW_RANDOM_ORDER     "/apps/gthumb/ext/slideshow/random-order"
+/* schema */
+
+#define GTHUMB_SLIDESHOW_SCHEMA          GTHUMB_SCHEMA ".slideshow"
+
+/* keys */
+
+#define  PREF_SLIDESHOW_CHANGE_DELAY     "change-delay"
+#define  PREF_SLIDESHOW_WRAP_AROUND      "wrap-around"
+#define  PREF_SLIDESHOW_AUTOMATIC        "automatic"
+#define  PREF_SLIDESHOW_TRANSITION       "transition"
+#define  PREF_SLIDESHOW_RANDOM_ORDER     "random-order"
 
 #define  DEFAULT_TRANSITION "random"
 
diff --git a/extensions/webalbums/dlg-web-exporter.c b/extensions/webalbums/dlg-web-exporter.c
index 9721aab..286a675 100644
--- a/extensions/webalbums/dlg-web-exporter.c
+++ b/extensions/webalbums/dlg-web-exporter.c
@@ -26,11 +26,10 @@
 #include "gth-web-exporter.h"
 #include "preferences.h"
 
+
 #define GET_WIDGET(name) _gtk_builder_get_widget (data->builder, (name))
 #define STRING_IS_VOID(x) (((x) == NULL) || (*(x) == 0))
-#define DEFAULT_ALBUM_THEME "Wiki"
-#define DEFAULT_WEB_IMAGE_ATTRIBUTES ("gth::file::display-size,standard::fast-content-type,general::dimensions,general::format,general::location,general::datetime,general::rating,Exif::Image::Make,Exif::Image::Model,Exif::Image::Software,Exif::Image::Artist,Exif::Image::Copyright,Exif::Photo::ISOSpeedRatings,Exif::Photo::BrightnessValue,Exif::Photo::FNumber,Exif::Photo::ApertureValue,Exif::Photo::MaxApertureValue,Exif::Photo::ExposureTime,Exif::Photo::ExposureProgram,Exif::Photo::ExposureIndex,Exif::Photo::ExposureBiasValue,Exif::Photo::ExposureMode,Exif::Photo::ShutterSpeedValue,Exif::Photo::MeteringMode,Exif::Photo::LightSource,Exif::Photo::WhiteBalance,Exif::Photo::Flash,Exif::Photo::FocalLength,Exif::Photo::SubjectArea,Exif::Photo::Contrast,Exif::Photo::Saturation,Exif::Photo::Sharpness")
-#define DEFAULT_WEB_THUMBNAIL_CAPTION ("general::datetime,general::dimensions,gth::file::display-size")
+
 
 enum {
 	THEME_COLUMN_ID,
@@ -59,6 +58,7 @@ static struct {
 
 typedef struct {
 	GthBrowser *browser;
+	GSettings  *settings;
 	GList      *file_list;
 	GtkBuilder *builder;
 	GtkWidget  *dialog;
@@ -73,6 +73,7 @@ destroy_cb (GtkWidget  *widget,
 {
 	gth_browser_set_dialog (data->browser, "web_exporter", NULL);
 	_g_object_list_unref (data->file_list);
+	g_object_unref (data->settings);
 	g_object_unref (data->builder);
 	g_free (data);
 }
@@ -108,20 +109,20 @@ ok_clicked_cb (GtkWidget  *widget,
 
 	s_value = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")));
 	destination = g_file_new_for_uri (s_value);
-	eel_gconf_set_path (PREF_WEBALBUMS_DESTINATION, s_value);
+	_g_settings_set_uri (data->settings, PREF_WEBALBUMS_DESTINATION, s_value);
 	g_free (s_value);
 
-	eel_gconf_set_boolean (PREF_WEBALBUMS_COPY_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton"))));
-	eel_gconf_set_boolean (PREF_WEBALBUMS_RESIZE_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_COPY_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_RESIZE_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton"))));
 
 	i_value = gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("resize_images_combobox")));
-	eel_gconf_set_integer (PREF_WEBALBUMS_RESIZE_WIDTH, resize_size[i_value].width);
-	eel_gconf_set_integer (PREF_WEBALBUMS_RESIZE_HEIGHT, resize_size[i_value].height);
+	g_settings_set_int (data->settings, PREF_WEBALBUMS_RESIZE_WIDTH, resize_size[i_value].width);
+	g_settings_set_int (data->settings, PREF_WEBALBUMS_RESIZE_HEIGHT, resize_size[i_value].height);
 
-	eel_gconf_set_integer (PREF_WEBALBUMS_IMAGES_PER_INDEX, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton"))));
-	eel_gconf_set_boolean (PREF_WEBALBUMS_SINGLE_INDEX, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton"))));
-	eel_gconf_set_integer (PREF_WEBALBUMS_COLUMNS, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton"))));
-	eel_gconf_set_boolean (PREF_WEBALBUMS_ADAPT_TO_WIDTH, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adapt_column_checkbutton"))));
+	g_settings_set_int (data->settings, PREF_WEBALBUMS_IMAGES_PER_INDEX, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_SINGLE_INDEX, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton"))));
+	g_settings_set_int (data->settings, PREF_WEBALBUMS_COLUMNS, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ADAPT_TO_WIDTH, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adapt_column_checkbutton"))));
 
 	if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), &iter)) {
 		GthFileDataSort *sort_type;
@@ -130,22 +131,22 @@ ok_clicked_cb (GtkWidget  *widget,
 				    &iter,
 				    SORT_TYPE_COLUMN_DATA, &sort_type,
 				    -1);
-		eel_gconf_set_string (PREF_WEBALBUMS_SORT_TYPE, sort_type->name);
+		g_settings_set_string (data->settings, PREF_WEBALBUMS_SORT_TYPE, sort_type->name);
 	}
 
-	eel_gconf_set_boolean (PREF_WEBALBUMS_SORT_INVERSE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_SORT_INVERSE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton"))));
 
 	header = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("header_entry")));
-	eel_gconf_set_string (PREF_WEBALBUMS_HEADER, header);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_HEADER, header);
 
 	footer = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("footer_entry")));
-	eel_gconf_set_string (PREF_WEBALBUMS_FOOTER, footer);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_FOOTER, footer);
 
 	image_page_header = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("image_page_header_entry")));
-	eel_gconf_set_string (PREF_WEBALBUMS_IMAGE_PAGE_HEADER, image_page_header);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_PAGE_HEADER, image_page_header);
 
 	image_page_footer = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("image_page_footer_entry")));
-	eel_gconf_set_string (PREF_WEBALBUMS_IMAGE_PAGE_FOOTER, image_page_footer);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_PAGE_FOOTER, image_page_footer);
 
 	theme_name = NULL;
 	{
@@ -167,19 +168,19 @@ ok_clicked_cb (GtkWidget  *widget,
 		g_list_free (list);
 	}
 	g_return_if_fail (theme_name != NULL);
-	eel_gconf_set_string (PREF_WEBALBUMS_THEME, theme_name);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_THEME, theme_name);
 
-	eel_gconf_set_boolean (PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton"))));
 
 	thumbnail_caption = gth_metadata_chooser_get_selection (GTH_METADATA_CHOOSER (data->thumbnail_caption_chooser));
-	eel_gconf_set_string (PREF_WEBALBUMS_THUMBNAIL_CAPTION, thumbnail_caption);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_THUMBNAIL_CAPTION, thumbnail_caption);
 
-	eel_gconf_set_boolean (PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton"))));
 
-	eel_gconf_set_boolean (PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton"))));
+	g_settings_set_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton"))));
 
 	image_attributes = gth_metadata_chooser_get_selection (GTH_METADATA_CHOOSER (data->image_attributes_chooser));
-	eel_gconf_set_string (PREF_WEBALBUMS_IMAGE_ATTRIBUTES, image_attributes);
+	g_settings_set_string (data->settings, PREF_WEBALBUMS_IMAGE_ATTRIBUTES, image_attributes);
 
 	/* exec the task */
 
@@ -191,24 +192,30 @@ ok_clicked_cb (GtkWidget  *widget,
 	gth_web_exporter_set_image_page_footer (GTH_WEB_EXPORTER (task), image_page_footer);
 	gth_web_exporter_set_style (GTH_WEB_EXPORTER (task), theme_name);
 	gth_web_exporter_set_destination (GTH_WEB_EXPORTER (task), destination);
-	gth_web_exporter_set_copy_images (GTH_WEB_EXPORTER (task), eel_gconf_get_boolean (PREF_WEBALBUMS_COPY_IMAGES, FALSE));
+	gth_web_exporter_set_copy_images (GTH_WEB_EXPORTER (task),
+					  g_settings_get_boolean (data->settings, PREF_WEBALBUMS_COPY_IMAGES));
 	gth_web_exporter_set_resize_images (GTH_WEB_EXPORTER (task),
-					    eel_gconf_get_boolean (PREF_WEBALBUMS_RESIZE_IMAGES, FALSE),
-					    eel_gconf_get_integer (PREF_WEBALBUMS_RESIZE_WIDTH, 640),
-					    eel_gconf_get_integer (PREF_WEBALBUMS_RESIZE_HEIGHT, 480));
+					    g_settings_get_boolean (data->settings, PREF_WEBALBUMS_RESIZE_IMAGES),
+					    g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_WIDTH),
+					    g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_HEIGHT));
 
-	s_value = eel_gconf_get_string (PREF_WEBALBUMS_SORT_TYPE, "file::mtime");
+	s_value = g_settings_get_string (data->settings, PREF_WEBALBUMS_SORT_TYPE);
 	sort_type = gth_main_get_sort_type (s_value);
 	gth_web_exporter_set_sort_order (GTH_WEB_EXPORTER (task),
 					 sort_type,
-					 eel_gconf_get_boolean (PREF_WEBALBUMS_SORT_INVERSE, FALSE));
+					 g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SORT_INVERSE));
 	g_free (s_value);
 
-	gth_web_exporter_set_images_per_index (GTH_WEB_EXPORTER (task), eel_gconf_get_integer (PREF_WEBALBUMS_IMAGES_PER_INDEX, 16));
-	gth_web_exporter_set_single_index (GTH_WEB_EXPORTER (task), eel_gconf_get_boolean (PREF_WEBALBUMS_SINGLE_INDEX, FALSE));
-	gth_web_exporter_set_columns (GTH_WEB_EXPORTER (task), eel_gconf_get_integer (PREF_WEBALBUMS_COLUMNS, 4));
-	gth_web_exporter_set_adapt_to_width (GTH_WEB_EXPORTER (task), eel_gconf_get_boolean (PREF_WEBALBUMS_ADAPT_TO_WIDTH, FALSE));
-	gth_web_exporter_set_thumbnail_caption (GTH_WEB_EXPORTER (task), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton"))) ? thumbnail_caption : "");
+	gth_web_exporter_set_images_per_index (GTH_WEB_EXPORTER (task),
+					       g_settings_get_int (data->settings, PREF_WEBALBUMS_IMAGES_PER_INDEX));
+	gth_web_exporter_set_single_index (GTH_WEB_EXPORTER (task),
+					   g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SINGLE_INDEX));
+	gth_web_exporter_set_columns (GTH_WEB_EXPORTER (task),
+				      g_settings_get_int (data->settings, PREF_WEBALBUMS_COLUMNS));
+	gth_web_exporter_set_adapt_to_width (GTH_WEB_EXPORTER (task),
+					     g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ADAPT_TO_WIDTH));
+	gth_web_exporter_set_thumbnail_caption (GTH_WEB_EXPORTER (task),
+						gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton"))) ? thumbnail_caption : "");
 	gth_web_exporter_set_image_attributes (GTH_WEB_EXPORTER (task),
 					       gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton"))),
 					       gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton"))) ? image_attributes : "");
@@ -338,7 +345,7 @@ load_themes (DialogData *data)
 	gtk_widget_set_size_request (GET_WIDGET ("theme_iconview"), (150 * 3), 140);
 	gtk_widget_realize (GET_WIDGET ("theme_iconview"));
 
-	default_theme = eel_gconf_get_string (PREF_WEBALBUMS_THEME, DEFAULT_ALBUM_THEME);
+	default_theme = g_settings_get_string (data->settings, PREF_WEBALBUMS_THEME);
 
 	model = GTK_TREE_MODEL (GET_WIDGET ("theme_liststore"));
 	if (gtk_tree_model_get_iter_first (model, &iter)) {
@@ -390,6 +397,7 @@ dlg_web_exporter (GthBrowser *browser,
 	data->browser = browser;
 	data->file_list = _g_object_list_ref (file_list);
 	data->builder = _gtk_builder_new_from_file ("web-album-exporter.ui", "webalbums");
+	data->settings = g_settings_new (GTHUMB_WEBALBUMS_SCHEMA);
 
 	data->dialog = _gtk_builder_get_widget (data->builder, "web_album_dialog");
 	gth_browser_set_dialog (browser, "web_exporter", data->dialog);
@@ -405,12 +413,17 @@ dlg_web_exporter (GthBrowser *browser,
 
 	/* Set widgets data. */
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_COPY_IMAGES, FALSE));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_RESIZE_IMAGES, FALSE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")), eel_gconf_get_integer (PREF_WEBALBUMS_IMAGES_PER_INDEX, 12));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_SINGLE_INDEX, FALSE));
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")), eel_gconf_get_integer (PREF_WEBALBUMS_COLUMNS, 4));
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adapt_column_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_ADAPT_TO_WIDTH, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_WEBALBUMS_COPY_IMAGES));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_WEBALBUMS_RESIZE_IMAGES));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("images_per_index_spinbutton")), g_settings_get_int (data->settings, PREF_WEBALBUMS_IMAGES_PER_INDEX));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("single_index_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SINGLE_INDEX));
+	gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("cols_spinbutton")),
+				   g_settings_get_int (data->settings, PREF_WEBALBUMS_COLUMNS));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("adapt_column_checkbutton")),
+				      g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ADAPT_TO_WIDTH));
 
 	active_index = 0;
 	for (i = 0; i < G_N_ELEMENTS (resize_size); i++) {
@@ -419,8 +432,8 @@ dlg_web_exporter (GthBrowser *browser,
 
 		gtk_list_store_append (GTK_LIST_STORE (GET_WIDGET ("size_liststore")), &iter);
 
-		if ((resize_size[i].width == eel_gconf_get_integer (PREF_WEBALBUMS_RESIZE_WIDTH, 640))
-		    && (resize_size[i].height == eel_gconf_get_integer (PREF_WEBALBUMS_RESIZE_HEIGHT, 480)))
+		if ((resize_size[i].width == g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_WIDTH))
+		    && (resize_size[i].height == g_settings_get_int (data->settings, PREF_WEBALBUMS_RESIZE_HEIGHT)))
 		{
 			active_index = i;
 		}
@@ -435,7 +448,7 @@ dlg_web_exporter (GthBrowser *browser,
 	}
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("resize_images_combobox")), active_index);
 
-	default_sort_type = eel_gconf_get_string (PREF_WEBALBUMS_SORT_TYPE, "file::mtime");
+	default_sort_type = g_settings_get_string (data->settings, PREF_WEBALBUMS_SORT_TYPE);
 	active_index = 0;
 	sort_types = gth_main_get_all_sort_types ();
 	for (i = 0, scan = sort_types; scan; scan = scan->next, i++) {
@@ -454,32 +467,32 @@ dlg_web_exporter (GthBrowser *browser,
 	g_list_free (sort_types);
 
 	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), active_index);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_SORT_INVERSE, FALSE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_SORT_INVERSE));
 
 	g_free (default_sort_type);
 
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("header_entry")),
 			    g_file_info_get_edit_name (gth_browser_get_location_data (browser)->info));
 
-	s_value = eel_gconf_get_string (PREF_WEBALBUMS_FOOTER, "");
+	s_value = g_settings_get_string (data->settings, PREF_WEBALBUMS_FOOTER);
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("footer_entry")), s_value);
 	g_free (s_value);
 
-	s_value = eel_gconf_get_string (PREF_WEBALBUMS_IMAGE_PAGE_FOOTER, "");
+	s_value = g_settings_get_string (data->settings, PREF_WEBALBUMS_IMAGE_PAGE_FOOTER);
 	gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("image_page_footer_entry")), s_value);
 	g_free (s_value);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("thumbnail_caption_checkbutton")), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION));
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_description_checkbutton")), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION));
 
-	caption = eel_gconf_get_string (PREF_WEBALBUMS_THUMBNAIL_CAPTION, DEFAULT_WEB_THUMBNAIL_CAPTION);
+	caption = g_settings_get_string (data->settings, PREF_WEBALBUMS_THUMBNAIL_CAPTION);
 	gth_metadata_chooser_set_selection (GTH_METADATA_CHOOSER (data->thumbnail_caption_chooser), caption);
 	g_free (caption);
 
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES, TRUE));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("image_attributes_checkbutton")), g_settings_get_boolean (data->settings, PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES));
 
-	caption = eel_gconf_get_string (PREF_WEBALBUMS_IMAGE_ATTRIBUTES, DEFAULT_WEB_IMAGE_ATTRIBUTES);
+	caption = g_settings_get_string (data->settings, PREF_WEBALBUMS_IMAGE_ATTRIBUTES);
 	gth_metadata_chooser_set_selection (GTH_METADATA_CHOOSER (data->image_attributes_chooser), caption);
 	g_free (caption);
 
@@ -493,7 +506,7 @@ dlg_web_exporter (GthBrowser *browser,
 	{
 		char *destination;
 
-		destination = eel_gconf_get_path (PREF_WEBALBUMS_DESTINATION, NULL);
+		destination = _g_settings_get_uri (data->settings, PREF_WEBALBUMS_DESTINATION);
 		if (destination == NULL)
 			destination = g_strdup (get_home_uri ());
 		gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (GET_WIDGET ("destination_filechooserbutton")), destination);
diff --git a/extensions/webalbums/gth-web-exporter.c b/extensions/webalbums/gth-web-exporter.c
index ff4a6d5..7bedc20 100644
--- a/extensions/webalbums/gth-web-exporter.c
+++ b/extensions/webalbums/gth-web-exporter.c
@@ -40,18 +40,6 @@
 #define DEFAULT_INDEX_FILE "index.html"
 #define SAVING_TIMEOUT 5
 
-/* Default subdirectories.
- * - Used as fallback when gconf values are empty or not accessible
- * - Please keep in sync with values in gthumb.schemas.in
- */
-
-#define DEFAULT_WEB_DIR_PREVIEWS     "previews"
-#define DEFAULT_WEB_DIR_THUMBNAILS   "thumbnails"
-#define DEFAULT_WEB_DIR_IMAGES       "images"
-#define DEFAULT_WEB_DIR_HTML_IMAGES  "html"
-#define DEFAULT_WEB_DIR_HTML_INDEXES "html"
-#define DEFAULT_WEB_DIR_THEME_FILES  "theme"
-
 
 G_DEFINE_TYPE (GthWebExporter, gth_web_exporter, GTH_TYPE_TASK)
 
@@ -2920,6 +2908,7 @@ gth_web_exporter_exec (GthTask *task)
 {
 	GthWebExporter *self;
 	GError         *error = NULL;
+	GSettings      *settings;
 	GString        *required_attributes;
 
 	g_return_if_fail (GTH_IS_WEB_EXPORTER (task));
@@ -2956,15 +2945,20 @@ gth_web_exporter_exec (GthTask *task)
 	if (self->priv->images_per_index % self->priv->columns_per_page > 0)
 		self->priv->rows_per_page++;
 
-	/* get index file name and subdirs from gconf (hidden prefs) */
+	/* get index file name and sub-directories (hidden preferences) */
+
+	settings = g_settings_new (GTHUMB_WEBALBUMS_SCHEMA);
+	self->priv->index_file = g_settings_get_string (settings, PREF_WEBALBUMS_INDEX_FILE);
+	g_object_unref (settings);
 
-	self->priv->index_file = eel_gconf_get_string (PREF_WEBALBUMS_INDEX_FILE, DEFAULT_INDEX_FILE);
-	self->priv->directories.previews = eel_gconf_get_string (PREF_WEBALBUMS_DIR_PREVIEWS, DEFAULT_WEB_DIR_PREVIEWS);
-	self->priv->directories.thumbnails = eel_gconf_get_string (PREF_WEBALBUMS_DIR_THUMBNAILS, DEFAULT_WEB_DIR_THUMBNAILS);
-	self->priv->directories.images = eel_gconf_get_string (PREF_WEBALBUMS_DIR_IMAGES, DEFAULT_WEB_DIR_IMAGES);
-	self->priv->directories.html_images = eel_gconf_get_string (PREF_WEBALBUMS_DIR_HTML_IMAGES, DEFAULT_WEB_DIR_HTML_IMAGES);
-	self->priv->directories.html_indexes = eel_gconf_get_string (PREF_WEBALBUMS_DIR_HTML_INDEXES, DEFAULT_WEB_DIR_HTML_INDEXES);
-	self->priv->directories.theme_files = eel_gconf_get_string (PREF_WEBALBUMS_DIR_THEME_FILES, DEFAULT_WEB_DIR_THEME_FILES);
+	settings = g_settings_new (GTHUMB_WEBALBUMS_DIRECTORIES_SCHEMA);
+	self->priv->directories.previews = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_PREVIEWS);
+	self->priv->directories.thumbnails = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_THUMBNAILS);
+	self->priv->directories.images = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_IMAGES);
+	self->priv->directories.html_images = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_HTML_IMAGES);
+	self->priv->directories.html_indexes = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_HTML_INDEXES);
+	self->priv->directories.theme_files = g_settings_get_string (settings, PREF_WEBALBUMS_DIR_THEME_FILES);
+	g_object_unref (settings);
 
 	/* create a tmp dir */
 
diff --git a/extensions/webalbums/preferences.h b/extensions/webalbums/preferences.h
index 61a0d49..c9c1fbc 100644
--- a/extensions/webalbums/preferences.h
+++ b/extensions/webalbums/preferences.h
@@ -26,34 +26,44 @@
 
 G_BEGIN_DECLS
 
-#define PREF_WEBALBUMS_INDEX_FILE               "/apps/gthumb/ext/webalbums/index_file"
-#define PREF_WEBALBUMS_DIR_PREVIEWS             "/apps/gthumb/ext/webalbums/directories/previews"
-#define PREF_WEBALBUMS_DIR_THUMBNAILS           "/apps/gthumb/ext/webalbums/directories/thumbnails"
-#define PREF_WEBALBUMS_DIR_IMAGES               "/apps/gthumb/ext/webalbums/directories/images"
-#define PREF_WEBALBUMS_DIR_HTML_IMAGES          "/apps/gthumb/ext/webalbums/directories/html_images"
-#define PREF_WEBALBUMS_DIR_HTML_INDEXES         "/apps/gthumb/ext/webalbums/directories/html_indexes"
-#define PREF_WEBALBUMS_DIR_THEME_FILES          "/apps/gthumb/ext/webalbums/directories/theme_files"
-#define PREF_WEBALBUMS_DESTINATION              "/apps/gthumb/ext/webalbums/destination"
-#define PREF_WEBALBUMS_COPY_IMAGES              "/apps/gthumb/ext/webalbums/copy_images"
-#define PREF_WEBALBUMS_RESIZE_IMAGES            "/apps/gthumb/ext/webalbums/resize_images"
-#define PREF_WEBALBUMS_RESIZE_WIDTH             "/apps/gthumb/ext/webalbums/resize_width"
-#define PREF_WEBALBUMS_RESIZE_HEIGHT            "/apps/gthumb/ext/webalbums/resize_height"
-#define PREF_WEBALBUMS_IMAGES_PER_INDEX         "/apps/gthumb/ext/webalbums/images_per_index"
-#define PREF_WEBALBUMS_SINGLE_INDEX             "/apps/gthumb/ext/webalbums/single_index"
-#define PREF_WEBALBUMS_COLUMNS                  "/apps/gthumb/ext/webalbums/columns"
-#define PREF_WEBALBUMS_ADAPT_TO_WIDTH           "/apps/gthumb/ext/webalbums/adapt_to_width"
-#define PREF_WEBALBUMS_SORT_TYPE                "/apps/gthumb/ext/webalbums/sort_type"
-#define PREF_WEBALBUMS_SORT_INVERSE             "/apps/gthumb/ext/webalbums/sort_inverse"
-#define PREF_WEBALBUMS_HEADER                   "/apps/gthumb/ext/webalbums/header"
-#define PREF_WEBALBUMS_FOOTER                   "/apps/gthumb/ext/webalbums/footer"
-#define PREF_WEBALBUMS_IMAGE_PAGE_HEADER        "/apps/gthumb/ext/webalbums/image_page_header"
-#define PREF_WEBALBUMS_IMAGE_PAGE_FOOTER        "/apps/gthumb/ext/webalbums/image_page_footer"
-#define PREF_WEBALBUMS_THEME                    "/apps/gthumb/ext/webalbums/theme"
-#define PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION "/apps/gthumb/ext/webalbums/enable_thumbnail_caption"
-#define PREF_WEBALBUMS_THUMBNAIL_CAPTION        "/apps/gthumb/ext/webalbums/thumbnail_caption"
-#define PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION "/apps/gthumb/ext/webalbums/enable_image_description"
-#define PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES  "/apps/gthumb/ext/webalbums/enable_image_attributes"
-#define PREF_WEBALBUMS_IMAGE_ATTRIBUTES         "/apps/gthumb/ext/webalbums/image_attributes"
+/* schemas */
+
+#define GTHUMB_WEBALBUMS_SCHEMA                 GTHUMB_SCHEMA ".webalbums"
+#define GTHUMB_WEBALBUMS_DIRECTORIES_SCHEMA     GTHUMB_WEBALBUMS_SCHEMA ".directories"
+
+/* keys: webalbums */
+
+#define PREF_WEBALBUMS_INDEX_FILE               "index-file"
+#define PREF_WEBALBUMS_DESTINATION              "destination"
+#define PREF_WEBALBUMS_COPY_IMAGES              "copy-images"
+#define PREF_WEBALBUMS_RESIZE_IMAGES            "resize-images"
+#define PREF_WEBALBUMS_RESIZE_WIDTH             "resize-width"
+#define PREF_WEBALBUMS_RESIZE_HEIGHT            "resize-height"
+#define PREF_WEBALBUMS_IMAGES_PER_INDEX         "images-per-index"
+#define PREF_WEBALBUMS_SINGLE_INDEX             "single-index"
+#define PREF_WEBALBUMS_COLUMNS                  "columns"
+#define PREF_WEBALBUMS_ADAPT_TO_WIDTH           "adapt-to-width"
+#define PREF_WEBALBUMS_SORT_TYPE                "sort-type"
+#define PREF_WEBALBUMS_SORT_INVERSE             "sort-inverse"
+#define PREF_WEBALBUMS_HEADER                   "header"
+#define PREF_WEBALBUMS_FOOTER                   "footer"
+#define PREF_WEBALBUMS_IMAGE_PAGE_HEADER        "image-page-header"
+#define PREF_WEBALBUMS_IMAGE_PAGE_FOOTER        "image-page-footer"
+#define PREF_WEBALBUMS_THEME                    "theme"
+#define PREF_WEBALBUMS_ENABLE_THUMBNAIL_CAPTION "enable-thumbnail-caption"
+#define PREF_WEBALBUMS_THUMBNAIL_CAPTION        "thumbnail-caption"
+#define PREF_WEBALBUMS_ENABLE_IMAGE_DESCRIPTION "enable-image-description"
+#define PREF_WEBALBUMS_ENABLE_IMAGE_ATTRIBUTES  "enable-image-attributes"
+#define PREF_WEBALBUMS_IMAGE_ATTRIBUTES         "image-attributes"
+
+/* keys: webalbums directories */
+
+#define PREF_WEBALBUMS_DIR_PREVIEWS             "previews"
+#define PREF_WEBALBUMS_DIR_THUMBNAILS           "thumbnails"
+#define PREF_WEBALBUMS_DIR_IMAGES               "images"
+#define PREF_WEBALBUMS_DIR_HTML_IMAGES          "html-images"
+#define PREF_WEBALBUMS_DIR_HTML_INDEXES         "html-indexes"
+#define PREF_WEBALBUMS_DIR_THEME_FILES          "theme-files"
 
 G_END_DECLS
 



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