[gnome-control-center] background: Port to GSettings
- From: Rodrigo Moya <rodrigo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] background: Port to GSettings
- Date: Thu, 14 Oct 2010 13:24:49 +0000 (UTC)
commit 2b5a938d269c96f266cf00699fed8cf5bd0ffc14
Author: Rodrigo Moya <rodrigo gnome-db org>
Date: Thu Oct 14 13:01:31 2010 +0200
background: Port to GSettings
panels/background/cc-background-panel.c | 58 ++++++++++++------------------
panels/background/gnome-wp-item.h | 12 +++---
2 files changed, 29 insertions(+), 41 deletions(-)
---
diff --git a/panels/background/cc-background-panel.c b/panels/background/cc-background-panel.c
index 672a998..55d49b2 100644
--- a/panels/background/cc-background-panel.c
+++ b/panels/background/cc-background-panel.c
@@ -61,7 +61,7 @@ struct _CcBackgroundPanelPrivate
BgFlickrSource *flickr_source;
#endif
- GConfClient *client;
+ GSettings *settings;
GnomeDesktopThumbnailFactory *thumb_factory;
@@ -154,10 +154,10 @@ cc_background_panel_dispose (GObject *object)
}
#endif
- if (priv->client)
+ if (priv->settings)
{
- g_object_unref (priv->client);
- priv->client = NULL;
+ g_object_unref (priv->settings);
+ priv->settings = NULL;
}
if (priv->copy_cancellable)
@@ -338,7 +338,6 @@ backgrounds_changed_cb (GtkIconView *icon_view,
GList *list;
GtkTreeModel *model;
GnomeWPItem *item;
- GConfChangeSet *cs;
gchar *pcolor, *scolor;
CcBackgroundPanelPrivate *priv = panel->priv;
gboolean draw_preview = TRUE;
@@ -365,12 +364,13 @@ backgrounds_changed_cb (GtkIconView *icon_view,
gtk_tree_model_get (model, &iter, 1, &item, -1);
- cs = gconf_change_set_new ();
+ /* Do all changes in one 'transaction' */
+ g_settings_delay (priv->settings);
if (!g_strcmp0 (item->filename, "(none)"))
{
- gconf_change_set_set_string (cs, WP_OPTIONS_KEY, "none");
- gconf_change_set_set_string (cs, WP_FILE_KEY, "");
+ g_settings_set_string (priv->settings, WP_OPTIONS_KEY, "none");
+ g_settings_set_string (priv->settings, WP_FILE_KEY, "");
}
else if (item->source_url)
{
@@ -419,10 +419,8 @@ backgrounds_changed_cb (GtkIconView *icon_view,
NULL, NULL,
copy_finished_cb, panel);
- gconf_change_set_set_string (cs, WP_FILE_KEY,
- cache_path);
- gconf_change_set_set_string (cs, WP_OPTIONS_KEY,
- wp_item_option_to_string (item->options));
+ g_settings_set_string (priv->settings, WP_FILE_KEY, cache_path);
+ g_settings_set_string (priv->settings, WP_OPTIONS_KEY, wp_item_option_to_string (item->options));
g_free (item->filename);
item->filename = cache_path;
@@ -445,27 +443,24 @@ backgrounds_changed_cb (GtkIconView *icon_view,
}
else
{
- gconf_change_set_set_string (cs, WP_FILE_KEY, uri);
+ g_settings_set_string (priv->settings, WP_FILE_KEY, uri);
g_free (uri);
}
- gconf_change_set_set_string (cs, WP_OPTIONS_KEY,
- wp_item_option_to_string (item->options));
+ g_settings_set_string (priv->settings, WP_OPTIONS_KEY, wp_item_option_to_string (item->options));
}
- gconf_change_set_set_string (cs, WP_SHADING_KEY,
- wp_item_shading_to_string (item->shade_type));
+ g_settings_set_string (priv->settings, WP_SHADING_KEY,
+ wp_item_shading_to_string (item->shade_type));
pcolor = gdk_color_to_string (item->pcolor);
scolor = gdk_color_to_string (item->scolor);
- gconf_change_set_set_string (cs, WP_PCOLOR_KEY, pcolor);
- gconf_change_set_set_string (cs, WP_SCOLOR_KEY, scolor);
+ g_settings_set_string (priv->settings, WP_PCOLOR_KEY, pcolor);
+ g_settings_set_string (priv->settings, WP_SCOLOR_KEY, scolor);
g_free (pcolor);
g_free (scolor);
- gconf_client_commit_change_set (priv->client, cs, TRUE, NULL);
-
- gconf_change_set_unref (cs);
+ g_settings_apply (priv->settings);
/* update the preview information */
update_preview (priv, item, draw_preview);
@@ -557,9 +552,7 @@ style_changed_cb (GtkComboBox *box,
gtk_tree_model_get (model, &iter, 1, &value, -1);
- gconf_client_set_string (priv->client,
- "/desktop/gnome/background/picture_options",
- value, NULL);
+ g_settings_set_string (priv->settings, WP_OPTIONS_KEY, value);
g_free (value);
@@ -584,13 +577,8 @@ color_changed_cb (GtkColorButton *button,
value = gdk_color_to_string (&color);
- gconf_client_set_string (priv->client,
- "/desktop/gnome/background/primary_color",
- value, NULL);
-
- gconf_client_set_string (priv->client,
- "/desktop/gnome/background/secondary_color",
- value, NULL);
+ g_settings_set_string (priv->settings, WP_PCOLOR_KEY, value);
+ g_settings_set_string (priv->settings, WP_SCOLOR_KEY, value);
g_free (value);
@@ -623,7 +611,7 @@ cc_background_panel_init (CcBackgroundPanel *self)
return;
}
- priv->client = gconf_client_get_default ();
+ priv->settings = g_settings_new (WP_PATH_ID);
store = (GtkListStore*) gtk_builder_get_object (priv->builder,
"sources-liststore");
@@ -704,8 +692,8 @@ cc_background_panel_init (CcBackgroundPanel *self)
priv->thumb_factory = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL);
- /* initalise the current background information from gconf */
- filename = gconf_client_get_string (priv->client, WP_FILE_KEY, NULL);
+ /* initalise the current background information from settings */
+ filename = g_settings_get_string (priv->settings, WP_FILE_KEY);
if (!filename || !g_strcmp0 (filename, ""))
{
g_free (filename);
diff --git a/panels/background/gnome-wp-item.h b/panels/background/gnome-wp-item.h
index d7b2469..f069d99 100644
--- a/panels/background/gnome-wp-item.h
+++ b/panels/background/gnome-wp-item.h
@@ -29,12 +29,12 @@
#ifndef _GNOME_WP_ITEM_H_
#define _GNOME_WP_ITEM_H_
-#define WP_PATH_KEY "/desktop/gnome/background"
-#define WP_FILE_KEY WP_PATH_KEY "/picture_filename"
-#define WP_OPTIONS_KEY WP_PATH_KEY "/picture_options"
-#define WP_SHADING_KEY WP_PATH_KEY "/color_shading_type"
-#define WP_PCOLOR_KEY WP_PATH_KEY "/primary_color"
-#define WP_SCOLOR_KEY WP_PATH_KEY "/secondary_color"
+#define WP_PATH_ID "org.gnome.desktop.background"
+#define WP_FILE_KEY "picture-filename"
+#define WP_OPTIONS_KEY "picture-options"
+#define WP_SHADING_KEY "color-shading-type"
+#define WP_PCOLOR_KEY "primary-color"
+#define WP_SCOLOR_KEY "secondary-color"
typedef struct _GnomeWPItem GnomeWPItem;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]