From 8e8764286d4a3f65839dfdd4019b4f22fe3eabe4 Mon Sep 17 00:00:00 2001 From: Stefano Karapetsas Date: Wed, 5 Sep 2012 14:00:24 +0200 Subject: convert date-format to gsettings add eel_g_settings_add_auto_enum in eel/eel-glib-extensions.c --- eel/eel-glib-extensions.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'eel/eel-glib-extensions.c') diff --git a/eel/eel-glib-extensions.c b/eel/eel-glib-extensions.c index 80180054..1014c2b0 100644 --- a/eel/eel-glib-extensions.c +++ b/eel/eel-glib-extensions.c @@ -1024,6 +1024,30 @@ eel_get_filename_charset (const gchar **filename_charset) return cache->is_utf8; } +static void +update_auto_enum (GSettings *settings, + const gchar *key, + gpointer user_data) +{ + int *storage = user_data; + + *storage = g_settings_get_enum (settings, key); +} + +void +eel_g_settings_add_auto_enum (GSettings *settings, + const char *key, + int *storage) +{ + char *signal; + + *storage = g_settings_get_enum (settings, key); + signal = g_strconcat ("changed::", key, NULL); + g_signal_connect (settings, signal, + G_CALLBACK(update_auto_enum), + storage); +} + #if !defined (EEL_OMIT_SELF_CHECK) static void -- cgit v1.2.1