[gnome-initial-setup/shell/4765: 338/362] input-chooser: consider only language or country layouts non-extra



commit 0d7901a5a8af565cb12354f795e21dfdd1a21818
Author: Cosimo Cecchi <cosimo endlessm com>
Date:   Fri Feb 6 16:16:26 2015 -0800

    input-chooser: consider only language or country layouts non-extra
    
    By default, we don't want to just show a random number of these.

 .../pages/keyboard/cc-input-chooser.c              |   21 +++++++++----------
 1 files changed, 10 insertions(+), 11 deletions(-)
---
diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c 
b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
index 065b890..da5d884 100644
--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
+++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
@@ -324,12 +324,12 @@ static void
 add_rows_to_list (CcInputChooser  *chooser,
                  GList            *list,
                  const gchar      *type,
-                 const gchar      *default_id)
+                 const gchar      *default_id,
+                 gboolean          is_extra)
 {
         CcInputChooserPrivate *priv = cc_input_chooser_get_instance_private (chooser);
        const gchar *id;
        GtkWidget *widget;
-       gboolean is_extra;
        gchar *key;
 
        for (; list; list = list->next) {
@@ -347,8 +347,6 @@ add_rows_to_list (CcInputChooser  *chooser,
 
                if (g_hash_table_size (priv->inputs) > MIN_ROWS)
                        is_extra = TRUE;
-               else
-                       is_extra = FALSE;
                widget = input_widget_new (chooser, type, id, is_extra);
                gtk_container_add (GTK_CONTAINER (priv->input_list), widget);
        }
@@ -357,11 +355,12 @@ add_rows_to_list (CcInputChooser  *chooser,
 static void
 add_row_to_list (CcInputChooser *chooser,
                 const gchar     *type,
-                const gchar     *id)
+                const gchar     *id,
+                gboolean         is_extra)
 {
        GList tmp = { 0 };
        tmp.data = (gpointer)id;
-       add_rows_to_list (chooser, &tmp, type, NULL);
+       add_rows_to_list (chooser, &tmp, type, NULL, is_extra);
 }
 
 static void
@@ -373,7 +372,7 @@ get_locale_infos (CcInputChooser *chooser)
        GList *list;
 
        if (gnome_get_input_source_from_locale (priv->locale, &type, &id)) {
-                add_row_to_list (chooser, type, id);
+         add_row_to_list (chooser, type, id, FALSE);
                if (!priv->id) {
                        priv->id = g_strdup (id);
                        priv->type = g_strdup (type);
@@ -384,15 +383,15 @@ get_locale_infos (CcInputChooser *chooser)
                goto out;
 
        list = gnome_xkb_info_get_layouts_for_language (priv->xkb_info, lang);
-       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id);
+       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id, FALSE);
        g_list_free (list);
 
        list = gnome_xkb_info_get_layouts_for_country (priv->xkb_info, country);
-       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id);
+       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id, FALSE);
        g_list_free (list);
 
        list = gnome_xkb_info_get_all_layouts (priv->xkb_info);
-       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id);
+       add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id, TRUE);
        g_list_free (list);
 
         gtk_widget_show_all (priv->input_list);
@@ -611,7 +610,7 @@ get_ibus_locale_infos (CcInputChooser *chooser)
 
        g_hash_table_iter_init (&iter, priv->ibus_engines);
        while (g_hash_table_iter_next (&iter, (gpointer *) &engine_id, (gpointer *) &engine))
-                add_row_to_list (chooser, INPUT_SOURCE_TYPE_IBUS, engine_id);
+         add_row_to_list (chooser, INPUT_SOURCE_TYPE_IBUS, engine_id, TRUE);
 }
 
 static void


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