[gnome-control-center] region: Display user settings in new System tab



commit 41007a89647cf01b1962cc8a4a5cee036c42dfaf
Author: Rodrigo Moya <rodrigo gnome-db org>
Date:   Mon Jul 4 13:59:20 2011 +0200

    region: Display user settings in new System tab

 panels/region/gnome-region-panel-system.c |   37 +++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 2 deletions(-)
---
diff --git a/panels/region/gnome-region-panel-system.c b/panels/region/gnome-region-panel-system.c
index 2393f89..326deb9 100644
--- a/panels/region/gnome-region-panel-system.c
+++ b/panels/region/gnome-region-panel-system.c
@@ -29,12 +29,45 @@
 
 static GSettings *locale_settings;
 
+static void
+locale_settings_changed (GSettings *settings,
+			 const gchar *key,
+			 gpointer user_data)
+{
+	gchar *language, *display_language;
+	GtkBuilder *builder = GTK_BUILDER (user_data);
+
+	if (g_str_equal (key, "region")) {
+		language = g_settings_get_string (locale_settings, "region");
+		display_language = gdm_get_language_from_name (language, NULL);
+		gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "user_format")),
+				    display_language);
+		g_free (language);
+		g_free (display_language);
+	}
+}
+
 void
 setup_system (GtkBuilder *builder)
 {
-	gchar *user_language;
+	gchar *language, *display_language;
+
+	/* Display user settings */
+	language = cc_common_language_get_current_language ();
+	display_language = gdm_get_language_from_name (language, NULL);
+	gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "user_display_language")),
+			   display_language);
+	g_free (language);
+	g_free (display_language);
 
 	locale_settings = g_settings_new ("org.gnome.system.locale");
+	g_signal_connect (locale_settings, "changed",
+			  G_CALLBACK (locale_settings_changed), builder);
 
-	user_language = cc_common_language_get_current_language ();
+	language = g_settings_get_string (locale_settings, "region");
+	display_language = gdm_get_language_from_name (language, NULL);
+	gtk_label_set_text (GTK_LABEL (gtk_builder_get_object (builder, "user_format")),
+			    display_language);
+	g_free (language);
+	g_free (display_language);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]