[gnome-control-center] cc-common-language.c: Remove a bunch of unused code



commit c244568f0b42036ee166e7fd80de07fb07bb8844
Author: Rui Matos <tiagomatos gmail com>
Date:   Tue Jan 21 15:37:08 2014 +0100

    cc-common-language.c: Remove a bunch of unused code
    
    This stopped being used in the last region panel re-design. See commit
    35d920f1b887fb0f1df243e4d80ef8165a4f772e .
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710412

 panels/common/cc-common-language.c |  438 ------------------------------------
 1 files changed, 0 insertions(+), 438 deletions(-)
---
diff --git a/panels/common/cc-common-language.c b/panels/common/cc-common-language.c
index 2a8c925..2f75431 100644
--- a/panels/common/cc-common-language.c
+++ b/panels/common/cc-common-language.c
@@ -36,62 +36,6 @@
 
 static char *get_lang_for_user_object_path (const char *path);
 
-static gint
-cc_common_language_sort_languages (GtkTreeModel *model,
-                                  GtkTreeIter  *a,
-                                  GtkTreeIter  *b,
-                                  gpointer      data)
-{
-        char *ca, *cb;
-        char *la, *lb;
-        gboolean sa, ula;
-        gboolean sb, ulb;
-        gint result;
-
-       gtk_tree_model_get (model, a,
-                           LOCALE_COL, &ca,
-                           DISPLAY_LOCALE_COL, &la,
-                           SEPARATOR_COL, &sa,
-                           USER_LANGUAGE, &ula,
-                           -1);
-       gtk_tree_model_get (model, b,
-                           LOCALE_COL, &cb,
-                           DISPLAY_LOCALE_COL, &lb,
-                           SEPARATOR_COL, &sb,
-                           USER_LANGUAGE, &ulb,
-                           -1);
-
-       /* Sort before and after separator first */
-       if (sa && sb)
-               result = 0;
-       else if (sa)
-               result = ulb ? 1 : -1;
-       else if (sb)
-               result = ula ? -1 : 1;
-
-       /* Sort user-languages first */
-       else if (ula != ulb) {
-               if (ula)
-                       result = -1;
-               else
-                       result = 1;
-       }
-
-        else if (!ca)
-                result = 1;
-        else if (!cb)
-                result = -1;
-        else
-                result = strcmp (la, lb);
-
-        g_free (ca);
-        g_free (cb);
-        g_free (la);
-        g_free (lb);
-
-        return result;
-}
-
 static gboolean
 iter_for_language (GtkTreeModel *model,
                    const gchar  *lang,
@@ -144,14 +88,6 @@ cc_common_language_get_iter_for_language (GtkTreeModel *model,
 }
 
 gboolean
-cc_common_language_get_iter_for_region (GtkTreeModel *model,
-                                        const gchar  *lang,
-                                        GtkTreeIter  *iter)
-{
-  return iter_for_language (model, lang, iter, TRUE);
-}
-
-gboolean
 cc_common_language_has_font (const gchar *locale)
 {
         const FcCharSet *charset;
@@ -209,95 +145,6 @@ cc_common_language_has_font (const gchar *locale)
         return is_displayable;
 }
 
-typedef struct
-{
-  GtkListStore  *store;
-  GHashTable    *user_langs;
-  gchar        **languages;
-  gboolean       regions;
-  gint           position;
-} AsyncLangData;
-
-static void
-async_lang_data_free (AsyncLangData *data)
-{
-  g_object_unref (data->store);
-  g_hash_table_unref (data->user_langs);
-  g_strfreev (data->languages);
-  g_free (data);
-}
-
-static gboolean
-add_one_language (gpointer d)
-{
-  AsyncLangData *data = d;
-  char *name;
-  char *language;
-  GtkTreeIter iter;
-
-  if (data->languages[data->position] == NULL) {
-    /* we are done */
-    async_lang_data_free (data);
-    return FALSE;
-  }
-
-  name = gnome_normalize_locale (data->languages[data->position]);
-  if (g_hash_table_lookup (data->user_langs, name) != NULL) {
-    g_free (name);
-    goto next;
-  }
-
-  if (!cc_common_language_has_font (data->languages[data->position])) {
-    g_free (name);
-    goto next;
-  }
-
-  if (data->regions) {
-    language = gnome_get_country_from_locale (name, NULL);
-  }
-  else {
-    language = gnome_get_language_from_locale (name, NULL);
-  }
-  if (!language) {
-    g_debug ("Ignoring '%s' as a locale, because we couldn't figure the language name", name);
-    g_free (name);
-    goto next;
-  }
-
-  gtk_list_store_insert_with_values (data->store,
-                                     &iter,
-                                     -1,
-                                     LOCALE_COL, name,
-                                     DISPLAY_LOCALE_COL, language,
-                                     -1);
-
-  g_free (name);
-  g_free (language);
-
- next:
-  data->position++;
-
-  return TRUE;
-}
-
-guint
-cc_common_language_add_available_languages (GtkListStore *store,
-                                            gboolean      regions,
-                                            GHashTable   *user_langs)
-{
-  AsyncLangData *data;
-
-  data = g_new0 (AsyncLangData, 1);
-
-  data->store = g_object_ref (store);
-  data->user_langs = g_hash_table_ref (user_langs);
-  data->languages = gnome_get_all_locales ();
-  data->regions = regions;
-  data->position = 0;
-
-  return g_idle_add (add_one_language, data);
-}
-
 gchar *
 cc_common_language_get_current_language (void)
 {
@@ -320,168 +167,6 @@ cc_common_language_get_current_language (void)
         return language;
 }
 
-typedef struct {
-       GtkListStore *store;
-       gboolean      user_lang;
-} LangForeachData;
-
-static void
-languages_foreach_cb (gpointer key,
-                     gpointer value,
-                     gpointer user_data)
-{
-       LangForeachData *data = (LangForeachData *) user_data;
-       const char *locale = (const char *) key;
-       const char *display_locale = (const char *) value;
-
-        gtk_list_store_insert_with_values (data->store,
-                                           NULL,
-                                           -1,
-                                           LOCALE_COL, locale,
-                                           DISPLAY_LOCALE_COL, display_locale,
-                                           SEPARATOR_COL, FALSE,
-                                           USER_LANGUAGE, data->user_lang,
-                                           -1);
-}
-
-static gboolean
-separator_func (GtkTreeModel *model,
-               GtkTreeIter  *iter,
-               gpointer      data)
-{
-       gboolean is_sep;
-
-       gtk_tree_model_get (model, iter,
-                           SEPARATOR_COL, &is_sep,
-                           -1);
-
-       return is_sep;
-}
-
-void
-cc_common_language_setup_list (GtkWidget    *treeview,
-                              GHashTable   *users,
-                              GHashTable   *initial)
-{
-       GtkCellRenderer *cell;
-       GtkTreeViewColumn *column;
-       GtkListStore *store;
-       LangForeachData data;
-       GList *langs, *l;
-
-        cell = gtk_cell_renderer_text_new ();
-       g_object_set (cell,
-                     "width-chars", 40,
-                     "ellipsize", PANGO_ELLIPSIZE_END,
-                     NULL);
-        column = gtk_tree_view_column_new_with_attributes (NULL, cell, "text", DISPLAY_LOCALE_COL, NULL);
-        gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-        store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
-        gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (store),
-                                                 cc_common_language_sort_languages, NULL, NULL);
-        gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
-                                              GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
-                                              GTK_SORT_ASCENDING);
-        gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (treeview),
-                                             separator_func,
-                                             NULL, NULL);
-
-        gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
-
-        data.store = store;
-
-        /* Add the original users languages */
-        if (users != NULL && g_hash_table_size (users) > 0) {
-                data.user_lang = TRUE;
-                g_hash_table_foreach (users, (GHFunc) languages_foreach_cb, &data);
-
-                gtk_list_store_insert_with_values (store,
-                                                   NULL,
-                                                   -1,
-                                                   LOCALE_COL, NULL,
-                                                   DISPLAY_LOCALE_COL, "Don't show",
-                                                   SEPARATOR_COL, TRUE,
-                                                   USER_LANGUAGE, FALSE,
-                                                   -1);
-        }
-
-        /* Add languages from the initial hashtable */
-        data.user_lang = FALSE;
-        langs = initial ? g_hash_table_get_keys (initial) : NULL;
-        for (l = langs; l != NULL; l = l->next) {
-                char *lang = l->data;
-
-                if (g_hash_table_lookup (users, lang) != NULL)
-                        continue;
-
-                languages_foreach_cb (lang, g_hash_table_lookup (initial, lang), &data);
-       }
-}
-
-void
-cc_common_language_select_current_language (GtkTreeView *treeview)
-{
-       GtkTreeModel *model;
-       GtkTreeIter iter;
-       gboolean cont;
-       char *lang;
-       gboolean found;
-
-       lang = cc_common_language_get_current_language ();
-       g_debug ("Trying to select lang '%s' in treeview", lang);
-       model = gtk_tree_view_get_model (treeview);
-       found = FALSE;
-       cont = gtk_tree_model_get_iter_first (model, &iter);
-       while (cont) {
-               char *locale;
-
-               gtk_tree_model_get (model, &iter,
-                                   LOCALE_COL, &locale,
-                                   -1);
-               if (locale != NULL &&
-                   g_str_equal (locale, lang)) {
-                       GtkTreeSelection *selection;
-
-                       g_debug ("Found '%s' in treeview", locale);
-
-                       found = TRUE;
-                       selection = gtk_tree_view_get_selection (treeview);
-                       gtk_tree_selection_select_iter (selection, &iter);
-                       g_free (locale);
-                       break;
-               }
-               g_free (locale);
-
-               cont = gtk_tree_model_iter_next (model, &iter);
-       }
-       g_free (lang);
-
-       if (found == FALSE)
-               g_warning ("Could not find current language '%s' in the treeview", lang);
-}
-
-static gboolean
-user_language_has_translations (const char *locale)
-{
-        char *name, *language_code, *territory_code;
-        gboolean ret;
-
-        gnome_parse_locale (locale,
-                            &language_code,
-                            &territory_code,
-                            NULL, NULL);
-        name = g_strdup_printf ("%s%s%s",
-                                language_code,
-                                territory_code != NULL? "_" : "",
-                                territory_code != NULL? territory_code : "");
-        g_free (language_code);
-        g_free (territory_code);
-        ret = gnome_language_has_translations (name);
-        g_free (name);
-
-        return ret;
-}
-
 static char *
 get_lang_for_user_object_path (const char *path)
 {
@@ -517,67 +202,6 @@ get_lang_for_user_object_path (const char *path)
        return lang;
 }
 
