[gnome-initial-setup/gnome-3-14] keyboard: Append ibus input source to input sources



commit 38f6c34ffaa435a9f8fa2a56c41164dd679dc58a
Author: Takao Fujiwara <tfujiwar redhat com>
Date:   Wed Jan 28 18:28:20 2015 +0900

    keyboard: Append ibus input source to input sources
    
    If the selected input source is an input method, users wish to
    use the system input source as the primary source and the input
    method is secondary.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=743628

 .../pages/keyboard/gis-keyboard-page.c             |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c 
b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
index 8f3ad34..604f9e0 100644
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
@@ -79,12 +79,17 @@ set_input_settings (GisKeyboardPage *self)
         const gchar *id;
         GVariantBuilder builder;
         GSList *l;
+        gboolean is_xkb_source = FALSE;
 
         type = cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser));
         id = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser));
 
         g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
-       g_variant_builder_add (&builder, "(ss)", type, id);
+
+        if (g_str_equal (type, "xkb")) {
+                g_variant_builder_add (&builder, "(ss)", type, id);
+                is_xkb_source = TRUE;
+        }
 
         for (l = priv->system_sources; l; l = l->next) {
                 const gchar *sid = l->data;
@@ -95,6 +100,9 @@ set_input_settings (GisKeyboardPage *self)
                 g_variant_builder_add (&builder, "(ss)", "xkb", sid);
         }
 
+        if (!is_xkb_source)
+                g_variant_builder_add (&builder, "(ss)", type, id);
+
        g_settings_set_value (priv->input_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder));
        g_settings_set_uint (priv->input_settings, KEY_CURRENT_INPUT_SOURCE, 0);
 


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