[nautilus-sound-converter/gst-1-0: 18/18] Convert project from GConf to GSettings.



commit 1edeffff7ffa5a9108875b889fe1e2437b6f7a62
Author: Brian Pepple <bpepple fedoraproject org>
Date:   Mon Jun 10 16:02:25 2013 -0400

    Convert project from GConf to GSettings.

 configure.ac                                       |    9 +---
 data/Makefile.am                                   |   32 ++++++---------
 data/nautilus-sound-converter.convert              |    2 +
 ...rg.gnome.Nautilus.SoundConverter.gschema.xml.in |    9 ++++
 po/POTFILES.in                                     |    2 +-
 src/nsc-converter.c                                |   43 ++++++-------------
 6 files changed, 42 insertions(+), 55 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index bfa13cd..37596e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,9 +17,7 @@ AC_PROG_CC
 IT_PROG_INTLTOOL([0.40.6])
 LT_INIT
 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-
-AC_PATH_PROG(GCONFTOOL, gconftool-2)
-AM_GCONF_SOURCE_2
+GLIB_GSETTINGS
 
 GNOME_COMPILE_WARNINGS([maximum])
 GNOME_CXX_WARNINGS([yes])
@@ -29,9 +27,8 @@ GNOME_MAINTAINER_MODE_DEFINES
 dnl -----------------------------------------------------------
 dnl Set variables for minimum versions needed.
 dnl -----------------------------------------------------------
-GLIB_REQUIRED=2.16.0
+GLIB_REQUIRED=2.25.9
 NAUTILUS_REQUIRED=2.12.0
-GCONF_REQUIRED=1.2.0
 GTK_REQUIRED=2.90.3
 GSTREAMER_REQUIRED=0.11.92
 
@@ -41,7 +38,7 @@ dnl -----------------------------------------------------------
 PKG_CHECK_MODULES(NSC,
 [
        glib-2.0 >= $GLIB_REQUIRED
-       gconf-2.0 >= $GCONF_REQUIRED
+       gio-2.0
        libnautilus-extension >= $NAUTILUS_REQUIRED
        gtk+-3.0 >= $GTK_REQUIRED
        gstreamer-1.0 >= $GSTREAMER_REQUIRED
diff --git a/data/Makefile.am b/data/Makefile.am
index d1d5816..e4ce37f 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,7 +1,11 @@
-schemasdir      = $(GCONF_SCHEMA_FILE_DIR)
-schemas_in_files = nautilus-sound-converter.schemas.in
-schemas_DATA    = $(schemas_in_files:.schemas.in=.schemas)
- INTLTOOL_SCHEMAS_RULE@
+gsettingsconvertdir = $(datadir)/GConf/gsettings
+gsettingsconvert_DATA = nautilus-sound-converter.convert
+
+gsettingsschema_in_files = org.gnome.Nautilus.SoundConverter.gschema.xml.in
+gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml)
+.PRECIOUS: $(gsettings_SCHEMAS)
+ INTLTOOL_XML_NOMERGE_RULE@
+ GSETTINGS_RULES@
 
 builderdir = $(datadir)/nautilus-sound-converter
 builder_DATA =         \
@@ -11,20 +15,10 @@ builder_DATA =              \
 profilesdir = $(datadir)/nautilus-sound-converter
 dist_profiles_DATA = rhythmbox.gep
 
-EXTRA_DIST =                   \
-       $(builder_DATA)         \
-       $(schemas_in_files)
+EXTRA_DIST =                    \
+       $(builder_DATA)          \
+       $(gsettingsconvert_DATA) \
+       $(gsettingsschema_in_files)
 
 DISTCLEANFILES =               \
-       $(schemas_DATA)
-
-if GCONF_SCHEMAS_INSTALL
-install-data-local:
-               if test -z "$(DESTDIR)" ; then \
-                       for p in $(schemas_DATA) ; do \
-                               GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) 
--makefile-install-rule $(top_builddir)/data/$$p ; \
-                       done \
-               fi
-else
-install-data-local:
-endif
+       $(gsettings_SCHEMAS)
diff --git a/data/nautilus-sound-converter.convert b/data/nautilus-sound-converter.convert
new file mode 100644
index 0000000..02f5a31
--- /dev/null
+++ b/data/nautilus-sound-converter.convert
@@ -0,0 +1,2 @@
+[org.gnome.Nautilus.SoundConverter]
+source-dir = /apps/nautilus-sound-converter/source_dir
diff --git a/data/org.gnome.Nautilus.SoundConverter.gschema.xml.in 
b/data/org.gnome.Nautilus.SoundConverter.gschema.xml.in
new file mode 100644
index 0000000..6472bfc
--- /dev/null
+++ b/data/org.gnome.Nautilus.SoundConverter.gschema.xml.in
@@ -0,0 +1,9 @@
+<schemalist>
+  <schema id="org.gnome.Nautilus.SoundConverter" path="/nautilus-sound-converter/">
+    <key name="source-dir" type="b">
+      <default>true</default>
+      <summary>Use source directory as output directory</summary>
+      <description>Use the source directory as the default output directory.</description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e4c1936..4b45c06 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -3,7 +3,7 @@
 [encoding: UTF-8]
 [type: gettext/glade]data/main.ui
 [type: gettext/glade]data/progress.ui
