Resolves: rhbz#1151519
This commit is contained in:
parent
7be2155c39
commit
3789868a71
@ -1,12 +1,13 @@
|
|||||||
Name: gnome-initial-setup
|
Name: gnome-initial-setup
|
||||||
Version: 3.14.1
|
Version: 3.14.1
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Bootstrapping your OS
|
Summary: Bootstrapping your OS
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup
|
URL: https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup
|
||||||
Source0: http://download.gnome.org/sources/%{name}/3.14/%{name}-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/%{name}/3.14/%{name}-%{version}.tar.xz
|
||||||
Patch0: 0001-password-Fix-changing-the-login-keyring-password.patch
|
Patch0: 0001-password-Fix-changing-the-login-keyring-password.patch
|
||||||
|
Patch1: system-keyboard-layouts.patch
|
||||||
|
|
||||||
%global nm_version 0.9.6.4
|
%global nm_version 0.9.6.4
|
||||||
%global glib_required_version 2.36.0
|
%global glib_required_version 2.36.0
|
||||||
@ -62,6 +63,7 @@ you through configuring it. It is integrated with gdm.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
@ -101,6 +103,9 @@ useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null ||
|
|||||||
%{_datadir}/polkit-1/rules.d/20-gnome-initial-setup.rules
|
%{_datadir}/polkit-1/rules.d/20-gnome-initial-setup.rules
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 31 2014 Rui Matos <rmatos@redhat.com> - 3.14.1-3
|
||||||
|
- Resolves: rhbz#1151519
|
||||||
|
|
||||||
* Tue Oct 21 2014 Rui Matos <rmatos@redhat.com> - 3.14.1-2
|
* Tue Oct 21 2014 Rui Matos <rmatos@redhat.com> - 3.14.1-2
|
||||||
- Resolves: rhbz#1154206
|
- Resolves: rhbz#1154206
|
||||||
|
|
||||||
|
398
system-keyboard-layouts.patch
Normal file
398
system-keyboard-layouts.patch
Normal file
@ -0,0 +1,398 @@
|
|||||||
|
From 539f1bafb3f4c722cb1793f1a5dc71014a458a1e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rui Matos <tiagomatos@gmail.com>
|
||||||
|
Date: Thu, 30 Oct 2014 14:56:54 +0100
|
||||||
|
Subject: [PATCH 1/4] keyboard: Prevent going forward before the localed proxy
|
||||||
|
is ready
|
||||||
|
|
||||||
|
Otherwise we would crash on set_localed_input() and we really don't
|
||||||
|
want to move forward before we have a chance to pre-select the system
|
||||||
|
layout which we'll get from localed in the next patch.
|
||||||
|
---
|
||||||
|
.../pages/keyboard/gis-keyboard-page.c | 26 +++++++++++++---------
|
||||||
|
1 file changed, 16 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
index d3af107..3a856b5 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
@@ -90,6 +90,9 @@ set_localed_input (GisKeyboardPage *self)
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
const gchar *layout, *variant;
|
||||||
|
|
||||||
|
+ if (!priv->localed)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
cc_input_chooser_get_layout (CC_INPUT_CHOOSER (priv->input_chooser), &layout, &variant);
|
||||||
|
|
||||||
|
g_dbus_proxy_call (priv->localed,
|
||||||
|
@@ -149,6 +152,17 @@ gis_keyboard_page_apply (GisPage *page,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+update_page_complete (GisKeyboardPage *self)
|
||||||
|
+{
|
||||||
|
+ GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
+ gboolean complete;
|
||||||
|
+
|
||||||
|
+ complete = (priv->localed != NULL &&
|
||||||
|
+ cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser)) != NULL);
|
||||||
|
+ gis_page_set_complete (GIS_PAGE (self), complete);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
localed_proxy_ready (GObject *source,
|
||||||
|
GAsyncResult *res,
|
||||||
|
gpointer data)
|
||||||
|
@@ -168,6 +182,8 @@ localed_proxy_ready (GObject *source,
|
||||||
|
}
|
||||||
|
|
||||||
|
priv->localed = proxy;
|
||||||
|
+
|
||||||
|
+ update_page_complete (self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -178,16 +194,6 @@ input_confirmed (CcInputChooser *chooser,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-update_page_complete (GisKeyboardPage *self)
|
||||||
|
-{
|
||||||
|
- GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
- gboolean complete;
|
||||||
|
-
|
||||||
|
- complete = cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser)) != NULL;
|
||||||
|
- gis_page_set_complete (GIS_PAGE (self), complete);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
input_changed (CcInputChooser *chooser,
|
||||||
|
GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
||||||
|
|
||||||
|
From 5fb41bfd440b10ae1ee6ce5570e61ba71366d60f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rui Matos <tiagomatos@gmail.com>
|
||||||
|
Date: Thu, 30 Oct 2014 17:55:28 +0100
|
||||||
|
Subject: [PATCH 2/4] keyboard: Ensure that we show the selected input source
|
||||||
|
|
||||||
|
This will become important in a coming commit that will pre-select the
|
||||||
|
system keyboard layout if one is set.
|
||||||
|
---
|
||||||
|
gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
index 7918d1a..f11c708 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
@@ -45,7 +45,7 @@
|
||||||
|
#define INPUT_SOURCE_TYPE_XKB "xkb"
|
||||||
|
#define INPUT_SOURCE_TYPE_IBUS "ibus"
|
||||||
|
|
||||||
|
-#define MIN_ROWS 6
|
||||||
|
+#define MIN_ROWS 5
|
||||||
|
|
||||||
|
struct _CcInputChooserPrivate
|
||||||
|
{
|
||||||
|
@@ -274,6 +274,9 @@ sync_checkmark (GtkWidget *row,
|
||||||
|
else
|
||||||
|
should_be_visible = g_strcmp0 (widget->id, priv->id) == 0 && g_strcmp0 (widget->type, priv->type) == 0;
|
||||||
|
gtk_widget_set_opacity (widget->checkmark, should_be_visible ? 1.0 : 0.0);
|
||||||
|
+
|
||||||
|
+ if (widget->is_extra && should_be_visible)
|
||||||
|
+ widget->is_extra = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -283,6 +286,7 @@ sync_all_checkmarks (CcInputChooser *chooser)
|
||||||
|
|
||||||
|
gtk_container_foreach (GTK_CONTAINER (priv->input_list),
|
||||||
|
sync_checkmark, chooser);
|
||||||
|
+ gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->input_list));
|
||||||
|
}
|
||||||
|
|
||||||
|
static GtkWidget *
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
||||||
|
|
||||||
|
From a6b0132193d1c4031035d4d412285a488dfaf2a6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rui Matos <tiagomatos@gmail.com>
|
||||||
|
Date: Thu, 30 Oct 2014 17:58:16 +0100
|
||||||
|
Subject: [PATCH 3/4] keyboard: Preserve system keyboard layouts
|
||||||
|
|
||||||
|
If there are keyboard layouts already configured system wide we should
|
||||||
|
keep and import them as user input sources.
|
||||||
|
|
||||||
|
For simplicity we still only allow the user to choose one input source
|
||||||
|
and in that case we'll use it as the default, i.e. the first.
|
||||||
|
|
||||||
|
The first system layout, if it exists, is pre-selected in the chooser.
|
||||||
|
---
|
||||||
|
.../pages/keyboard/gis-keyboard-page.c | 118 ++++++++++++++++++++-
|
||||||
|
1 file changed, 114 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
index 3a856b5..8f3ad34 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.c
|
||||||
|
@@ -45,6 +45,8 @@ struct _GisKeyboardPagePrivate {
|
||||||
|
GCancellable *cancellable;
|
||||||
|
GPermission *permission;
|
||||||
|
GSettings *input_settings;
|
||||||
|
+
|
||||||
|
+ GSList *system_sources;
|
||||||
|
};
|
||||||
|
typedef struct _GisKeyboardPagePrivate GisKeyboardPagePrivate;
|
||||||
|
|
||||||
|
@@ -64,6 +66,8 @@ gis_keyboard_page_finalize (GObject *object)
|
||||||
|
g_clear_object (&priv->localed);
|
||||||
|
g_clear_object (&priv->input_settings);
|
||||||
|
|
||||||
|
+ g_slist_free_full (priv->system_sources, g_free);
|
||||||
|
+
|
||||||
|
G_OBJECT_CLASS (gis_keyboard_page_parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -71,12 +75,25 @@ static void
|
||||||
|
set_input_settings (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
+ const gchar *type;
|
||||||
|
+ const gchar *id;
|
||||||
|
GVariantBuilder builder;
|
||||||
|
+ GSList *l;
|
||||||
|
+
|
||||||
|
+ 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)",
|
||||||
|
- cc_input_chooser_get_input_type (CC_INPUT_CHOOSER (priv->input_chooser)),
|
||||||
|
- cc_input_chooser_get_input_id (CC_INPUT_CHOOSER (priv->input_chooser)));
|
||||||
|
+ g_variant_builder_add (&builder, "(ss)", type, id);
|
||||||
|
+
|
||||||
|
+ for (l = priv->system_sources; l; l = l->next) {
|
||||||
|
+ const gchar *sid = l->data;
|
||||||
|
+
|
||||||
|
+ if (g_str_equal (id, sid) && g_str_equal (type, "xkb"))
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
+ g_variant_builder_add (&builder, "(ss)", "xkb", sid);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
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);
|
||||||
|
@@ -89,17 +106,49 @@ set_localed_input (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
const gchar *layout, *variant;
|
||||||
|
+ GString *layouts;
|
||||||
|
+ GString *variants;
|
||||||
|
+ GSList *l;
|
||||||
|
|
||||||
|
if (!priv->localed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
cc_input_chooser_get_layout (CC_INPUT_CHOOSER (priv->input_chooser), &layout, &variant);
|
||||||
|
+ if (layout == NULL)
|
||||||
|
+ layout = "";
|
||||||
|
+ if (variant == NULL)
|
||||||
|
+ variant = "";
|
||||||
|
+
|
||||||
|
+ layouts = g_string_new (layout);
|
||||||
|
+ variants = g_string_new (variant);
|
||||||
|
+
|
||||||
|
+#define LAYOUT(a) (a[0])
|
||||||
|
+#define VARIANT(a) (a[1] ? a[1] : "")
|
||||||
|
+ for (l = priv->system_sources; l; l = l->next) {
|
||||||
|
+ const gchar *sid = l->data;
|
||||||
|
+ gchar **lv = g_strsplit (sid, "+", -1);
|
||||||
|
+
|
||||||
|
+ if (!g_str_equal (LAYOUT (lv), layout) ||
|
||||||
|
+ !g_str_equal (VARIANT (lv), variant)) {
|
||||||
|
+ if (layouts->str[0]) {
|
||||||
|
+ g_string_append_c (layouts, ',');
|
||||||
|
+ g_string_append_c (variants, ',');
|
||||||
|
+ }
|
||||||
|
+ g_string_append (layouts, LAYOUT (lv));
|
||||||
|
+ g_string_append (variants, VARIANT (lv));
|
||||||
|
+ }
|
||||||
|
+ g_strfreev (lv);
|
||||||
|
+ }
|
||||||
|
+#undef LAYOUT
|
||||||
|
+#undef VARIANT
|
||||||
|
|
||||||
|
g_dbus_proxy_call (priv->localed,
|
||||||
|
"SetX11Keyboard",
|
||||||
|
- g_variant_new ("(ssssbb)", layout, "", variant, "", TRUE, TRUE),
|
||||||
|
+ g_variant_new ("(ssssbb)", layouts->str, "", variants->str, "", TRUE, TRUE),
|
||||||
|
G_DBUS_CALL_FLAGS_NONE,
|
||||||
|
-1, NULL, NULL, NULL);
|
||||||
|
+ g_string_free (layouts, TRUE);
|
||||||
|
+ g_string_free (variants, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -152,6 +201,66 @@ gis_keyboard_page_apply (GisPage *page,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+load_localed_input (GisKeyboardPage *self)
|
||||||
|
+{
|
||||||
|
+ GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
+ GVariant *v;
|
||||||
|
+ const gchar *s;
|
||||||
|
+ gchar *id;
|
||||||
|
+ guint i, n;
|
||||||
|
+ gchar **layouts = NULL;
|
||||||
|
+ gchar **variants = NULL;
|
||||||
|
+ GSList *sources = NULL;
|
||||||
|
+
|
||||||
|
+ if (!priv->localed)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ v = g_dbus_proxy_get_cached_property (priv->localed, "X11Layout");
|
||||||
|
+ if (v) {
|
||||||
|
+ s = g_variant_get_string (v, NULL);
|
||||||
|
+ layouts = g_strsplit (s, ",", -1);
|
||||||
|
+ g_variant_unref (v);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ v = g_dbus_proxy_get_cached_property (priv->localed, "X11Variant");
|
||||||
|
+ if (v) {
|
||||||
|
+ s = g_variant_get_string (v, NULL);
|
||||||
|
+ if (s && *s)
|
||||||
|
+ variants = g_strsplit (s, ",", -1);
|
||||||
|
+ g_variant_unref (v);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (variants && variants[0])
|
||||||
|
+ n = MIN (g_strv_length (layouts), g_strv_length (variants));
|
||||||
|
+ else if (layouts && layouts[0])
|
||||||
|
+ n = g_strv_length (layouts);
|
||||||
|
+ else
|
||||||
|
+ n = 0;
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < n && layouts[i][0]; i++) {
|
||||||
|
+ if (variants && variants[i] && variants[i][0])
|
||||||
|
+ id = g_strdup_printf ("%s+%s", layouts[i], variants[i]);
|
||||||
|
+ else
|
||||||
|
+ id = g_strdup (layouts[i]);
|
||||||
|
+ sources = g_slist_prepend (sources, id);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_strfreev (variants);
|
||||||
|
+ g_strfreev (layouts);
|
||||||
|
+
|
||||||
|
+ /* These will be added silently after the user selection when
|
||||||
|
+ * writing out the settings. */
|
||||||
|
+ g_slist_free_full (priv->system_sources, g_free);
|
||||||
|
+ priv->system_sources = g_slist_reverse (sources);
|
||||||
|
+
|
||||||
|
+ /* We only pre-select the first system layout. */
|
||||||
|
+ if (priv->system_sources)
|
||||||
|
+ cc_input_chooser_set_input (CC_INPUT_CHOOSER (priv->input_chooser),
|
||||||
|
+ (const gchar *) priv->system_sources->data,
|
||||||
|
+ "xkb");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
update_page_complete (GisKeyboardPage *self)
|
||||||
|
{
|
||||||
|
GisKeyboardPagePrivate *priv = gis_keyboard_page_get_instance_private (self);
|
||||||
|
@@ -183,6 +292,7 @@ localed_proxy_ready (GObject *source,
|
||||||
|
|
||||||
|
priv->localed = proxy;
|
||||||
|
|
||||||
|
+ load_localed_input (self);
|
||||||
|
update_page_complete (self);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
||||||
|
|
||||||
|
From 9acab741946a2d7f8ceaf93d14212dd7af21d2d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rui Matos <tiagomatos@gmail.com>
|
||||||
|
Date: Thu, 30 Oct 2014 18:52:41 +0100
|
||||||
|
Subject: [PATCH 4/4] keyboard: Don't choose irrelevant layouts as first level
|
||||||
|
choices
|
||||||
|
|
||||||
|
If the language and country layouts aren't enough to fill our first
|
||||||
|
level number of rows we would end up showing totally irrelevant
|
||||||
|
layouts which looks bad and defeats the purpose of the initial
|
||||||
|
filtering.
|
||||||
|
---
|
||||||
|
.../pages/keyboard/cc-input-chooser.c | 38 +++++++++++++++++++---
|
||||||
|
1 file changed, 33 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
index f11c708..c5bd085 100644
|
||||||
|
--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
+++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c
|
||||||
|
@@ -324,6 +324,36 @@ no_results_widget_new (void)
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+choose_non_extras_foreach (GtkWidget *row,
|
||||||
|
+ gpointer user_data)
|
||||||
|
+{
|
||||||
|
+ GtkWidget *child;
|
||||||
|
+ InputWidget *widget;
|
||||||
|
+ guint *count = user_data;
|
||||||
|
+
|
||||||
|
+ *count += 1;
|
||||||
|
+ if (*count > MIN_ROWS)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ child = gtk_bin_get_child (GTK_BIN (row));
|
||||||
|
+ widget = get_input_widget (child);
|
||||||
|
+ if (widget == NULL)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ widget->is_extra = FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+choose_non_extras (CcInputChooser *chooser)
|
||||||
|
+{
|
||||||
|
+ CcInputChooserPrivate *priv = cc_input_chooser_get_instance_private (chooser);
|
||||||
|
+ guint count = 0;
|
||||||
|
+
|
||||||
|
+ gtk_container_foreach (GTK_CONTAINER (priv->input_list),
|
||||||
|
+ choose_non_extras_foreach, &count);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
add_rows_to_list (CcInputChooser *chooser,
|
||||||
|
GList *list,
|
||||||
|
const gchar *type,
|
||||||
|
@@ -348,11 +378,7 @@ add_rows_to_list (CcInputChooser *chooser,
|
||||||
|
}
|
||||||
|
g_hash_table_add (priv->inputs, key);
|
||||||
|
|
||||||
|
- 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);
|
||||||
|
+ widget = input_widget_new (chooser, type, id, TRUE);
|
||||||
|
gtk_container_add (GTK_CONTAINER (priv->input_list), widget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -394,6 +420,8 @@ get_locale_infos (CcInputChooser *chooser)
|
||||||
|
add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id);
|
||||||
|
g_list_free (list);
|
||||||
|
|
||||||
|
+ choose_non_extras (chooser);
|
||||||
|
+
|
||||||
|
list = gnome_xkb_info_get_all_layouts (priv->xkb_info);
|
||||||
|
add_rows_to_list (chooser, list, INPUT_SOURCE_TYPE_XKB, id);
|
||||||
|
g_list_free (list);
|
||||||
|
--
|
||||||
|
1.9.0
|
||||||
|
|
Loading…
Reference in New Issue
Block a user