Use common dconf functions from libmate-desktop
parent
6767fa71d3
commit
693c6c76c7
14
configure.ac
14
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)"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 <vuntz@gnome.org>
|
||||
* Stefano Karapetsas <stefano@karapetsas.com>
|
||||
*/
|
||||
|
||||
#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);
|
||||
}
|
|
@ -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 <vuntz@gnome.org>
|
||||
*/
|
||||
|
||||
#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__ */
|
Loading…
Reference in New Issue