Commit 2f0d4b68 authored by Matthias Clasen's avatar Matthias Clasen

Add gtk_settings_reset_property

This api undoes an application-specific override and makes the
setting follow the system-wide values again.

https://bugzilla.gnome.org/show_bug.cgi?id=755008
parent d930ea7c
......@@ -3294,6 +3294,7 @@ gtk_settings_set_property_value
gtk_settings_set_string_property
gtk_settings_set_long_property
gtk_settings_set_double_property
gtk_settings_reset_property
GtkIMPreeditStyle
GtkIMStatusStyle
<SUBSECTION Standard>
......
......@@ -3395,3 +3395,31 @@ _gtk_settings_get_setting_source (GtkSettings *settings,
return priv->property_values[pspec->param_id - 1].source;
}
/**
* gtk_settings_reset_property:
* @settings: a #GtkSettings object
* @name: the name of the setting to reset
*
* Undoes the effect of calling g_object_set() to install an
* application-specific value for a setting. After this call,
* the setting will again follow the session-wide value for
* this setting.
*
* Since: 3.20
*/
void
gtk_settings_reset_property (GtkSettings *settings,
const gchar *name)
{
GtkSettingsPrivate *priv = settings->priv;
GParamSpec *pspec;
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (settings), name);
g_return_if_fail (pspec != NULL);
g_param_value_set_default (pspec, &priv->property_values[pspec->param_id - 1].value);
priv->property_values[pspec->param_id - 1].source = GTK_SETTINGS_SOURCE_DEFAULT;
}
......@@ -140,6 +140,9 @@ void gtk_settings_set_double_property (GtkSettings *settings,
gdouble v_double,
const gchar *origin);
GDK_AVAILABLE_IN_3_20
void gtk_settings_reset_property (GtkSettings *settings,
const gchar *name);
G_END_DECLS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment