summaryrefslogtreecommitdiff
path: root/mate-dictionary/src/gdict-pref-dialog.c
diff options
context:
space:
mode:
authorBrent Hull <[email protected]>2013-01-25 02:39:32 -0500
committerBrent Hull <[email protected]>2013-01-25 02:39:32 -0500
commit1acc3477eeb71505d68b66ac7aa4a796f86fe69c (patch)
treec4c7950e24d8393980b41c6bd649c450e628a6f2 /mate-dictionary/src/gdict-pref-dialog.c
parent3f783bbd74e1f94e97f91829480b32b05b6480c8 (diff)
downloadmate-utils-1acc3477eeb71505d68b66ac7aa4a796f86fe69c.tar.bz2
mate-utils-1acc3477eeb71505d68b66ac7aa4a796f86fe69c.tar.xz
Port mate-dictionary (and applet) to Gsettings (main program based on GNOME patch)
Diffstat (limited to 'mate-dictionary/src/gdict-pref-dialog.c')
-rw-r--r--mate-dictionary/src/gdict-pref-dialog.c96
1 files changed, 13 insertions, 83 deletions
diff --git a/mate-dictionary/src/gdict-pref-dialog.c b/mate-dictionary/src/gdict-pref-dialog.c
index e430e4e1..f87fccda 100644
--- a/mate-dictionary/src/gdict-pref-dialog.c
+++ b/mate-dictionary/src/gdict-pref-dialog.c
@@ -34,7 +34,7 @@
#endif
#include <glib/gi18n.h>
-#include <mateconf/mateconf-client.h>
+#include <gio/gio.h>
#include "gdict-source-dialog.h"
#include "gdict-pref-dialog.h"
@@ -66,8 +66,7 @@ struct _GdictPrefDialog
GtkBuilder *builder;
- MateConfClient *mateconf_client;
- guint notify_id;
+ GSettings *settings;
gchar *active_source;
GdictSourceLoader *loader;
@@ -204,14 +203,10 @@ source_renderer_toggled_cb (GtkCellRendererToggle *renderer,
{
g_free (dialog->active_source);
dialog->active_source = g_strdup (name);
-
- mateconf_client_set_string (dialog->mateconf_client,
- GDICT_MATECONF_SOURCE_KEY,
- dialog->active_source,
- NULL);
-
+
+ g_settings_set_string (dialog->settings, GDICT_SETTINGS_SOURCE_KEY, dialog->active_source);
update_sources_view (dialog);
-
+
g_free (name);
}
@@ -434,52 +429,8 @@ font_button_font_set_cb (GtkWidget *font_button,
g_free (dialog->print_font);
dialog->print_font = g_strdup (font);
-
- mateconf_client_set_string (dialog->mateconf_client,
- GDICT_MATECONF_PRINT_FONT_KEY,
- dialog->print_font,
- NULL);
-}
-static void
-gdict_pref_dialog_mateconf_notify_cb (MateConfClient *client,
- guint cnxn_id,
- MateConfEntry *entry,
- gpointer user_data)
-{
- GdictPrefDialog *dialog = GDICT_PREF_DIALOG (user_data);
-
- if (strcmp (entry->key, GDICT_MATECONF_SOURCE_KEY) == 0)
- {
- if (entry->value && entry->value->type == MATECONF_VALUE_STRING)
- {
- g_free (dialog->active_source);
- dialog->active_source = g_strdup (mateconf_value_get_string (entry->value));
- }
- else
- {
- g_free (dialog->active_source);
- dialog->active_source = g_strdup (GDICT_DEFAULT_SOURCE_NAME);
- }
-
- update_sources_view (dialog);
- }
- else if (strcmp (entry->key, GDICT_MATECONF_PRINT_FONT_KEY) == 0)
- {
- if (entry->value && entry->value->type == MATECONF_VALUE_STRING)
- {
- g_free (dialog->print_font);
- dialog->print_font = g_strdup (mateconf_value_get_string (entry->value));
- }
- else
- {
- g_free (dialog->print_font);
- dialog->print_font = g_strdup (GDICT_DEFAULT_PRINT_FONT);
- }
-
- gtk_font_button_set_font_name (GTK_FONT_BUTTON (dialog->font_button),
- dialog->print_font);
- }
+ g_settings_set_string (dialog->settings, GDICT_SETTINGS_PRINT_FONT_KEY, dialog->print_font);
}
static void
@@ -531,11 +482,8 @@ gdict_pref_dialog_finalize (GObject *object)
{
GdictPrefDialog *dialog = GDICT_PREF_DIALOG (object);
- if (dialog->notify_id);
- mateconf_client_notify_remove (dialog->mateconf_client, dialog->notify_id);
-
- if (dialog->mateconf_client)
- g_object_unref (dialog->mateconf_client);
+ if (dialog->settings)
+ g_object_unref (dialog->settings);
if (dialog->builder)
g_object_unref (dialog->builder);
@@ -615,8 +563,7 @@ gdict_pref_dialog_init (GdictPrefDialog *dialog)
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
- gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
-
+
/* add buttons */
gtk_dialog_add_button (GTK_DIALOG (dialog),
"gtk-help",
@@ -625,17 +572,7 @@ gdict_pref_dialog_init (GdictPrefDialog *dialog)
"gtk-close",
GTK_RESPONSE_ACCEPT);
- dialog->mateconf_client = mateconf_client_get_default ();
- mateconf_client_add_dir (dialog->mateconf_client,
- GDICT_MATECONF_DIR,
- MATECONF_CLIENT_PRELOAD_ONELEVEL,
- NULL);
- dialog->notify_id = mateconf_client_notify_add (dialog->mateconf_client,
- GDICT_MATECONF_DIR,
- gdict_pref_dialog_mateconf_notify_cb,
- dialog,
- NULL,
- NULL);
+ dialog->settings = g_settings_new (GDICT_SETTINGS_SCHEMA);
/* get the UI from the GtkBuilder file */
dialog->builder = gtk_builder_new ();
@@ -657,9 +594,7 @@ gdict_pref_dialog_init (GdictPrefDialog *dialog)
dialog->sources_view = GTK_WIDGET (gtk_builder_get_object (dialog->builder, "sources_treeview"));
build_sources_view (dialog);
- dialog->active_source = gdict_mateconf_get_string_with_default (dialog->mateconf_client,
- GDICT_MATECONF_SOURCE_KEY,
- GDICT_DEFAULT_SOURCE_NAME);
+ dialog->active_source = g_settings_get_string (dialog->settings, GDICT_SETTINGS_SOURCE_KEY);
dialog->sources_add = GTK_WIDGET (gtk_builder_get_object (dialog->builder, "add_button"));
gtk_widget_set_tooltip_text (dialog->sources_add,
@@ -672,13 +607,8 @@ gdict_pref_dialog_init (GdictPrefDialog *dialog)
_("Remove the currently selected dictionary source"));
g_signal_connect (dialog->sources_remove, "clicked",
G_CALLBACK (source_remove_clicked_cb), dialog);
-
- font = mateconf_client_get_string (dialog->mateconf_client,
- GDICT_MATECONF_PRINT_FONT_KEY,
- NULL);
- if (!font)
- font = g_strdup (GDICT_DEFAULT_PRINT_FONT);
-
+
+ font = g_settings_get_string (dialog->settings, GDICT_SETTINGS_PRINT_FONT_KEY);
dialog->font_button = GTK_WIDGET (gtk_builder_get_object (dialog->builder, "print_font_button"));
gtk_font_button_set_font_name (GTK_FONT_BUTTON (dialog->font_button), font);
gtk_widget_set_tooltip_text (dialog->font_button,