aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-settings-dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell-settings-dialog.c')
-rw-r--r--shell/e-shell-settings-dialog.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/shell/e-shell-settings-dialog.c b/shell/e-shell-settings-dialog.c
index 8d72da9291..67dc214b41 100644
--- a/shell/e-shell-settings-dialog.c
+++ b/shell/e-shell-settings-dialog.c
@@ -148,9 +148,9 @@ load_pages (EShellSettingsDialog *dialog)
{
EShellSettingsDialogPrivate *priv;
Bonobo_ServerInfoList *control_list;
+ const gchar * const *language_names;
CORBA_Environment ev;
- const GList *l;
- GSList *language_list;
+ GSList *languages = NULL;
GList *page_list;
GList *p;
int i, j;
@@ -168,10 +168,9 @@ load_pages (EShellSettingsDialog *dialog)
CORBA_exception_free (&ev);
- /* Great, one uses GList the other GSList (!) */
- l = gnome_i18n_get_language_list("LC_MESSAGES");
- for (language_list=NULL;l;l=l->next)
- language_list = g_slist_append(language_list, l->data);
+ language_names = g_get_language_names ();
+ while (*language_names != NULL)
+ languages = g_list_append (languages, *language_names++);
page_list = NULL;
for (i = 0; i < control_list->_length; i ++) {
@@ -189,8 +188,8 @@ load_pages (EShellSettingsDialog *dialog)
info = & control_list->_buffer[i];
- title = bonobo_server_info_prop_lookup (info, "evolution2:config_item:title", language_list);
- description = bonobo_server_info_prop_lookup (info, "evolution2:config_item:description", language_list);
+ title = bonobo_server_info_prop_lookup (info, "evolution2:config_item:title", languages);
+ description = bonobo_server_info_prop_lookup (info, "evolution2:config_item:description", languages);
icon_path = bonobo_server_info_prop_lookup (info, "evolution2:config_item:icon_name", NULL);
type = bonobo_server_info_prop_find (info, "evolution2:config_item:type");
priority_string = bonobo_server_info_prop_lookup (info, "evolution2:config_item:priority", NULL);
@@ -232,7 +231,7 @@ load_pages (EShellSettingsDialog *dialog)
CORBA_exception_free (&ev);
}
- g_slist_free(language_list);
+ g_slist_free(languages);
page_list = sort_page_list (page_list);
for (p = page_list, i = 0; p != NULL; p = p->next, i++) {