diff options
| author | Gunnar Hjalmarsson <ubuntu@gunnar.cc> | 2011-11-29 15:42:03 +1100 |
|---|---|---|
| committer | Robert Ancell <robert.ancell@canonical.com> | 2011-11-29 15:42:03 +1100 |
| commit | eb8535ed41ae4ef07bbfd123708314677dce6dc2 (patch) | |
| tree | e06e596030461a3a2fc3473c898b4c0bdef1f769 /src | |
| parent | 52400c5d1bae8138949e2f0bff1b63c9a7f1e4b8 (diff) | |
Language chooser modifications:
* Save item that is selected from the language chooser also when AccountsService is in use. * Use nl_langinfo() to get language and country names for the language chooser labels. * Translate language and country names. * Handle @variants properly.
Diffstat (limited to 'src')
| -rw-r--r-- | src/accounts.c | 9 | ||||
| -rw-r--r-- | src/accounts.h | 2 | ||||
| -rw-r--r-- | src/greeter.c | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/accounts.c b/src/accounts.c index 2504a48b..cef5136e 100644 --- a/src/accounts.c +++ b/src/accounts.c @@ -354,11 +354,14 @@ user_get_locale (User *user) } void -user_set_locale (User *user, const gchar *locale) +user_set_language (User *user, const gchar *language) { g_return_if_fail (user != NULL); - if (!user->priv->proxy) - save_string_to_dmrc (user->priv->name, "Desktop", "Language", locale); + + if (user->priv->proxy) + call_method (user->priv->proxy, "SetLanguage", g_variant_new ("(s)", language), "()", NULL); + else + save_string_to_dmrc (user->priv->name, "Desktop", "Language", language); } void diff --git a/src/accounts.h b/src/accounts.h index 03165b71..8bd52479 100644 --- a/src/accounts.h +++ b/src/accounts.h @@ -60,7 +60,7 @@ void user_set_xsession (User *user, const gchar *session); const gchar *user_get_locale (User *user); -void user_set_locale (User *user, const gchar *language); +void user_set_language (User *user, const gchar *language); G_END_DECLS diff --git a/src/greeter.c b/src/greeter.c index 0fb18ab8..68e3c567 100644 --- a/src/greeter.c +++ b/src/greeter.c @@ -442,7 +442,7 @@ handle_set_language (Greeter *greeter, const gchar *language) g_debug ("Greeter sets language %s", language); user = pam_session_get_user (greeter->priv->authentication); - user_set_locale (user, language); + user_set_language (user, language); } static guint32 |