-static void
-add_other_users_language (GHashTable *ht)
-{
-        GVariant *variant;
-        GVariantIter *vi;
-        GError *error = NULL;
-        const char *str;
-        GDBusProxy *proxy;
-
-        proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
-                                               G_DBUS_PROXY_FLAGS_NONE,
-                                               NULL,
-                                               "org.freedesktop.Accounts",
-                                               "/org/freedesktop/Accounts",
-                                               "org.freedesktop.Accounts",
-                                               NULL,
-                                               NULL);
-
-        if (proxy == NULL)
-                return;
-
-        variant = g_dbus_proxy_call_sync (proxy,
-                                          "ListCachedUsers",
-                                          NULL,
-                                          G_DBUS_CALL_FLAGS_NONE,
-                                          -1,
-                                          NULL,
-                                          &error);
-        if (variant == NULL) {
-                g_warning ("Failed to list existing users: %s", error->message);
-                g_error_free (error);
-                g_object_unref (proxy);
-                return;
-        }
-        g_variant_get (variant, "(ao)", &vi);
-        while (g_variant_iter_loop (vi, "o", &str)) {
-                char *lang;
-                char *name;
-                char *language;
-
-                lang = get_lang_for_user_object_path (str);
-                if (lang != NULL && *lang != '\0' &&
-                    cc_common_language_has_font (lang) &&
-                    user_language_has_translations (lang)) {
-                        name = gnome_normalize_locale (lang);
-                        if (!g_hash_table_lookup (ht, name)) {
-                                language = gnome_get_language_from_locale (name, NULL);
-                                g_hash_table_insert (ht, name, language);
-                        }
-                        else {
-                                g_free (name);
-                        }
-                }
-                g_free (lang);
-        }
-        g_variant_iter_free (vi);
-        g_variant_unref (variant);
-
-        g_object_unref (proxy);
-}
-
 /*
  * Note that @lang needs to be formatted like the locale strings
  * returned by gnome_get_all_locales().
@@ -646,68 +270,6 @@ cc_common_language_get_initial_languages (void)
         return ht;
 }
 
-GHashTable *
-cc_common_language_get_user_languages (void)
-{
-        GHashTable *ht;
-        char *name;
-        char *language;
-
-        ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
-
-        /* Add the languages used by other users on the system */
-        add_other_users_language (ht);
-
-        /* Add current locale */
-        name = cc_common_language_get_current_language ();
-        if (g_hash_table_lookup (ht, name) == NULL) {
-                language = gnome_get_language_from_locale (name, NULL);
-                g_hash_table_insert (ht, name, language);
-        } else {
-                g_free (name);
-        }
-
-        return ht;
-}
-
-GHashTable *
-cc_common_language_get_initial_regions (const gchar *lang)
-{
-        GHashTable *ht;
-        char *language;
-        gchar **langs;
-        gint i;
-
-        ht = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
-
-#if 0
-        /* Add some common regions */
-        g_hash_table_insert (ht, g_strdup ("en_US.utf8"), g_strdup (_("United States")));
-        g_hash_table_insert (ht, g_strdup ("de_DE.utf8"), g_strdup (_("Germany")));
-        g_hash_table_insert (ht, g_strdup ("fr_FR.utf8"), g_strdup (_("France")));
-        g_hash_table_insert (ht, g_strdup ("es_ES.utf8"), g_strdup (_("Spain")));
-        g_hash_table_insert (ht, g_strdup ("zh_CN.utf8"), g_strdup (_("China")));
-#endif
-
-        gnome_parse_locale (lang, &language, NULL, NULL, NULL);
-        langs = gnome_get_all_locales ();
-        for (i = 0; langs[i]; i++) {
-                gchar *l, *s;
-                gnome_parse_locale (langs[i], &l, NULL, NULL, NULL);
-                if (g_strcmp0 (language, l) == 0) {
-                        if (!g_hash_table_lookup (ht, langs[i])) {
-                                s = gnome_get_country_from_locale (langs[i], NULL);
-                                g_hash_table_insert (ht, g_strdup (langs[i]), s);
-                        }
-                }
-                g_free (l);
-        }
-        g_strfreev (langs);
-        g_free (language);
-
-        return ht;
-}
-
 static void
 foreach_user_lang_cb (gpointer key,
                       gpointer value,


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