[accounts-dialog] Only load session language for the current user
- From: Bastien Nocera <hadess src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [accounts-dialog] Only load session language for the current user
- Date: Wed, 27 Jan 2010 11:35:45 +0000 (UTC)
commit b93af89ea0224fbb9119b1fe993c2c605a012349
Author: Bastien Nocera <hadess hadess net>
Date: Wed Jan 27 11:32:08 2010 +0000
Only load session language for the current user
If it's not available in the accounts service. Also make sure
that we propagate the session language as the default language
if unset.
src/um-language-dialog.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/src/um-language-dialog.c b/src/um-language-dialog.c
index 0db603d..e648c65 100644
--- a/src/um-language-dialog.c
+++ b/src/um-language-dialog.c
@@ -48,20 +48,25 @@ struct _UmLanguageDialog {
char *language;
UmUser *user;
+
+ gboolean force_setting;
};
enum {
- LOCALE_COL,
- DISPLAY_LOCALE_COL,
- NUM_COLS
+ LOCALE_COL,
+ DISPLAY_LOCALE_COL,
+ NUM_COLS
};
static void
cancel_language_dialog (GtkButton *button,
UmLanguageDialog *um)
{
+ if (um->force_setting != FALSE)
+ um_user_set_language (um->user, um->language);
gtk_widget_hide (um->dialog);
um_language_dialog_set_user (um, NULL);
+
}
static void
@@ -518,6 +523,8 @@ um_language_dialog_set_user (UmLanguageDialog *um,
g_free (um->language);
um->language = NULL;
}
+ um->force_setting = FALSE;
+
um->user = user;
if (um->user) {
const gchar *language;
@@ -536,7 +543,7 @@ um_language_dialog_set_user (UmLanguageDialog *um,
language = um_user_get_language (user);
if (language) {
select_language (um, language);
- } else {
+ } else if (um_user_get_uid (user) == getuid ()) {
const char *locale;
char *lang;
@@ -545,6 +552,7 @@ um_language_dialog_set_user (UmLanguageDialog *um,
select_language (um, lang);
g_free (lang);
+ um->force_setting = TRUE;
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]