-data/nautilus-sound-converter.schemas.in
+data/org.gnome.Nautilus.SoundConverter.gschema.xml.in
 
 src/nsc-converter.c
 src/nsc-extension.c
diff --git a/src/nsc-converter.c b/src/nsc-converter.c
index cd2a8d9..503b8ae 100644
--- a/src/nsc-converter.c
+++ b/src/nsc-converter.c
@@ -33,8 +33,8 @@
 #include <sys/time.h>
 #include <string.h>
 
-#include <gconf/gconf-client.h>
 #include <glib/gi18n.h>
+#include <gio/gio.h>
 #include <gtk/gtk.h>
 #include <gst/gst.h>
 #include <libnautilus-extension/nautilus-file-info.h>
@@ -57,6 +57,8 @@ struct _NscConverterPrivate {
        /* GStreamer Object */
        NscGStreamer    *gst;
 
+    GSettings       *settings;
+
        /* The current audio profile */
        GstEncodingProfile *profile;
 
@@ -75,9 +77,6 @@ struct _NscConverterPrivate {
        gint             files_converted;
        gint             total_files;
 
-       /* Use the source directory as the output directory? */
-       gboolean         src_dir;
-
        /* Directory to save new file */
        gchar           *save_path;
 
@@ -95,10 +94,9 @@ struct _NscConverterPrivate {
 #define DEFAULT_MEDIA_TYPE "audio/x-vorbis"
 
 /*
- * gconf key for whether the user wants to use
- * the source directory for the output directory.
+ * gsetting file converting source directory
  */
-#define SOURCE_DIRECTORY "/apps/nautilus-sound-converter/source_dir"
+#define SOURCE_DIRECTORY "source-dir"
 
 #define NSC_CONVERTER_GET_PRIVATE(o)           \
        ((NscConverterPrivate *)((NSC_CONVERTER(o))->priv))
@@ -122,6 +120,9 @@ nsc_converter_finalize (GObject *object)
                if (priv->gst)
                        g_object_unref (priv->gst);
 
+               if (priv->settings)
+                       g_object_unref (priv->settings);
+
                if (priv->profile)
                        g_object_unref (priv->profile);
 
@@ -713,6 +714,7 @@ create_main_dialog (NscConverter *converter)
        NscConverterPrivate *priv;
        GtkBuilder          *gui;
        GtkWidget           *hbox;
+       gboolean             src_dir;
 
        priv = NSC_CONVERTER_GET_PRIVATE (converter);
 
@@ -729,7 +731,10 @@ create_main_dialog (NscConverter *converter)
         * Set the source directory if the user wants
         * to use that as the output destination.
         */
-       if (priv->src_dir) {
+       src_dir = g_settings_get_boolean (priv->settings,
+                                                                         SOURCE_DIRECTORY);
+
+       if (src_dir) {
                NautilusFileInfo *file_info;
                gchar            *uri;
 
@@ -774,8 +779,6 @@ nsc_converter_init (NscConverter *self)
        /* If correctly allocated, initialize parameters */
        if ((NSC_CONVERTER (self))->priv != NULL) {
                NscConverterPrivate *priv = NSC_CONVERTER_GET_PRIVATE (self);
-               GConfClient         *gconf;
-               GError              *error = NULL;
 
                /* Set init values */
                priv->gst = NULL;
@@ -783,25 +786,7 @@ nsc_converter_init (NscConverter *self)
                priv->current_duration = 0;
                priv->total_duration = 0;
                priv->before.seconds = -1;
-
-               /* Get gconf client */
-               gconf = gconf_client_get_default ();
-               if (gconf == NULL) {
-                       /* Should probably do more than just give a warning */
-                       g_warning (_("Could not create GConf client.\n"));
-               }
-
-               priv->src_dir = gconf_client_get_bool (gconf,
-                                                                                          SOURCE_DIRECTORY,
-                                                                                          &error);
-
-               if (error) {
-                       priv->src_dir = FALSE;
-                       g_error_free (error);
-               }
-
-               /* Unreference the gconf client */
-               g_object_unref (gconf);
+               priv->settings = g_settings_new ("org.gnome.Nautilus.SoundConverter");
 
                /* Set the profile to the default. */
                priv->profile = rb_gst_get_encoding_profile (DEFAULT_MEDIA_TYPE);


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