gdm r6038 - in trunk: . gui/simple-greeter



Author: mccann
Date: Tue Mar 18 01:05:34 2008
New Revision: 6038
URL: http://svn.gnome.org/viewvc/gdm?rev=6038&view=rev

Log:
2008-03-17  William Jon McCann  <jmccann redhat com>

	* gui/simple-greeter/gdm-language-chooser-widget.c:
	(gdm_language_chooser_widget_add_language):
	* gui/simple-greeter/gdm-language-option-widget.c:
	(gdm_language_option_widget_lookup_item):
	* gui/simple-greeter/gdm-languages.c: (get_translated_language),
	(get_translated_territory), (gdm_get_language_from_name):
	* gui/simple-greeter/gdm-languages.h:
	Show name in current language in a tooltip.
	From: Matthias Clasen <mclasen redhat com>



Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-language-chooser-widget.c
   trunk/gui/simple-greeter/gdm-language-option-widget.c
   trunk/gui/simple-greeter/gdm-languages.c
   trunk/gui/simple-greeter/gdm-languages.h

Modified: trunk/gui/simple-greeter/gdm-language-chooser-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-language-chooser-widget.c	(original)
+++ trunk/gui/simple-greeter/gdm-language-chooser-widget.c	Tue Mar 18 01:05:34 2008
@@ -117,21 +117,24 @@
 {
         char *language;
         char *normalized_name;
+        char *readable_language;
 
         normalized_name = gdm_normalize_language_name (name);
-        language = gdm_get_language_from_name (normalized_name);
+        language = gdm_get_language_from_name (normalized_name, normalized_name);
+        readable_language = gdm_get_language_from_name (normalized_name, NULL);
 
         if (language != NULL) {
                 gdm_chooser_widget_add_item (GDM_CHOOSER_WIDGET (widget),
                                              normalized_name,
                                              NULL,
                                              language,
-                                             "",
+                                             readable_language,
                                              0,
                                              FALSE,
                                              FALSE);
                 g_free (language);
         }
+        g_free (readable_language);
 
         g_free (normalized_name);
 }

Modified: trunk/gui/simple-greeter/gdm-language-option-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-language-option-widget.c	(original)
+++ trunk/gui/simple-greeter/gdm-language-option-widget.c	Tue Mar 18 01:05:34 2008
@@ -144,15 +144,18 @@
                                         char                 **comment)
 {
         char *language;
+        char *readable_language;
 
-        language = gdm_get_language_from_name (locale);
+        language = gdm_get_language_from_name (locale, locale);
 
         if (language == NULL) {
                 return FALSE;
         }
 
+        readable_language = gdm_get_language_from_name (locale, NULL);
+
         *name = language;
-        *comment = g_strdup ("");
+        *comment = readable_language;
 
         return TRUE;
 }

Modified: trunk/gui/simple-greeter/gdm-languages.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-languages.c	(original)
+++ trunk/gui/simple-greeter/gdm-languages.c	Tue Mar 18 01:05:34 2008
@@ -630,16 +630,19 @@
                 const char  *translated_name;
                 char        *old_locale;
 
-                old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
-                setlocale (LC_MESSAGES, locale);
-                translated_name = dgettext ("iso_639", language);
+                if (locale != NULL) {
+                        old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
+                        setlocale (LC_MESSAGES, locale);
+                }
 
+                translated_name = dgettext ("iso_639", language);
                 name = get_first_item_in_semicolon_list (translated_name);
 
-                setlocale (LC_MESSAGES, old_locale);
-                g_free (old_locale);
-
-            }
+                if (locale != NULL) {
+                        setlocale (LC_MESSAGES, old_locale);
+                        g_free (old_locale);
+                }
+        }
 
         return name;
 }
@@ -676,13 +679,18 @@
                 const char *translated_territory;
                 char       *old_locale;
 
-                old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
-                setlocale (LC_MESSAGES, locale);
-                translated_territory = dgettext ("iso_3166", territory);
-                setlocale (LC_MESSAGES, old_locale);
-                g_free (old_locale);
+                if (locale != NULL) {
+                        old_locale = g_strdup (setlocale (LC_MESSAGES, NULL));
+                        setlocale (LC_MESSAGES, locale);
+                }
 
+                translated_territory = dgettext ("iso_3166", territory);
                 name = get_first_item_in_semicolon_list (translated_territory);
+
+                if (locale != NULL) {
+                        setlocale (LC_MESSAGES, old_locale);
+                        g_free (old_locale);
+                }
         }
 
         return name;
@@ -929,7 +937,8 @@
 }
 
 char *
-gdm_get_language_from_name (const char *name)
+gdm_get_language_from_name (const char *name,
+                            const char *locale)
 {
         char *full_language;
         char *language_code;
@@ -956,10 +965,10 @@
                 goto out;
         }
 
-        language = get_translated_language (language_code, name);
+        language = get_translated_language (language_code, locale);
 
         if (territory_code != NULL) {
-                territory = get_translated_territory (territory_code, name);
+                territory = get_translated_territory (territory_code, locale);
         } else {
                 territory = NULL;
         }

Modified: trunk/gui/simple-greeter/gdm-languages.h
==============================================================================
--- trunk/gui/simple-greeter/gdm-languages.h	(original)
+++ trunk/gui/simple-greeter/gdm-languages.h	Tue Mar 18 01:05:34 2008
@@ -26,14 +26,15 @@
 
 G_BEGIN_DECLS
 
-char *                 gdm_get_language_from_name (const char *name);
-char **                gdm_get_all_language_names (void);
-void                   gdm_parse_language_name (const char *name,
-                                                char      **language_codep,
-                                                char      **territory_codep,
-                                                char      **codesetp,
-                                                char      **modifierp);
-char *                 gdm_normalize_language_name (const char *name);
+char *        gdm_get_language_from_name  (const char *name,
+                                           const char *locale);
+char **       gdm_get_all_language_names  (void);
+void          gdm_parse_language_name     (const char *name,
+                                           char      **language_codep,
+                                           char      **territory_codep,
+                                           char      **codesetp,
+                                           char      **modifierp);
+char *        gdm_normalize_language_name (const char *name);
 
 G_END_DECLS
 



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