Drop the sync language loading code
All users have been ported to use the async variant.
This commit is contained in:
parent
a13cf931a9
commit
3be36e735b
4 changed files with 6 additions and 49 deletions
|
@ -181,47 +181,6 @@ cc_common_language_has_font (const gchar *locale)
|
||||||
return is_displayable;
|
return is_displayable;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
cc_common_language_add_available_languages (GtkListStore *store,
|
|
||||||
GHashTable *user_langs)
|
|
||||||
{
|
|
||||||
char **languages;
|
|
||||||
int i;
|
|
||||||
char *name;
|
|
||||||
char *language;
|
|
||||||
GtkTreeIter iter;
|
|
||||||
|
|
||||||
languages = gdm_get_all_language_names ();
|
|
||||||
|
|
||||||
for (i = 0; languages[i] != NULL; i++) {
|
|
||||||
name = gdm_normalize_language_name (languages[i]);
|
|
||||||
if (g_hash_table_lookup (user_langs, name) != NULL) {
|
|
||||||
g_free (name);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!cc_common_language_has_font (languages[i])) {
|
|
||||||
g_free (name);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
language = gdm_get_language_from_name (name, NULL);
|
|
||||||
if (!language) {
|
|
||||||
g_debug ("Ignoring '%s' as a locale, because we couldn't figure the language name", name);
|
|
||||||
g_free (name);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_list_store_append (store, &iter);
|
|
||||||
gtk_list_store_set (store, &iter, LOCALE_COL, name, DISPLAY_LOCALE_COL, language, -1);
|
|
||||||
|
|
||||||
g_free (name);
|
|
||||||
g_free (language);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_strfreev (languages);
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GtkListStore *store;
|
GtkListStore *store;
|
||||||
|
@ -284,8 +243,8 @@ add_one_language (gpointer d)
|
||||||
}
|
}
|
||||||
|
|
||||||
guint
|
guint
|
||||||
cc_common_language_add_available_languages_async (GtkListStore *store,
|
cc_common_language_add_available_languages (GtkListStore *store,
|
||||||
GHashTable *user_langs)
|
GHashTable *user_langs)
|
||||||
{
|
{
|
||||||
AsyncLangData *data;
|
AsyncLangData *data;
|
||||||
|
|
||||||
|
|
|
@ -37,10 +37,8 @@ enum {
|
||||||
gboolean cc_common_language_get_iter_for_language (GtkTreeModel *model,
|
gboolean cc_common_language_get_iter_for_language (GtkTreeModel *model,
|
||||||
const gchar *lang,
|
const gchar *lang,
|
||||||
GtkTreeIter *iter);
|
GtkTreeIter *iter);
|
||||||
void cc_common_language_add_available_languages (GtkListStore *store,
|
guint cc_common_language_add_available_languages (GtkListStore *store,
|
||||||
GHashTable *user_langs);
|
GHashTable *user_langs);
|
||||||
guint cc_common_language_add_available_languages_async (GtkListStore *store,
|
|
||||||
GHashTable *user_langs);
|
|
||||||
gboolean cc_common_language_has_font (const gchar *locale);
|
gboolean cc_common_language_has_font (const gchar *locale);
|
||||||
gchar *cc_common_language_get_current_language (void);
|
gchar *cc_common_language_get_current_language (void);
|
||||||
|
|
||||||
|
|
|
@ -235,7 +235,7 @@ finish_language_setup (gpointer user_data)
|
||||||
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
||||||
user_langs = g_object_get_data (G_OBJECT (list), "user-langs");
|
user_langs = g_object_get_data (G_OBJECT (list), "user-langs");
|
||||||
|
|
||||||
async_id = cc_common_language_add_available_languages_async (GTK_LIST_STORE (model), user_langs);
|
async_id = cc_common_language_add_available_languages (GTK_LIST_STORE (model), user_langs);
|
||||||
|
|
||||||
g_object_set_data_full (G_OBJECT (list), "language-async",
|
g_object_set_data_full (G_OBJECT (list), "language-async",
|
||||||
GUINT_TO_POINTER (async_id), remove_async);
|
GUINT_TO_POINTER (async_id), remove_async);
|
||||||
|
|
|
@ -217,7 +217,7 @@ finish_um_language_chooser (gpointer user_data)
|
||||||
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));
|
||||||
user_langs = g_object_get_data (G_OBJECT (chooser), "user-langs");
|
user_langs = g_object_get_data (G_OBJECT (chooser), "user-langs");
|
||||||
|
|
||||||
async_id = cc_common_language_add_available_languages_async (GTK_LIST_STORE (model), user_langs);
|
async_id = cc_common_language_add_available_languages (GTK_LIST_STORE (model), user_langs);
|
||||||
g_object_set_data_full (G_OBJECT (chooser), "language-async", GUINT_TO_POINTER (async_id), remove_async);
|
g_object_set_data_full (G_OBJECT (chooser), "language-async", GUINT_TO_POINTER (async_id), remove_async);
|
||||||
|
|
||||||
parent = gtk_window_get_transient_for (GTK_WINDOW (chooser));
|
parent = gtk_window_get_transient_for (GTK_WINDOW (chooser));
|
||||||
|
|
Loading…
Add table
Reference in a new issue