mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Handle deprecation of g_settings_list_keys in gio 2.46
This commit is contained in:
parent
8acbc41c61
commit
dcef648044
@ -334,8 +334,15 @@ AM_BINRELOC
|
|||||||
### Glib checks.
|
### Glib checks.
|
||||||
|
|
||||||
# We require glib >= 2.40
|
# We require glib >= 2.40
|
||||||
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.40 gthread-2.0
|
# 2.46 deprecates g_settings_list_keys
|
||||||
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.46 gio-2.0 gthread-2.0 gobject-2.0 gmodule-2.0,
|
||||||
|
[
|
||||||
|
AC_DEFINE([HAVE_GLIB_2_46], [1], [Configure g_settings_list_keys deprecation])
|
||||||
|
],
|
||||||
|
[
|
||||||
|
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.40 gio-2.0 gthread-2.0
|
||||||
gobject-2.0 gmodule-2.0)
|
gobject-2.0 gmodule-2.0)
|
||||||
|
])
|
||||||
|
|
||||||
AC_CHECK_HEADERS(dirent.h dlfcn.h dl.h utmp.h locale.h mcheck.h unistd.h wctype.h)
|
AC_CHECK_HEADERS(dirent.h dlfcn.h dl.h utmp.h locale.h mcheck.h unistd.h wctype.h)
|
||||||
|
|
||||||
|
@ -100,6 +100,10 @@ IF (APPLE)
|
|||||||
|
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
|
IF(GLIB2_VERSION VERSION_GREATER 2.46.0 OR GLIB2_VERSION VERSION_EQUAL 2.46.0)
|
||||||
|
SET(HAVE_GLIB_2_46 1)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(DISABLE_DEPRECATED_GNOME)
|
IF(DISABLE_DEPRECATED_GNOME)
|
||||||
SET(GNOME_DISABLE_DEPRECATED 1)
|
SET(GNOME_DISABLE_DEPRECATED 1)
|
||||||
ENDIF(DISABLE_DEPRECATED_GNOME)
|
ENDIF(DISABLE_DEPRECATED_GNOME)
|
||||||
|
@ -64,13 +64,27 @@ static gboolean gnc_gsettings_is_valid_key(GSettings *settings, const gchar *key
|
|||||||
gchar **keys = NULL;
|
gchar **keys = NULL;
|
||||||
gint i = 0;
|
gint i = 0;
|
||||||
gboolean found = FALSE;
|
gboolean found = FALSE;
|
||||||
|
#ifdef HAVE_GLIB_2_46
|
||||||
|
GSettingsSchema *schema;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Check if the key is valid key within settings
|
// Check if the key is valid key within settings
|
||||||
if (!G_IS_SETTINGS(settings))
|
if (!G_IS_SETTINGS(settings))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
#ifdef HAVE_GLIB_2_46
|
||||||
|
g_object_get (settings, "settings-schema", &schema, NULL);
|
||||||
|
|
||||||
|
if (!schema)
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Get list of keys
|
// Get list of keys
|
||||||
|
#ifdef HAVE_GLIB_2_46
|
||||||
|
keys = g_settings_schema_list_keys(schema);
|
||||||
|
#else
|
||||||
keys = g_settings_list_keys(settings);
|
keys = g_settings_list_keys(settings);
|
||||||
|
#endif
|
||||||
|
|
||||||
while (keys && keys[i])
|
while (keys && keys[i])
|
||||||
{
|
{
|
||||||
@ -88,7 +102,7 @@ static gboolean gnc_gsettings_is_valid_key(GSettings *settings, const gchar *key
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GSettings * gnc_gsettings_get_schema_ptr (const gchar *schema_str)
|
static GSettings * gnc_gsettings_get_settings_ptr (const gchar *schema_str)
|
||||||
{
|
{
|
||||||
GSettings *gset = NULL;
|
GSettings *gset = NULL;
|
||||||
gchar *full_name = gnc_gsettings_normalize_schema_name (schema_str);
|
gchar *full_name = gnc_gsettings_normalize_schema_name (schema_str);
|
||||||
@ -173,21 +187,21 @@ gnc_gsettings_register_cb (const gchar *schema,
|
|||||||
gulong retval = 0;
|
gulong retval = 0;
|
||||||
gchar *signal = NULL;
|
gchar *signal = NULL;
|
||||||
|
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
|
|
||||||
ENTER("");
|
ENTER("");
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), retval);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), retval);
|
||||||
g_return_val_if_fail (func, retval);
|
g_return_val_if_fail (func, retval);
|
||||||
|
|
||||||
if ((!key) || (*key == '\0'))
|
if ((!key) || (*key == '\0'))
|
||||||
signal = g_strdup ("changed");
|
signal = g_strdup ("changed");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gnc_gsettings_is_valid_key(schema_ptr, key))
|
if (gnc_gsettings_is_valid_key(settings_ptr, key))
|
||||||
signal = g_strconcat ("changed::", key, NULL);
|
signal = g_strconcat ("changed::", key, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = g_signal_connect (schema_ptr, signal, G_CALLBACK (func), user_data);
|
retval = g_signal_connect (settings_ptr, signal, G_CALLBACK (func), user_data);
|
||||||
|
|
||||||
g_free (signal);
|
g_free (signal);
|
||||||
|
|
||||||
@ -205,17 +219,17 @@ gnc_gsettings_remove_cb_by_func (const gchar *schema,
|
|||||||
gint matched = 0;
|
gint matched = 0;
|
||||||
GQuark quark = 0;
|
GQuark quark = 0;
|
||||||
|
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_if_fail (G_IS_SETTINGS (schema_ptr));
|
g_return_if_fail (G_IS_SETTINGS (settings_ptr));
|
||||||
g_return_if_fail (func);
|
g_return_if_fail (func);
|
||||||
|
|
||||||
ENTER ();
|
ENTER ();
|
||||||
|
|
||||||
if ((key) && (gnc_gsettings_is_valid_key(schema_ptr, key)))
|
if ((key) && (gnc_gsettings_is_valid_key(settings_ptr, key)))
|
||||||
quark = g_quark_from_string (key);
|
quark = g_quark_from_string (key);
|
||||||
|
|
||||||
matched = g_signal_handlers_disconnect_matched (
|
matched = g_signal_handlers_disconnect_matched (
|
||||||
schema_ptr,
|
settings_ptr,
|
||||||
G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
|
G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
|
||||||
g_signal_lookup ("changed", G_TYPE_SETTINGS), /* signal_id */
|
g_signal_lookup ("changed", G_TYPE_SETTINGS), /* signal_id */
|
||||||
quark, /* signal_detail */
|
quark, /* signal_detail */
|
||||||
@ -230,10 +244,10 @@ void
|
|||||||
gnc_gsettings_remove_cb_by_id (const gchar *schema,
|
gnc_gsettings_remove_cb_by_id (const gchar *schema,
|
||||||
guint handlerid)
|
guint handlerid)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_if_fail (G_IS_SETTINGS (schema_ptr));
|
g_return_if_fail (G_IS_SETTINGS (settings_ptr));
|
||||||
|
|
||||||
g_signal_handler_disconnect (schema_ptr, handlerid);
|
g_signal_handler_disconnect (settings_ptr, handlerid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -260,11 +274,11 @@ void gnc_gsettings_bind (const gchar *schema,
|
|||||||
gpointer object,
|
gpointer object,
|
||||||
const gchar *property)
|
const gchar *property)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_if_fail (G_IS_SETTINGS (schema_ptr));
|
g_return_if_fail (G_IS_SETTINGS (settings_ptr));
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
g_settings_bind (schema_ptr, key, object, property, 0);
|
g_settings_bind (settings_ptr, key, object, property, 0);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -279,11 +293,11 @@ gboolean
|
|||||||
gnc_gsettings_get_bool (const gchar *schema,
|
gnc_gsettings_get_bool (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_boolean (schema_ptr, key);
|
return g_settings_get_boolean (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -297,13 +311,13 @@ gnc_gsettings_set_bool (const gchar *schema,
|
|||||||
gboolean value)
|
gboolean value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
ENTER("schema: %s, key: %s", schema, key);
|
ENTER("schema: %s, key: %s", schema, key);
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_boolean (schema_ptr, key, value);
|
result = g_settings_set_boolean (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -318,11 +332,11 @@ gint
|
|||||||
gnc_gsettings_get_int (const gchar *schema,
|
gnc_gsettings_get_int (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), 0);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), 0);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_int (schema_ptr, key);
|
return g_settings_get_int (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -336,12 +350,12 @@ gnc_gsettings_set_int (const gchar *schema,
|
|||||||
gint value)
|
gint value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_int (schema_ptr, key, value);
|
result = g_settings_set_int (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -355,11 +369,11 @@ gdouble
|
|||||||
gnc_gsettings_get_float (const gchar *schema,
|
gnc_gsettings_get_float (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), 0);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), 0);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_double (schema_ptr, key);
|
return g_settings_get_double (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -373,12 +387,12 @@ gnc_gsettings_set_float (const gchar *schema,
|
|||||||
gdouble value)
|
gdouble value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_double (schema_ptr, key, value);
|
result = g_settings_set_double (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -392,11 +406,11 @@ gchar *
|
|||||||
gnc_gsettings_get_string (const gchar *schema,
|
gnc_gsettings_get_string (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), NULL);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), NULL);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_string (schema_ptr, key);
|
return g_settings_get_string (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -410,13 +424,13 @@ gnc_gsettings_set_string (const gchar *schema,
|
|||||||
const gchar *value)
|
const gchar *value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
ENTER("schema: %s, key: %s", schema, key);
|
ENTER("schema: %s, key: %s", schema, key);
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_string (schema_ptr, key, value);
|
result = g_settings_set_string (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -431,11 +445,11 @@ gint
|
|||||||
gnc_gsettings_get_enum (const gchar *schema,
|
gnc_gsettings_get_enum (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), 0);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), 0);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_enum (schema_ptr, key);
|
return g_settings_get_enum (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -449,12 +463,12 @@ gnc_gsettings_set_enum (const gchar *schema,
|
|||||||
gint value)
|
gint value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_enum (schema_ptr, key, value);
|
result = g_settings_set_enum (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -468,11 +482,11 @@ GVariant *
|
|||||||
gnc_gsettings_get_value (const gchar *schema,
|
gnc_gsettings_get_value (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), NULL);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), NULL);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
return g_settings_get_value (schema_ptr, key);
|
return g_settings_get_value (settings_ptr, key);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
@ -486,12 +500,12 @@ gnc_gsettings_set_value (const gchar *schema,
|
|||||||
GVariant *value)
|
GVariant *value)
|
||||||
{
|
{
|
||||||
gboolean result = FALSE;
|
gboolean result = FALSE;
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_val_if_fail (G_IS_SETTINGS (schema_ptr), FALSE);
|
g_return_val_if_fail (G_IS_SETTINGS (settings_ptr), FALSE);
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
{
|
{
|
||||||
result = g_settings_set_value (schema_ptr, key, value);
|
result = g_settings_set_value (settings_ptr, key, value);
|
||||||
if (!result)
|
if (!result)
|
||||||
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
PERR ("Unable to set value for key %s in schema %s", key, schema);
|
||||||
}
|
}
|
||||||
@ -505,29 +519,47 @@ void
|
|||||||
gnc_gsettings_reset (const gchar *schema,
|
gnc_gsettings_reset (const gchar *schema,
|
||||||
const gchar *key)
|
const gchar *key)
|
||||||
{
|
{
|
||||||
GSettings *schema_ptr = gnc_gsettings_get_schema_ptr (schema);
|
GSettings *settings_ptr = gnc_gsettings_get_settings_ptr (schema);
|
||||||
g_return_if_fail (G_IS_SETTINGS (schema_ptr));
|
g_return_if_fail (G_IS_SETTINGS (settings_ptr));
|
||||||
|
|
||||||
if (gnc_gsettings_is_valid_key (schema_ptr, key))
|
if (gnc_gsettings_is_valid_key (settings_ptr, key))
|
||||||
g_settings_reset (schema_ptr, key);
|
g_settings_reset (settings_ptr, key);
|
||||||
else
|
else
|
||||||
PERR ("Invalid key %s for schema %s", key, schema);
|
PERR ("Invalid key %s for schema %s", key, schema);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gnc_gsettings_reset_schema (const gchar *schema)
|
gnc_gsettings_reset_schema (const gchar *schema_str)
|
||||||
{
|
{
|
||||||
gchar **keys;
|
gchar **keys;
|
||||||
gint counter = 0;
|
gint counter = 0;
|
||||||
|
|
||||||
keys = g_settings_list_keys (gnc_gsettings_get_schema_ptr (schema));
|
#ifdef HAVE_GLIB_2_46
|
||||||
|
GSettingsSchema *schema;
|
||||||
|
#endif
|
||||||
|
GSettings *settings = gnc_gsettings_get_settings_ptr (schema_str);
|
||||||
|
|
||||||
|
if (!settings)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#ifdef HAVE_GLIB_2_46
|
||||||
|
g_object_get (settings, "settings-schema", &schema, NULL);
|
||||||
|
|
||||||
|
if (!schema)
|
||||||
|
return;
|
||||||
|
|
||||||
|
keys = g_settings_schema_list_keys (schema);
|
||||||
|
#else
|
||||||
|
keys = g_settings_list_keys (settings);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if (!keys)
|
if (!keys)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while (keys[counter])
|
while (keys[counter])
|
||||||
{
|
{
|
||||||
gnc_gsettings_reset (schema, keys[counter]);
|
gnc_gsettings_reset (schema_str, keys[counter]);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,6 +122,9 @@
|
|||||||
/* Define to 1 if you have the `getuid' function. */
|
/* Define to 1 if you have the `getuid' function. */
|
||||||
#cmakedefine HAVE_GETUID 1
|
#cmakedefine HAVE_GETUID 1
|
||||||
|
|
||||||
|
/* Configure g_settings_list_keys deprecation */
|
||||||
|
#cmakedefine HAVE_GLIB_2_46 1
|
||||||
|
|
||||||
/* Define to 1 if you have the <glob.h> header file. */
|
/* Define to 1 if you have the <glob.h> header file. */
|
||||||
#cmakedefine HAVE_GLOB_H 1
|
#cmakedefine HAVE_GLOB_H 1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user