diff options
author | Stefano Karapetsas <[email protected]> | 2014-04-23 19:29:22 +0200 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2014-04-23 19:29:22 +0200 |
commit | 693c6c76c7cf54f6e314255760b05198a99ac4d5 (patch) | |
tree | 81b4742741c3c6b1324848bd5e6c5b5b4af276ce | |
parent | 6767fa71d3a17c73f7d9ffa49004dcc68feb7e7a (diff) | |
download | mate-terminal-693c6c76c7cf54f6e314255760b05198a99ac4d5.tar.bz2 mate-terminal-693c6c76c7cf54f6e314255760b05198a99ac4d5.tar.xz |
Use common dconf functions from libmate-desktop
-rw-r--r-- | configure.ac | 14 | ||||
-rw-r--r-- | src/Makefile.am | 5 | ||||
-rw-r--r-- | src/terminal-app.c | 4 | ||||
-rw-r--r-- | src/terminal-dconf.c | 113 | ||||
-rw-r--r-- | src/terminal-dconf.h | 44 |
5 files changed, 4 insertions, 176 deletions
diff --git a/configure.ac b/configure.ac index 0fed807..ce5a25a 100644 --- a/configure.ac +++ b/configure.ac @@ -40,12 +40,11 @@ MATE_COMPILE_WARNINGS([maximum]) AM_GLIB_GNU_GETTEXT -DCONF_NEW_REQUIRED=0.13.4 -DCONF_OLD_REQUIRED=0.10.0 GLIB_REQUIRED=2.25.0 GIO_REQUIRED=2.25.12 GTK_REQUIRED=2.14.0 VTE_REQUIRED=0.27.1 +MATE_DESKTOP_REQUIRED=1.9.0 AC_MSG_CHECKING([which gtk+ version to compile against]) AC_ARG_WITH([gtk], @@ -81,6 +80,7 @@ PKG_CHECK_MODULES([TERM], gthread-2.0 gio-2.0 >= $GIO_REQUIRED gtk+-$GTK_API_VERSION >= $GTK_REQUIRED + mate-desktop-2.0 >= $MATE_DESKTOP_REQUIRED $PLATFORM_DEPS]) # ******** @@ -120,16 +120,6 @@ AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"]) GLIB_GSETTINGS -PKG_CHECK_MODULES([DCONF], [dconf >= $DCONF_NEW_REQUIRED], - [AC_DEFINE([HAVE_DCONF_NEW], [1], [Use DCONF >= 0.13])], - [PKG_CHECK_MODULES([DCONF], [dconf >= $DCONF_OLD_REQUIRED], - [AC_DEFINE([HAVE_DCONF_OLD], [1], [Use DCONF 0.12]) - ]) -]) -AC_SUBST(DCONF_CFLAGS) -AC_SUBST(DCONF_LIBS) - - GLIB_GENMARSHAL="$($PKG_CONFIG --variable=glib_genmarshal glib-2.0)" AC_SUBST([GLIB_GENMARSHAL]) GLIB_MKENUMS="$($PKG_CONFIG --variable=glib_mkenums glib-2.0)" diff --git a/src/Makefile.am b/src/Makefile.am index 4f52b3e..9f135d7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -23,8 +23,6 @@ mate_terminal_SOURCES= \ terminal-accels.h \ terminal-app.c \ terminal-app.h \ - terminal-dconf.c \ - terminal-dconf.h \ terminal-debug.c \ terminal-debug.h \ terminal-encoding.c \ @@ -80,20 +78,17 @@ mate_terminal_CPPFLAGS = \ -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES \ -DGTK_DISABLE_SINGLE_INCLUDES \ $(DISABLE_DEPRECATED) \ - $(DCONF_CFLAGS) \ $(AM_CPPFLAGS) mate_terminal_CFLAGS = \ $(TERM_CFLAGS) \ $(WARN_CFLAGS) \ - $(DCONF_CFLAGS) \ $(AM_CFLAGS) mate_terminal_LDFLAGS = -lICE mate_terminal_LDADD = \ skey/libskey.la \ - $(DCONF_LIBS) \ $(TERM_LIBS) if WITH_SMCLIENT diff --git a/src/terminal-app.c b/src/terminal-app.c index 71d14ee..bdbd50e 100644 --- a/src/terminal-app.c +++ b/src/terminal-app.c @@ -37,7 +37,7 @@ #include "profile-editor.h" #include "terminal-encoding.h" #include "terminal-gsettings.h" -#include "terminal-dconf.h" +#include <libmate-desktop/mate-dconf.h> #include <string.h> #include <stdlib.h> #include <time.h> @@ -331,7 +331,7 @@ terminal_app_delete_profile (TerminalApp *app, terminal_gsettings_remove_all_from_strv (app->settings_global, PROFILE_LIST_KEY, profile_name); /* And remove the profile directory */ - if (!terminal_dconf_recursive_reset (profile_dir, &error)) + if (!mate_dconf_recursive_reset (profile_dir, &error)) { g_warning ("Failed to recursively unset %s: %s\n", profile_dir, error->message); g_error_free (error); diff --git a/src/terminal-dconf.c b/src/terminal-dconf.c deleted file mode 100644 index 31467dc..0000000 --- a/src/terminal-dconf.c +++ /dev/null @@ -1,113 +0,0 @@ -/* -* terminal-dconf.c: helper API for dconf -* -* Copyright (C) 2011 Novell, 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 the Free Software Foundation; either version 2 of the -* License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -* 02111-1307, USA. -* -* Authors: -* Vincent Untz <[email protected]> -* Stefano Karapetsas <[email protected]> -*/ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <string.h> - -#include <dconf.h> - -#include "terminal-dconf.h" - -static DConfClient * -terminal_dconf_client_get (void) -{ -#ifdef HAVE_DCONF_NEW - return dconf_client_new (); -#else - return dconf_client_new (NULL, NULL, NULL, NULL); -#endif -} - -gboolean -terminal_dconf_write_sync (const gchar *key, - GVariant *value, - GError **error) -{ - gboolean ret; - DConfClient *client = terminal_dconf_client_get (); - -#ifdef HAVE_DCONF_NEW - ret = dconf_client_write_sync (client, key, value, NULL, NULL, error); -#else - ret = dconf_client_write (client, key, value, NULL, NULL, error); -#endif - - g_object_unref (client); - - return ret; -} - -gboolean -terminal_dconf_recursive_reset (const gchar *dir, - GError **error) -{ - gboolean ret; - DConfClient *client = terminal_dconf_client_get (); - -#ifdef HAVE_DCONF_NEW - ret = dconf_client_write_sync (client, dir, NULL, NULL, NULL, error); -#else - ret = dconf_client_write (client, dir, NULL, NULL, NULL, error); -#endif - - g_object_unref (client); - - return ret; -} - -gchar ** -terminal_dconf_list_subdirs (const gchar *dir, - gboolean remove_trailing_slash) -{ - GArray *array; - gchar **children; - int len; - int i; - DConfClient *client = terminal_dconf_client_get (); - - array = g_array_new (TRUE, TRUE, sizeof (gchar *)); - - children = dconf_client_list (client, dir, &len); - - g_object_unref (client); - - for (i = 0; children[i] != NULL; i++) { - if (dconf_is_rel_dir (children[i], NULL)) { - char *val = g_strdup (children[i]); - - if (remove_trailing_slash) - val[strlen (val) - 1] = '\0'; - - array = g_array_append_val (array, val); - } - } - - g_strfreev (children); - - return (gchar **) g_array_free (array, FALSE); -} diff --git a/src/terminal-dconf.h b/src/terminal-dconf.h deleted file mode 100644 index 1d3780d..0000000 --- a/src/terminal-dconf.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -* terminal-dconf.h: helper API for dconf -* -* Copyright (C) 2011 Novell, 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 the Free Software Foundation; either version 2 of the -* License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -* 02111-1307, USA. -* -* Authors: -* Vincent Untz <[email protected]> -*/ - -#ifndef __TERMINAL_DCONF_H__ -#define __TERMINAL_DCONF_H__ - -#include <glib.h> - -G_BEGIN_DECLS - -gboolean terminal_dconf_write_sync (const gchar *key, - GVariant *value, - GError **error); - -gboolean terminal_dconf_recursive_reset (const gchar *dir, - GError **error); - -gchar **terminal_dconf_list_subdirs (const gchar *dir, - gboolean remove_trailing_slash); - -G_END_DECLS - -#endif /* __TERMINAL_DCONF_H__ */ |