aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--data/Makefile.am6
-rw-r--r--debian/control1
-rw-r--r--lib/Makefile.am14
-rw-r--r--lib/main.vala96
-rw-r--r--lib/unity-greeter.vala (renamed from lib/greeter.vala)2
-rw-r--r--lib/window-stack.vala37
-rw-r--r--po/am.po35
-rw-r--r--po/ar.po14
-rw-r--r--po/ast.po14
-rw-r--r--po/az.po14
-rw-r--r--po/be.po14
-rw-r--r--po/bg.po14
-rw-r--r--po/br.po18
-rw-r--r--po/bs.po14
-rw-r--r--po/ca.po14
-rw-r--r--po/cs.po14
-rw-r--r--po/cy.po14
-rw-r--r--po/da.po14
-rw-r--r--po/de.po14
-rw-r--r--po/el.po14
-rw-r--r--po/en_AU.po14
-rw-r--r--po/en_CA.po14
-rw-r--r--po/en_GB.po14
-rw-r--r--po/es.po14
-rw-r--r--po/et.po14
-rw-r--r--po/eu.po20
-rw-r--r--po/fa.po22
-rw-r--r--po/fi.po14
-rw-r--r--po/fr.po14
-rw-r--r--po/fr_CA.po35
-rw-r--r--po/gd.po14
-rw-r--r--po/gl.po14
-rw-r--r--po/he.po14
-rw-r--r--po/hi.po14
-rw-r--r--po/hu.po14
-rw-r--r--po/id.po22
-rw-r--r--po/it.po14
-rw-r--r--po/ja.po14
-rw-r--r--po/km.po14
-rw-r--r--po/kn.po14
-rw-r--r--po/ko.po14
-rw-r--r--po/lt.po14
-rw-r--r--po/lv.po14
-rw-r--r--po/mhr.po14
-rw-r--r--po/ml.po14
-rw-r--r--po/mr.po35
-rw-r--r--po/ms.po14
-rw-r--r--po/nb.po14
-rw-r--r--po/ne.po35
-rw-r--r--po/nl.po14
-rw-r--r--po/oc.po14
-rw-r--r--po/pl.po14
-rw-r--r--po/pt.po14
-rw-r--r--po/pt_BR.po14
-rw-r--r--po/ro.po14
-rw-r--r--po/ru.po14
-rw-r--r--po/si.po14
-rw-r--r--po/sk.po14
-rw-r--r--po/sl.po14
-rw-r--r--po/sq.po14
-rw-r--r--po/sr.po14
-rw-r--r--po/sv.po14
-rw-r--r--po/ta.po14
-rw-r--r--po/tg.po14
-rw-r--r--po/tr.po14
-rw-r--r--po/ug.po14
-rw-r--r--po/uk.po14
-rw-r--r--po/vi.po14
-rw-r--r--po/zh_CN.po14
-rw-r--r--po/zh_HK.po35
-rw-r--r--po/zh_TW.po14
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/fixture.vala125
-rw-r--r--tests/main.vala1073
75 files changed, 1347 insertions, 1055 deletions
diff --git a/configure.ac b/configure.ac
index 5a333009..dc2f0bae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -78,10 +78,6 @@ PKG_CHECK_MODULES([LIGHTDM], [liblightdm-gobject-1])
AC_SUBST([LIGHTDM_CFLAGS])
AC_SUBST([LIGHTDM_LIBS])
-PKG_CHECK_MODULES([BAMF], [libbamf3])
-AC_SUBST([BAMF_CFLAGS])
-AC_SUBST([BAMF_LIBS])
-
m4_include([m4/gcov.m4])
AC_TDD_GCOV
AM_CONDITIONAL([HAVE_GCOV], [test "x$ac_cv_check_gcov" = xyes])
diff --git a/data/Makefile.am b/data/Makefile.am
index 29ad3e7a..4f0b7175 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -36,9 +36,9 @@ dist_service_DATA = indicator-keyboard.service
servicedir = $(DBUS_SERVICE_DIR)
indicator-keyboard.service:
- $(AM_V_GEN) (echo '[D-BUS Service]'; \
- echo 'Name=com.canonical.indicator.keyboard'; \
- echo 'Exec=${libexecdir}/indicator-keyboard-service --use-gtk --use-bamf') > $@.tmp && \
+ $(AM_V_GEN) (echo '[D-BUS Service]'; \
+ echo 'Name=com.canonical.indicator.keyboard'; \
+ echo 'Exec=${libexecdir}/indicator-keyboard-service --use-gtk') > $@.tmp && \
mv $@.tmp $@
dist_indicator_DATA = com.canonical.indicator.keyboard
diff --git a/debian/control b/debian/control
index 63e20ab6..4148227e 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,6 @@ Build-Depends: debhelper (>= 9.0.0),
dh-translations,
dbus,
libaccountsservice-dev,
- libbamf3-dev,
libgee-dev,
libgirepository1.0-dev,
libgnome-desktop-3-dev,
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 72f5f949..0e7cd266 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,10 +5,11 @@ AM_LDFLAGS = -lm
AM_VALAFLAGS = --metadatadir $(top_srcdir)/deps \
--vapidir $(top_srcdir)/deps
-indicator_keyboard_service_SOURCES = main.vala \
- source.vala \
- common.vala \
- greeter.vala
+indicator_keyboard_service_SOURCES = main.vala \
+ source.vala \
+ common.vala \
+ window-stack.vala \
+ unity-greeter.vala
indicator_keyboard_service_VALAFLAGS = $(AM_VALAFLAGS) \
--pkg gee-1.0 \
--pkg posix \
@@ -20,8 +21,7 @@ indicator_keyboard_service_VALAFLAGS = $(AM_VALAFLAGS) \
--pkg Gkbd-3.0 \
--pkg ibus-1.0 \
--pkg accountsservice \
- --pkg liblightdm-gobject-1 \
- --pkg libbamf3
+ --pkg liblightdm-gobject-1
indicator_keyboard_service_CFLAGS = $(AM_CFLAGS) \
$(GEE_CFLAGS) \
$(PANGOCAIRO_CFLAGS) \
@@ -32,7 +32,6 @@ indicator_keyboard_service_CFLAGS = $(AM_CFLAGS) \
$(IBUS_CFLAGS) \
$(ACCOUNTSSERVICE_CFLAGS) \
$(LIGHTDM_CFLAGS) \
- $(BAMF_CFLAGS) \
$(COVERAGE_CFLAGS)
indicator_keyboard_service_LDFLAGS = $(AM_LDFLAGS) \
$(GEE_LIBS) \
@@ -44,5 +43,4 @@ indicator_keyboard_service_LDFLAGS = $(AM_LDFLAGS) \
$(IBUS_LIBS) \
$(ACCOUNTSSERVICE_LIBS) \
$(LIGHTDM_LIBS) \
- $(BAMF_LIBS) \
$(COVERAGE_LDFLAGS)
diff --git a/lib/main.vala b/lib/main.vala
index 66147b18..ffc558ba 100644
--- a/lib/main.vala
+++ b/lib/main.vala
@@ -24,15 +24,16 @@ public class Indicator.Keyboard.Service : Object {
private bool force;
private bool use_gtk;
- private bool use_bamf;
private MainLoop? loop;
private Settings indicator_settings;
private Settings source_settings;
private Settings per_window_settings;
private SList<Act.User> users;
- private Bamf.Matcher? matcher;
- private Gee.HashMap<string, uint>? window_sources;
+
+ private WindowStack? window_stack;
+ private Gee.HashMap<uint, uint>? window_sources;
+ private uint focused_window_id;
private Source[]? sources;
@@ -41,7 +42,7 @@ public class Indicator.Keyboard.Service : Object {
private MenuModel? menu_model;
private Menu? sources_menu;
- private Greeter? greeter;
+ private UnityGreeter? unity_greeter;
private string? greeter_user;
private uint lightdm_current;
@@ -49,7 +50,6 @@ public class Indicator.Keyboard.Service : Object {
public Service (ref unowned string[] args) {
force = "--force" in args;
use_gtk = "--use-gtk" in args;
- use_bamf = "--use-bamf" in args;
if (use_gtk) {
use_gtk = Gtk.init_check (ref args);
@@ -64,9 +64,15 @@ public class Indicator.Keyboard.Service : Object {
Bus.watch_name (BusType.SESSION,
(!) name,
BusNameWatcherFlags.NONE,
- handle_name_appeared,
- handle_name_vanished);
+ handle_unity_greeter_name_appeared,
+ handle_unity_greeter_name_vanished);
}
+ } else {
+ Bus.watch_name (BusType.SESSION,
+ "com.canonical.Unity.WindowStack",
+ BusNameWatcherFlags.NONE,
+ handle_window_stack_name_appeared,
+ handle_window_stack_name_vanished);
}
indicator_settings = new Settings ("com.canonical.indicator.keyboard");
@@ -127,9 +133,9 @@ public class Indicator.Keyboard.Service : Object {
[DBus (visible = false)]
private void update_greeter_user () {
- if (greeter_user == null && greeter != null) {
+ if (greeter_user == null && unity_greeter != null) {
try {
- greeter_user = ((!) greeter).get_active_entry ();
+ greeter_user = ((!) unity_greeter).get_active_entry ();
} catch (IOError error) {
warning ("error: %s", error.message);
}
@@ -464,17 +470,30 @@ public class Indicator.Keyboard.Service : Object {
[DBus (visible = false)]
private void update_window_sources () {
- if (use_bamf && !is_login_user ()) {
+ if (window_stack != null) {
var group_per_window = per_window_settings.get_boolean ("group-per-window");
if (group_per_window != (window_sources != null)) {
if (group_per_window) {
- window_sources = new Gee.HashMap<string, uint> ();
- matcher = Bamf.Matcher.get_default ();
- ((!) matcher).active_window_changed.connect (handle_active_window_changed);
+ focused_window_id = 0;
+
+ try {
+ var windows = ((!) window_stack).get_window_stack ();
+
+ foreach (var window in windows) {
+ if (window.focused) {
+ focused_window_id = window.window_id;
+ break;
+ }
+ }
+ } catch (IOError error) {
+ warning ("error: %s", error.message);
+ }
+
+ window_sources = new Gee.HashMap<uint, uint> ();
+ ((!) window_stack).focused_window_changed.connect (handle_focused_window_changed);
} else {
- ((!) matcher).active_window_changed.disconnect (handle_active_window_changed);
- matcher = null;
+ ((!) window_stack).focused_window_changed.disconnect (handle_focused_window_changed);
window_sources = null;
}
}
@@ -487,22 +506,20 @@ public class Indicator.Keyboard.Service : Object {
}
[DBus (visible = false)]
- private void handle_active_window_changed (Bamf.View? old_view, Bamf.View? new_view) {
- if (old_view != null) {
- ((!) window_sources)[((!) old_view).path] = source_settings.get_uint ("current");
- }
+ private void handle_focused_window_changed (uint window_id, string app_id, uint stage) {
+ ((!) window_sources)[focused_window_id] = source_settings.get_uint ("current");
- if (new_view != null) {
- if (!((!) window_sources).has_key (((!) new_view).path)) {
- var default_group = per_window_settings.get_int ("default-group");
+ if (!(((!) window_sources).has_key (window_id))) {
+ var default_group = per_window_settings.get_int ("default-group");
- if (default_group >= 0) {
- source_settings.set_uint ("current", (uint) default_group);
- }
- } else {
- source_settings.set_uint ("current", ((!) window_sources)[((!) new_view).path]);
+ if (default_group >= 0) {
+ source_settings.set_uint ("current", (uint) default_group);
}
+ } else {
+ source_settings.set_uint ("current", ((!) window_sources)[window_id]);
}
+
+ focused_window_id = window_id;
}
[DBus (visible = false)]
@@ -771,18 +788,33 @@ public class Indicator.Keyboard.Service : Object {
}
[DBus (visible = false)]
- private void handle_name_appeared (DBusConnection connection, string name, string name_owner) {
+ private void handle_unity_greeter_name_appeared (DBusConnection connection, string name, string name_owner) {
+ try {
+ unity_greeter = Bus.get_proxy_sync (BusType.SESSION, name, "/list");
+ ((!) unity_greeter).entry_selected.connect (handle_entry_selected);
+ } catch (IOError error) {
+ warning ("error: %s", error.message);
+ }
+ }
+
+ [DBus (visible = false)]
+ private void handle_unity_greeter_name_vanished (DBusConnection connection, string name) {
+ unity_greeter = null;
+ }
+
+ [DBus (visible = false)]
+ private void handle_window_stack_name_appeared (DBusConnection connection, string name, string name_owner) {
try {
- greeter = Bus.get_proxy_sync (BusType.SESSION, name, "/list");
- ((!) greeter).entry_selected.connect (handle_entry_selected);
+ window_stack = Bus.get_proxy_sync (BusType.SESSION, name, "/com/canonical/Unity/WindowStack");
+ update_window_sources ();
} catch (IOError error) {
warning ("error: %s", error.message);
}
}
[DBus (visible = false)]
- private void handle_name_vanished (DBusConnection connection, string name) {
- greeter = null;
+ private void handle_window_stack_name_vanished (DBusConnection connection, string name) {
+ window_stack = null;
}
[DBus (visible = false)]
diff --git a/lib/greeter.vala b/lib/unity-greeter.vala
index c378bbd5..2cdfe05c 100644
--- a/lib/greeter.vala
+++ b/lib/unity-greeter.vala
@@ -17,7 +17,7 @@
*/
[DBus (name="com.canonical.UnityGreeter.List")]
-public interface Greeter : Object {
+public interface UnityGreeter : Object {
public abstract string get_active_entry () throws IOError;
public abstract void set_active_entry (string entry_name) throws IOError;
diff --git a/lib/window-stack.vala b/lib/window-stack.vala
new file mode 100644
index 00000000..980eba4f
--- /dev/null
+++ b/lib/window-stack.vala
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2013 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: William Hua <william.hua@canonical.com>
+ */
+
+public struct WindowInfo {
+
+ public uint window_id;
+ public string app_id;
+ public bool focused;
+ public uint stage;
+}
+
+[DBus (name="com.canonical.Unity.WindowStack")]
+public interface WindowStack : Object {
+
+ public abstract string get_app_id_from_pid (uint pid) throws IOError;
+ public abstract string[] get_window_properties (uint window_id, string app_id, string[] property_names) throws IOError;
+ public abstract WindowInfo[] get_window_stack () throws IOError;
+
+ public signal void focused_window_changed (uint window_id, string app_id, uint stage);
+ public signal void window_created (uint window_id, string app_id);
+ public signal void window_destroyed (uint window_id, string app_id);
+}
diff --git a/po/am.po b/po/am.po
new file mode 100644
index 00000000..25b3f469
--- /dev/null
+++ b/po/am.po
@@ -0,0 +1,35 @@
+# Amharic translation for indicator-keyboard
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the indicator-keyboard package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: indicator-keyboard\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
+"PO-Revision-Date: 2014-01-18 22:57+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Amharic <am@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
+
+#: ../lib/main.vala:569
+#, c-format
+msgid "%s input source"
+msgstr "%s የማስገቢያ ምንጭ"
+
+#: ../lib/main.vala:694
+msgid "Character Map"
+msgstr "የባህሪ ካርታ"
+
+#: ../lib/main.vala:695
+msgid "Keyboard Layout Chart"
+msgstr "የፊደል ገበታ እቅድ ካርታ"
+
+#: ../lib/main.vala:696
+msgid "Text Entry Settings..."
+msgstr "የ ጽሁፍ ማስገቢያ ማሰናጃዎች..."
diff --git a/po/ar.po b/po/ar.po
index 8d219e3e..c3419900 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-10 03:47+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic <ar@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "مصدر الإدخال %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "خريطة المحارف"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "رسمة تخطيط لوحة المفاتيح"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "إعدادات إدخال النص..."
diff --git a/po/ast.po b/po/ast.po
index 67cfc42c..7fd0578f 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-03 15:38+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Asturian <ast@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Orixe d'entrada %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de caráuteres"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Distribución del tecláu"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Configuración d'entrada de testu…"
diff --git a/po/az.po b/po/az.po
index 92567903..9ad0018a 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-12 21:01+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Azerbaijani <az@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s giriş mənbəyi"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Simvol Xəritəsi"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Klaviatura Düzümü Qrafiki"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Mətn Daxiletmə Seçənəkləri..."
diff --git a/po/be.po b/po/be.po
index ae51f058..7b84da4a 100644
--- a/po/be.po
+++ b/po/be.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-14 10:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Belarusian <be@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr ""
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr ""
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr ""
diff --git a/po/bg.po b/po/bg.po
index 1717953d..178ddcc9 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-11-13 14:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian <bg@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Входен източник %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Таблица със знаци"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Схема на клавиатурната подредба"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Параметри за въвеждане на текста..."
diff --git a/po/br.po b/po/br.po
index dc082958..396145b7 100644
--- a/po/br.po
+++ b/po/br.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-11-07 15:08+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Breton <br@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s orin ar gasadenn"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Kartenn al letrennoù"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
-msgstr ""
+msgstr "Neuz aozadur ar c'hlavier"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
-msgstr ""
+msgstr "Arventennoù ar reiñ testennoù"
diff --git a/po/bs.po b/po/bs.po
index 75a58c08..5d60d966 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 15:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bosnian <bs@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s ulazni izvor"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa znakova"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Crtež rasporeda tastature"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Postavke unosa teksta..."
diff --git a/po/ca.po b/po/ca.po
index 15c4a448..bcbb7ba2 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-19 10:24+0000\n"
"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
"Language-Team: Catalan <ca@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Font d'entrada %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de caràcters"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Disposició del teclat"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Paràmetres d'entrada de text…"
diff --git a/po/cs.po b/po/cs.po
index 64c8b05e..b1cd2765 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-08 06:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Czech <cs@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s vstupní zdroj"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa znaků"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Mapa rozložení klávesnice"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Nastavení zadávání textu..."
diff --git a/po/cy.po b/po/cy.po
index 808f51fb..7fae70ac 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-08 00:05+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Welsh <cy@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr ""
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr ""
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr ""
diff --git a/po/da.po b/po/da.po
index a97e19e8..efbb57fc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 10:32+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish <da@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s-inputkilde"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Tegnoversigt"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Oversigt over tastaturlayout"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Indstillinger for tekstfelt..."
diff --git a/po/de.po b/po/de.po
index 945c4a67..8484051d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 11:11+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s-Eingabequelle"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Zeichentabelle"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Abbild der Tastaturbelegung"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Texteingabe-Einstellungen …"
diff --git a/po/el.po b/po/el.po
index d6d41bae..2a98b56a 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 11:42+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek <el@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s πηγή εισόδου"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Καθορισμός χαρακτήρων"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Διάγραμμα διάταξης πληκτρολογίου"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Ρυθμίσεις εισαγωγής κειμένου..."
diff --git a/po/en_AU.po b/po/en_AU.po
index afd626db..cc10ea83 100644
--- a/po/en_AU.po
+++ b/po/en_AU.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-07 23:11+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (Australia) <en_AU@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s input source"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Character Map"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Keyboard Layout Chart"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Text Entry Settings..."
diff --git a/po/en_CA.po b/po/en_CA.po
index fd31f862..432ddc70 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-12 10:07+0000\n"
"Last-Translator: William Hua <Unknown>\n"
"Language-Team: English (Canada) <en_CA@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s input source"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Character Map"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Keyboard Layout Chart"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Text Entry Settings..."
diff --git a/po/en_GB.po b/po/en_GB.po
index 00ddf790..0b440d8a 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-29 15:56+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s input source"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Character Map"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Keyboard Layout Chart"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Text Entry Settings..."
diff --git a/po/es.po b/po/es.po
index 68d418f0..8b2b916d 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-23 09:25+0000\n"
"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Origen de entrada %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de caracteres"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Distribución del teclado"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Configuración de entrada de texto…"
diff --git a/po/et.po b/po/et.po
index b92b618b..471e50ee 100644
--- a/po/et.po
+++ b/po/et.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 15:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Estonian <et@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s sisendallikas"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Märgikaart"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Klaviatuuripaigutuse skeem"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Tekstisisestamise seaded..."
diff --git a/po/eu.po b/po/eu.po
index a3c5c050..96101e78 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-01 20:51+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Basque <eu@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
-msgstr ""
+msgstr "%s sarrera-iturria"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Karaktere-mapa"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
-msgstr ""
+msgstr "Teklatuaren diseinuaren mapa"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
-msgstr ""
+msgstr "Testu-sarreraren ezarpenak"
diff --git a/po/fa.po b/po/fa.po
index 88cc3946..260642e1 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-11-01 05:30+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian <fa@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
-msgstr ""
+msgstr "%s منبع ورودی"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
-msgstr ""
+msgstr "نقشه‌ی نویسه‌ها"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
-msgstr ""
+msgstr "نمودار چینش صفحه‌کلید"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
-msgstr ""
+msgstr "تنظیمات ورودی متن…"
diff --git a/po/fi.po b/po/fi.po
index 79c2c460..51714058 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-03 09:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <fi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Syötelähde %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Merkkikartta"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Näppäimistön asettelu"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Tekstisyötteen asetukset..."
diff --git a/po/fr.po b/po/fr.po
index 72d341d1..df54406b 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-08-29 08:33+0000\n"
"Last-Translator: Matthieu Baerts <matttbe@gmail.com>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Agencement : %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Table de caractères"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Représentation de l'agencement"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Paramètres d'agencement"
diff --git a/po/fr_CA.po b/po/fr_CA.po
new file mode 100644
index 00000000..423fa375
--- /dev/null
+++ b/po/fr_CA.po
@@ -0,0 +1,35 @@
+# French (Canada) translation for indicator-keyboard
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the indicator-keyboard package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: indicator-keyboard\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
+"PO-Revision-Date: 2014-01-29 20:20+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: French (Canada) <fr_CA@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
+
+#: ../lib/main.vala:569
+#, c-format
+msgid "%s input source"
+msgstr "%s source d'entrée"
+
+#: ../lib/main.vala:694
+msgid "Character Map"
+msgstr "Table de caractères"
+
+#: ../lib/main.vala:695
+msgid "Keyboard Layout Chart"
+msgstr "Affichage de l'agencement du clavier"
+
+#: ../lib/main.vala:696
+msgid "Text Entry Settings..."
+msgstr "Paramètres de saisie de texte"
diff --git a/po/gd.po b/po/gd.po
index 7af04419..bbb8abdf 100644
--- a/po/gd.po
+++ b/po/gd.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-30 10:02+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Gaelic; Scottish <gd@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Tùs ion-chur %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa nan caractaran"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Cairt co-dhealbhachd a' mheur-chlàir"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Roghainnean ion-chur teacsa..."
diff --git a/po/gl.po b/po/gl.po
index e8ecbd3f..98e63ceb 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-29 17:49+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Orixe da entrada: %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de caracteres"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Gráfica da disposición do teclado"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Configuración da entrada de texto..."
diff --git a/po/he.po b/po/he.po
index 3c3649a8..555c4289 100644
--- a/po/he.po
+++ b/po/he.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-01 12:03+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hebrew <he@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "מקור קלט %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "מפת תווים"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "תרשים פריסת המקלדת"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "הגדרות הזנת טקסט…"
diff --git a/po/hi.po b/po/hi.po
index bdb9aeb2..2a6e3840 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 21:49+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hindi <hi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "अक्षर तालिका"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr ""
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr ""
diff --git a/po/hu.po b/po/hu.po
index 9fdba85d..dae1d2ab 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-04 18:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian <hu@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s beviteli forrás"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Karaktertábla"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Billentyűzetkiosztás"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Szövegbeviteli beállítások…"
diff --git a/po/id.po b/po/id.po
index 0682c301..e3083ff3 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-11-12 16:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Indonesian <id@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
-msgstr ""
+msgstr "%s sumber masukan"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
-msgstr ""
+msgstr "Peta Karakter"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
-msgstr ""
+msgstr "Bagan Tata Letak Papan Ketik"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
-msgstr ""
+msgstr "Pengaturan Pemasukan Teks"
diff --git a/po/it.po b/po/it.po
index 9dd58b5b..cddfcd07 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-12 11:02+0000\n"
"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Sorgente di input %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Tabella caratteri"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Disposizione tastiera"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Impostazioni inserimento testo..."
diff --git a/po/ja.po b/po/ja.po
index 8c713cf3..67e2558f 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-29 07:25+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s 入力ソース"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "文字マップ"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "キーボードレイアウト表"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "テキスト入力設定..."
diff --git a/po/km.po b/po/km.po
index 328e7e3c..7d5949a1 100644
--- a/po/km.po
+++ b/po/km.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-17 01:42+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Khmer <km@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "ប្រភព​បញ្ចូល %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "ផែនទី​តួអក្សរ"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "តារាង​ប្លង់​ក្ដារចុច"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "ការ​កំណត់​ធាតុ​អត្ថបទ..."
diff --git a/po/kn.po b/po/kn.po
index d35b5fe6..d34b86ca 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-16 11:18+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Kannada <kn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "ಅಕ್ಷರ ನಕ್ಷೆ"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸ ಪಟ್ಟಿ"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "ಪಠ್ಯ ನಮೂದಿಸುವ ಸಂಯೋಜನೆಗಳು ..."
diff --git a/po/ko.po b/po/ko.po
index 68482c2f..fe08bc15 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-01 10:55+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Korean <ko@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "입력 소스 %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "문자 표"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "키보드 배치 표"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "텍스트 입력창 설정..."
diff --git a/po/lt.po b/po/lt.po
index eb040525..3e5a0186 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-08-30 14:47+0000\n"
"Last-Translator: Aurimas Fišeras <Unknown>\n"
"Language-Team: Lithuanian <lt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s įvesties šaltinis"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Simbolių lentelė"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Klaviatūros klavišų išdėstymas"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Teksto įvedimo nustatymai..."
diff --git a/po/lv.po b/po/lv.po
index 47a1029e..5af7a880 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-03 15:03+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s ievades avots"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Rakstzīmju tabula"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Klaviatūras Izkārtojuma Tabula"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Teksta Ievades Iestatījumi..."
diff --git a/po/mhr.po b/po/mhr.po
index e38eabf2..2ba145ba 100644
--- a/po/mhr.po
+++ b/po/mhr.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-12-10 07:43+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Mari (Meadow) <mhr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Ӱжвата-влак"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Полдышоҥа Радам График"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Текстым Келыштараш..."
diff --git a/po/ml.po b/po/ml.po
index 1b650712..a952bec4 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-12-29 06:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malayalam <ml@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s ഇന്‍പുട്ട് ഉറവിടം"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "അക്ഷരങ്ങളുടെ പട്ടിക"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "കീബോഡ് ലേയൗട്ട് പട്ടിക"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "പദാവലി നല്‍കല്‍ സജ്ജീകരണങ്ങള്‍..."
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 00000000..b32b686f
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,35 @@
+# Marathi translation for indicator-keyboard
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the indicator-keyboard package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: indicator-keyboard\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
+"PO-Revision-Date: 2014-01-07 01:54+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Marathi <mr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
+
+#: ../lib/main.vala:569
+#, c-format
+msgid "%s input source"
+msgstr "%s मजकूर प्रवेशाचे उगम"
+
+#: ../lib/main.vala:694
+msgid "Character Map"
+msgstr "अक्षर नकाशा"
+
+#: ../lib/main.vala:695
+msgid "Keyboard Layout Chart"
+msgstr "कळफलकाचा तक्ता"
+
+#: ../lib/main.vala:696
+msgid "Text Entry Settings..."
+msgstr "मजकूर प्रवेशाचे नेपथ्य"
diff --git a/po/ms.po b/po/ms.po
index 4ef472a0..547233d5 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 17:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malay <ms@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "% sumber input"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Peta Aksara"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Carta Bentanga Papan Kekunci"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Tetapan Masukan Teks..."
diff --git a/po/nb.po b/po/nb.po
index 8cc759e3..e0fea7ad 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-07 09:55+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s inndatakilde"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Tegnkart"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Kart over tastaturoppsett"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Innstillinger for tekstskriving …"
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 00000000..16ce6420
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,35 @@
+# Nepali translation for indicator-keyboard
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the indicator-keyboard package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: indicator-keyboard\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
+"PO-Revision-Date: 2014-01-08 09:58+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Nepali <ne@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
+
+#: ../lib/main.vala:569
+#, c-format
+msgid "%s input source"
+msgstr "%s इनपुट स्रोत"
+
+#: ../lib/main.vala:694
+msgid "Character Map"
+msgstr "चरित्र नक्शा"
+
+#: ../lib/main.vala:695
+msgid "Keyboard Layout Chart"
+msgstr "कुञ्जीपाटी लेआउट चार्ट"
+
+#: ../lib/main.vala:696
+msgid "Text Entry Settings..."
+msgstr "पाठ प्रविष्टि सेटिङ ..."
diff --git a/po/nl.po b/po/nl.po
index df13e238..384afb47 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-30 07:20+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s invoerbron"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Tekens en symbolen"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Toetsenbordindelingoverzicht"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Tekstinvoerinstellingen…"
diff --git a/po/oc.po b/po/oc.po
index ad192b3e..e31f7e31 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-02 06:07+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Occitan (post 1500) <oc@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Agençament : %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Taula de caractèrs"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Representacion de l'agençament"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Paramètres d'agençament"
diff --git a/po/pl.po b/po/pl.po
index dd6b1571..5663d57b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-13 13:52+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s metoda wprowadzania"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa znaków"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Tabela układów klawiatury"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Ustawienia wprowadzanie tekstu..."
diff --git a/po/pt.po b/po/pt.po
index d35d7bcf..b230fcf1 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-10 21:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "fonte de entrada %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de Caracteres"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Disposição do teclado"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Definições de entrada de texto..."
diff --git a/po/pt_BR.po b/po/pt_BR.po
index baac5070..51e40e68 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-08-28 01:25+0000\n"
"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "fonte de entrada %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa de caracteres"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Disposição do teclado"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Configurações de entrada de texto…"
diff --git a/po/ro.po b/po/ro.po
index 2c5ca96b..77f56796 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-30 07:42+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Romanian <ro@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr ""
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr ""
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr ""
diff --git a/po/ru.po b/po/ru.po
index 91a33473..1e3d59aa 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-12 22:02+0000\n"
"Last-Translator: Igor Zubarev <igor.zubarev@gmail.com>\n"
"Language-Team: Russian <ru@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Источник ввода %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Таблица символов"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Схема раскладки клавиатуры"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Параметры ввода текста..."
diff --git a/po/si.po b/po/si.po
index b26376bc..dc6587a9 100644
--- a/po/si.po
+++ b/po/si.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-31 17:57+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Sinhalese <si@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s ආදාන මූලාශ්‍රය"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr ""
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr ""
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr ""
diff --git a/po/sk.po b/po/sk.po
index 5bb26831..265e0bff 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-02 13:04+0000\n"
"Last-Translator: Pavol Klačanský <pavol@klacansky.com>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "zdroj vstupu %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Mapa znakov"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Rozloženie klávesnice"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Nastavenia vstupu…"
diff --git a/po/sl.po b/po/sl.po
index b520d59a..ff35cac4 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-27 18:24+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s vir vnosa"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Preglednica znakov"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Prikaz razporeditve tipk"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Nastavitve vnosa besedila ..."
diff --git a/po/sq.po b/po/sq.po
index f7e3dc99..99569b63 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 13:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Albanian <sq@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s burim hyrjeje"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Harta e Simboleve"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Harta e Daljes së Tastierës"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Parametrat e Hyrjes së Tekstit..."
diff --git a/po/sr.po b/po/sr.po
index 2c7ce364..a674c520 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-06-21 11:10+0000\n"
"Last-Translator: Иван Благојевић <ivan_blagojevic@mail.com>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr ""
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Мапа карактера"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Шаблон распореда тастатуре"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Подешавања уноса текста"
diff --git a/po/sv.po b/po/sv.po
index d0e5d7b8..c91187c4 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-30 08:08+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s inmatningskälla"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Teckentabell"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Teckentabell"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Inställningar för textinmatning..."
diff --git a/po/ta.po b/po/ta.po
index 91fcd552..6b7e28dd 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-25 01:48+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tamil <ta@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s உள்ளீடு மூலம்"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "எழுத்து வரைபடம்"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "விசைப்பலகை வரைபடம்"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "உரை நுழைவு அமைப்புகள்..."
diff --git a/po/tg.po b/po/tg.po
index dc27aea2..4915ca98 100644
--- a/po/tg.po
+++ b/po/tg.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 14:41+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tajik <tg@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Манбаи вуруди %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Тарҳбандии аломатҳо"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Аломатҳои тарҳбандии клавиатура"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Танзимоти вуруди матн..."
diff --git a/po/tr.po b/po/tr.po
index 990e5495..e4778e90 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-28 21:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish <tr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s girdi kaynağı"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Karakter Haritası"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Klavye Düzeni Şeması"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Metin Girdisi Ayarları..."
diff --git a/po/ug.po b/po/ug.po
index 341cf38f..3e8ffa5e 100644
--- a/po/ug.po
+++ b/po/ug.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-30 06:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Uyghur <ug@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s كىرگۈزۈش مەنبەسى"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "ھەرپ-بەلگە جەدۋىلى"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "ھەرپتاختا ئورۇنلاشتۇرۇش كۆرۈنۈشى"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "تېكىست كىرگۈزۈش تەڭشەكلىرى…"
diff --git a/po/uk.po b/po/uk.po
index 06769a22..e94a42c1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-09-27 17:20+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "Джерело введення %s"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Таблиця символів"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Таблиця розкладки клавіатури"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Параметри введення тексту…"
diff --git a/po/vi.po b/po/vi.po
index 0f1b086a..5764705a 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-16 11:12+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese <vi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s nguồn đầu vào"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "Sơ đồ kí tự"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "Biểu đồ Bố cục Bàn phím"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "Thiết đặt nhập văn bản..."
diff --git a/po/zh_CN.po b/po/zh_CN.po
index d23eda44..e499cbc8 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-03 12:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s 输入源"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "字符映射表"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "键盘布局图"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "文本输入设置..."
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644
index 00000000..cf7254f8
--- /dev/null
+++ b/po/zh_HK.po
@@ -0,0 +1,35 @@
+# Chinese (Hong Kong) translation for indicator-keyboard
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the indicator-keyboard package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: indicator-keyboard\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
+"PO-Revision-Date: 2014-01-26 14:12+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
+
+#: ../lib/main.vala:569
+#, c-format
+msgid "%s input source"
+msgstr "%s 輸入來源"
+
+#: ../lib/main.vala:694
+msgid "Character Map"
+msgstr "字元對應表"
+
+#: ../lib/main.vala:695
+msgid "Keyboard Layout Chart"
+msgstr "鍵盤佈局圖"
+
+#: ../lib/main.vala:696
+msgid "Text Entry Settings..."
+msgstr "文本輸入設定..."
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 8b127b85..de642b52 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,29 +7,29 @@ msgid ""
msgstr ""
"Project-Id-Version: indicator-keyboard\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-12-31 05:30+0000\n"
+"POT-Creation-Date: 2014-01-30 18:29+0000\n"
"PO-Revision-Date: 2013-10-14 14:50+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-01-01 05:44+0000\n"
-"X-Generator: Launchpad (build 16877)\n"
+"X-Launchpad-Export-Date: 2014-01-31 06:25+0000\n"
+"X-Generator: Launchpad (build 16916)\n"
-#: ../lib/main.vala:552
+#: ../lib/main.vala:569
#, c-format
msgid "%s input source"
msgstr "%s 輸入來源"
-#: ../lib/main.vala:677
+#: ../lib/main.vala:694
msgid "Character Map"
msgstr "字元對應表"
-#: ../lib/main.vala:678
+#: ../lib/main.vala:695
msgid "Keyboard Layout Chart"
msgstr "鍵盤配置圖"
-#: ../lib/main.vala:679
+#: ../lib/main.vala:696
msgid "Text Entry Settings..."
msgstr "文字輸入設定..."
diff --git a/tests/Makefile.am b/tests/Makefile.am
index da083318..f3be1539 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,7 +8,8 @@ AM_LDFLAGS = -lm
AM_VALAFLAGS = --metadatadir $(top_srcdir)/deps \
--vapidir $(top_srcdir)/deps
-indicator_keyboard_tests_SOURCES = main.vala \
+indicator_keyboard_tests_SOURCES = main.vala \
+ fixture.vala \
config.vala
indicator_keyboard_tests_VALAFLAGS = $(AM_VALAFLAGS) \
--pkg gio-2.0
diff --git a/tests/fixture.vala b/tests/fixture.vala
new file mode 100644
index 00000000..7adc434f
--- /dev/null
+++ b/tests/fixture.vala
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2014 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authored by Michal Hruby <michal.hruby@canonical.com>
+ *
+ * This file is taken from libunity.
+ */
+
+/* A bit of magic to get proper-ish fixture support */
+public interface Fixture : Object
+{
+ class DelegateWrapper
+ {
+ TestDataFunc func;
+ public DelegateWrapper (owned TestDataFunc f) { func = (owned) f; }
+ }
+
+ public virtual void setup () {}
+ public virtual void teardown () {}
+
+ [CCode (has_target = false)]
+ public delegate void Callback<T> (T ptr);
+
+ private static List<DelegateWrapper> _tests;
+
+ public static unowned TestDataFunc create<F> (Callback<void*> cb)
+ requires (typeof (F).is_a (typeof (Fixture)))
+ {
+ TestDataFunc functor = () =>
+ {
+ var type = typeof (F);
+ var instance = Object.new (type) as Fixture;
+ instance.setup ();
+ cb (instance);
+ instance.teardown ();
+ };
+ unowned TestDataFunc copy = functor;
+ _tests.append (new DelegateWrapper ((owned) functor));
+ return copy;
+ }
+ public static unowned TestDataFunc create_static<F> (Callback<F> cb)
+ {
+ return create<F> ((Callback<void*>) cb);
+ }
+}
+
+public static bool run_with_timeout (MainLoop ml, uint timeout_ms = 5000)
+{
+ bool timeout_reached = false;
+ var t_id = Timeout.add (timeout_ms, () =>
+ {
+ timeout_reached = true;
+ debug ("Timeout reached");
+ ml.quit ();
+ return false;
+ });
+
+ ml.run ();
+
+ if (!timeout_reached) Source.remove (t_id);
+
+ return !timeout_reached;
+}
+
+/* calling this will ensure that the object was destroyed, but note that
+ * it needs to be called with the (owned) modifier */
+public static void ensure_destruction (owned Object obj)
+{
+ var ml = new MainLoop ();
+ bool destroyed = false;
+ obj.weak_ref (() => { destroyed = true; ml.quit (); });
+
+ obj = null;
+ if (!destroyed)
+ {
+ // wait a bit if there were async operations
+ assert (run_with_timeout (ml));
+ }
+}
+
+public class ErrorHandler
+{
+ public ErrorHandler ()
+ {
+ GLib.Test.log_set_fatal_handler (handle_fatal_func);
+ }
+
+ private bool handle_fatal_func (string? log_domain, LogLevelFlags flags,
+ string message)
+ {
+ return false;
+ }
+
+ private uint[] handler_ids;
+ private GenericArray<string?> handler_domains;
+
+ public void ignore_message (string? domain, LogLevelFlags flags)
+ {
+ handler_ids += Log.set_handler (domain, flags | LogLevelFlags.FLAG_FATAL,
+ () => {});
+ if (handler_domains == null)
+ {
+ handler_domains = new GenericArray<string?> ();
+ }
+ handler_domains.add (domain);
+ }
+
+ ~ErrorHandler ()
+ {
+ for(uint i = 0; i < handler_ids.length; i++)
+ Log.remove_handler (handler_domains[i], handler_ids[i]);
+ }
+}
diff --git a/tests/main.vala b/tests/main.vala
index 1a7833a2..d84de7ee 100644
--- a/tests/main.vala
+++ b/tests/main.vala
@@ -20,6 +20,8 @@ const int TIMEOUT_S = 1;
const int TIMEOUT_MS = 1000;
const int LONG_TIMEOUT_S = 10;
+static string display;
+
[DBus (name = "com.canonical.indicator.keyboard.test")]
public class Service : Object {
@@ -42,676 +44,603 @@ public class Service : Object {
}
}
-struct Fixture {
- TestDBus? bus;
- uint service_name;
- DBusConnection? connection;
- Service? service;
- uint object_name;
-}
+public class Tests : Object, Fixture {
+
+ private TestDBus? _bus;
+ private uint _service_name;
+ private DBusConnection? _connection;
+ private Service? _service;
+ private uint _object_name;
+
+ public void start_service () {
+ if (_connection != null) {
+ try {
+ _service = new Service ();
+ _object_name = ((!) _connection).register_object ("/com/canonical/indicator/keyboard/test", _service);
+ } catch (IOError error) {
+ _connection = null;
+ _service = null;
+ _object_name = 0;
+
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ }
+ }
+ }
-static void start_service (Fixture *fixture) {
- if (fixture.connection != null) {
- try {
- fixture.service = new Service ();
- fixture.object_name = ((!) fixture.connection).register_object ("/com/canonical/indicator/keyboard/test", fixture.service);
- } catch (IOError error) {
- fixture.connection = null;
- fixture.service = null;
- fixture.object_name = 0;
+ public void setup () {
+ Environment.set_variable ("DCONF_PROFILE", DCONF_PROFILE, true);
+ Environment.set_variable ("DISPLAY", display, true);
+ Environment.set_variable ("LC_ALL", "C", true);
+
+ _bus = new TestDBus (TestDBusFlags.NONE);
+ ((!) _bus).add_service_dir (SERVICE_DIR);
+ ((!) _bus).up ();
+
+ var loop = new MainLoop (null, false);
+
+ _service_name = Bus.own_name (BusType.SESSION,
+ "com.canonical.indicator.keyboard.test",
+ BusNameOwnerFlags.ALLOW_REPLACEMENT | BusNameOwnerFlags.REPLACE,
+ (connection, name) => {
+ if (loop.is_running ()) {
+ _connection = connection;
+ start_service ();
+ loop.quit ();
+ }
+ },
+ null,
+ (connection, name) => {
+ if (loop.is_running ()) {
+ _connection = null;
+ _service = null;
+ _object_name = 0;
+ loop.quit ();
+ }
+ });
+
+ loop.run ();
+
+ if (_connection == null) {
+ Test.message ("error: Unable to connect to com.canonical.indicator.keyboard.test.");
+ Test.fail ();
+ }
- Test.message ("error: %s", error.message);
+ if (_object_name == 0) {
+ Test.message ("error: Test fixture not initialized.");
Test.fail ();
+ return;
}
}
-}
-static void begin_test (void *data) {
- var fixture = (Fixture *) data;
+ public void teardown () {
+ if (_object_name != 0) {
+ ((!) _connection).unregister_object (_object_name);
+ _object_name = 0;
+ }
- fixture.bus = new TestDBus (TestDBusFlags.NONE);
- ((!) fixture.bus).add_service_dir (SERVICE_DIR);
- ((!) fixture.bus).up ();
+ if (_service_name != 0) {
+ Bus.unown_name (_service_name);
+ _service_name = 0;
+ }
- var loop = new MainLoop (null, false);
+ _service = null;
+ _connection = null;
- fixture.service_name = Bus.own_name (BusType.SESSION,
- "com.canonical.indicator.keyboard.test",
- BusNameOwnerFlags.ALLOW_REPLACEMENT | BusNameOwnerFlags.REPLACE,
- (connection, name) => {
- if (loop.is_running ()) {
- fixture.connection = connection;
+ if (_bus != null) {
+ ((!) _bus).down ();
+ _bus = null;
+ }
+ }
- start_service (fixture);
+ public void test_activate_input_source () {
+ try {
+ var current = 0;
+ var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- loop.quit ();
- }
- },
- null,
- (connection, name) => {
- if (loop.is_running ()) {
- fixture.connection = null;
- fixture.service = null;
- fixture.object_name = 0;
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ action_group.list_actions ();
+ action_group.activate_action ("current", new Variant.uint32 (2));
- loop.quit ();
- }
- });
+ var loop = new MainLoop (null, false);
+ Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
+ loop.run ();
- loop.run ();
+ var state = action_group.get_action_state ("current");
+ var current = state.get_uint32 ();
+ stderr.printf ("current = %u\n", current);
+ assert (current == 2);
- if (fixture.connection == null) {
- Test.message ("error: Unable to connect to com.canonical.indicator.keyboard.test.");
- Test.fail ();
+ try {
+ string output;
+ Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
+ stderr.printf ("output = \"%s\"\n", output);
+ assert (strcmp (output, "uint32 2\n") == 0);
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
}
-}
-static void end_test (void *data) {
- var fixture = (Fixture *) data;
+ public void test_activate_character_map () {
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ var loop = new MainLoop (null, false);
+ var signal_name = ((!) _service).notify["command"].connect ((pspec) => {
+ loop.quit ();
+ });
- if (fixture.object_name != 0) {
- ((!) fixture.connection).unregister_object (fixture.object_name);
- fixture.object_name = 0;
- }
+ action_group.activate_action ("map", null);
- if (fixture.service_name != 0) {
- Bus.unown_name (fixture.service_name);
- fixture.service_name = 0;
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ ((!) _service).disconnect (signal_name);
+
+ stderr.printf ("_service.command = \"%s\"\n", (!) ((!) _service).command);
+ assert (strcmp ((!) ((!) _service).command, "'gucharmap '") == 0);
}
- fixture.service = null;
- fixture.connection = null;
+ public void test_activate_keyboard_layout_chart () {
+ try {
+ var current = 1;
+ var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- if (fixture.bus != null) {
- ((!) fixture.bus).down ();
- fixture.bus = null;
- }
-}
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ var loop = new MainLoop (null, false);
+ var signal_name = ((!) _service).notify["command"].connect ((pspec) => {
+ loop.quit ();
+ });
-static void test_activate_input_source (void *data) {
- var fixture = (Fixture *) data;
+ action_group.activate_action ("chart", null);
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ ((!) _service).disconnect (signal_name);
- try {
- var current = 0;
- var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
+ stderr.printf ("_service.command = \"%s\"\n", (!) ((!) _service).command);
+ assert (strcmp ((!) ((!) _service).command, "'gkbd-keyboard-display -l ca\teng'") == 0);
}
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- action_group.list_actions ();
- action_group.activate_action ("current", new Variant.uint32 (2));
-
- var loop = new MainLoop (null, false);
- Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
-
- var state = action_group.get_action_state ("current");
- var current = state.get_uint32 ();
- stderr.printf ("current = %u\n", current);
- assert (current == 2);
-
- try {
- string output;
- Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
- stderr.printf ("output = \"%s\"\n", output);
- assert (strcmp (output, "uint32 2\n") == 0);
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
-}
+ public void test_activate_text_entry_settings () {
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ var loop = new MainLoop (null, false);
+ var signal_name = ((!) _service).notify["command"].connect ((pspec) => {
+ loop.quit ();
+ });
-static void test_activate_character_map (void *data) {
- var fixture = (Fixture *) data;
+ action_group.activate_action ("settings", null);
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ ((!) _service).disconnect (signal_name);
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- var loop = new MainLoop (null, false);
- var signal_name = ((!) fixture.service).notify["command"].connect ((pspec) => {
- loop.quit ();
- });
+ stderr.printf ("_service.command = \"%s\"\n", (!) ((!) _service).command);
+ assert (strcmp ((!) ((!) _service).command, "'gnome-control-center region layouts'") == 0);
+ }
- action_group.activate_action ("map", null);
+ public void test_migration () {
+ try {
+ var migrated = false;
+ var sources = "[('xkb', 'us')]";
+ var layouts = "['us', 'ca\teng', 'epo']";
+ Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard migrated $migrated");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.libgnomekbd.keyboard layouts \"$layouts\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- ((!) fixture.service).disconnect (signal_name);
+ try {
+ var cancellable = new Cancellable ();
- stderr.printf ("fixture.service.command = \"%s\"\n", (!) ((!) fixture.service).command);
- assert (strcmp ((!) ((!) fixture.service).command, "'gucharmap '") == 0);
-}
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return true; });
-static void test_activate_keyboard_layout_chart (void *data) {
- var fixture = (Fixture *) data;
+ var dbus_proxy = new DBusProxy.sync ((!) _connection,
+ DBusProxyFlags.NONE,
+ null,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ cancellable);
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ Source.remove (source);
- try {
- var current = 1;
- var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ if (cancellable.is_cancelled ()) {
+ Test.message ("error: Unable to connect to org.freedesktop.DBus.");
+ Test.fail ();
+ return;
+ }
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- var loop = new MainLoop (null, false);
- var signal_name = ((!) fixture.service).notify["command"].connect ((pspec) => {
- loop.quit ();
- });
+ dbus_proxy.call_sync ("StartServiceByName", new Variant ("(su)", "com.canonical.indicator.keyboard", 0), DBusCallFlags.NONE, TIMEOUT_MS);
+ } catch (Error error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- action_group.activate_action ("chart", null);
+ var loop = new MainLoop (null, false);
+ Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
+ loop.run ();
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- ((!) fixture.service).disconnect (signal_name);
+ try {
+ string sources;
+ Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources);
+ stderr.printf ("sources = \"%s\"\n", sources);
+ assert (strcmp (sources, "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo')]\n") == 0);
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
+ }
- stderr.printf ("fixture.service.command = \"%s\"\n", (!) ((!) fixture.service).command);
- assert (strcmp ((!) ((!) fixture.service).command, "'gkbd-keyboard-display -l ca\teng'") == 0);
-}
+ public void test_no_migration () {
+ try {
+ var migrated = true;
+ var sources = "[('xkb', 'us')]";
+ var layouts = "['us', 'ca\teng', 'epo']";
+ Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard migrated $migrated");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.libgnomekbd.keyboard layouts \"$layouts\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
-static void test_activate_text_entry_settings (void *data) {
- var fixture = (Fixture *) data;
+ try {
+ var cancellable = new Cancellable ();
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return true; });
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- var loop = new MainLoop (null, false);
- var signal_name = ((!) fixture.service).notify["command"].connect ((pspec) => {
- loop.quit ();
- });
+ var dbus_proxy = new DBusProxy.sync ((!) _connection,
+ DBusProxyFlags.NONE,
+ null,
+ "org.freedesktop.DBus",
+ "/",
+ "org.freedesktop.DBus",
+ cancellable);
- action_group.activate_action ("settings", null);
+ Source.remove (source);
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- ((!) fixture.service).disconnect (signal_name);
+ if (cancellable.is_cancelled ()) {
+ Test.message ("error: Unable to connect to org.freedesktop.DBus.");
+ Test.fail ();
+ return;
+ }
- stderr.printf ("fixture.service.command = \"%s\"\n", (!) ((!) fixture.service).command);
- assert (strcmp ((!) ((!) fixture.service).command, "'gnome-control-center region layouts'") == 0);
-}
+ dbus_proxy.call_sync ("StartServiceByName", new Variant ("(su)", "com.canonical.indicator.keyboard", 0), DBusCallFlags.NONE, TIMEOUT_MS);
+ } catch (Error error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
-static void test_migration (void *data) {
- var fixture = (Fixture *) data;
+ var loop = new MainLoop (null, false);
+ Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
+ loop.run ();
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
+ try {
+ string sources;
+ Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources);
+ stderr.printf ("sources = \"%s\"\n", sources);
+ assert (strcmp (sources, "[('xkb', 'us')]\n") == 0);
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
}
- try {
- var migrated = false;
- var sources = "[('xkb', 'us')]";
- var layouts = "['us', 'ca\teng', 'epo']";
- Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard migrated $migrated");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.libgnomekbd.keyboard layouts \"$layouts\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ public void test_update_visible () {
+ bool visible;
- try {
- var cancellable = new Cancellable ();
+ try {
+ visible = true;
+ Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return false; });
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ var loop = new MainLoop (null, false);
+ var signal_name = action_group.action_added["indicator"].connect ((action) => {
+ loop.quit ();
+ });
- var dbus_proxy = new DBusProxy.sync ((!) fixture.connection,
- DBusProxyFlags.NONE,
- null,
- "org.freedesktop.DBus",
- "/",
- "org.freedesktop.DBus",
- cancellable);
+ action_group.list_actions ();
+ var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
Source.remove (source);
+ action_group.disconnect (signal_name);
- if (cancellable.is_cancelled ()) {
- Test.message ("error: Unable to connect to org.freedesktop.DBus.");
+ var state = action_group.get_action_state ("indicator");
+ assert (state.lookup ("visible", "b", out visible));
+ stderr.printf ("visible = %s\n", visible ? "true" : "false");
+ assert (visible);
+
+ loop = new MainLoop (null, false);
+ signal_name = action_group.action_state_changed["indicator"].connect ((action, state) => {
+ loop.quit ();
+ });
+
+ try {
+ visible = false;
+ Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
Test.fail ();
return;
}
- dbus_proxy.call_sync ("StartServiceByName", new Variant ("(su)", "com.canonical.indicator.keyboard", 0), DBusCallFlags.NONE, TIMEOUT_MS);
- } catch (Error error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ action_group.disconnect (signal_name);
- var loop = new MainLoop (null, false);
- Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
-
- try {
- string sources;
- Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources);
- stderr.printf ("sources = \"%s\"\n", sources);
- assert (strcmp (sources, "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo')]\n") == 0);
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
-}
+ state = action_group.get_action_state ("indicator");
+ assert (state.lookup ("visible", "b", out visible));
+ stderr.printf ("visible = %s\n", visible ? "true" : "false");
+ assert (!visible);
-static void test_no_migration (void *data) {
- var fixture = (Fixture *) data;
+ loop = new MainLoop (null, false);
+ signal_name = action_group.action_state_changed["indicator"].connect ((action, state) => {
+ loop.quit ();
+ });
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ try {
+ visible = true;
+ Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- try {
- var migrated = true;
- var sources = "[('xkb', 'us')]";
- var layouts = "['us', 'ca\teng', 'epo']";
- Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard migrated $migrated");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.libgnomekbd.keyboard layouts \"$layouts\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ action_group.disconnect (signal_name);
- try {
- var cancellable = new Cancellable ();
+ state = action_group.get_action_state ("indicator");
+ assert (state.lookup ("visible", "b", out visible));
+ stderr.printf ("visible = %s\n", visible ? "true" : "false");
+ assert (visible);
+ }
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { cancellable.cancel (); return false; });
+ public void test_update_input_source () {
+ try {
+ var current = 0;
+ var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- var dbus_proxy = new DBusProxy.sync ((!) fixture.connection,
- DBusProxyFlags.NONE,
- null,
- "org.freedesktop.DBus",
- "/",
- "org.freedesktop.DBus",
- cancellable);
+ var action_group = DBusActionGroup.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard");
+ var loop = new MainLoop (null, false);
+ var signal_name = action_group.action_state_changed["current"].connect ((action, state) => {
+ loop.quit ();
+ });
- Source.remove (source);
+ action_group.list_actions ();
- if (cancellable.is_cancelled ()) {
- Test.message ("error: Unable to connect to org.freedesktop.DBus.");
+ try {
+ var current = 1;
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
Test.fail ();
return;
}
- dbus_proxy.call_sync ("StartServiceByName", new Variant ("(su)", "com.canonical.indicator.keyboard", 0), DBusCallFlags.NONE, TIMEOUT_MS);
- } catch (Error error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ action_group.disconnect (signal_name);
- var loop = new MainLoop (null, false);
- Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
-
- try {
- string sources;
- Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources sources", out sources);
- stderr.printf ("sources = \"%s\"\n", sources);
- assert (strcmp (sources, "[('xkb', 'us')]\n") == 0);
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
-}
+ var state = action_group.get_action_state ("current");
+ var current = state.get_uint32 ();
+ stderr.printf ("current = %u\n", current);
+ assert (current == 1);
-static void test_update_visible (void *data) {
- var fixture = (Fixture *) data;
+ try {
+ string output;
+ Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
+ stderr.printf ("output = \"%s\"\n", output);
+ assert (strcmp (output, "uint32 1\n") == 0);
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ loop = new MainLoop (null, false);
+ signal_name = action_group.action_state_changed["current"].connect ((action, state) => {
+ loop.quit ();
+ });
- bool visible;
+ try {
+ current = 0;
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- try {
- visible = true;
- Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ action_group.disconnect (signal_name);
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- var loop = new MainLoop (null, false);
- var signal_name = action_group.action_added["indicator"].connect ((action) => {
- loop.quit ();
- });
-
- action_group.list_actions ();
-
- var source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- action_group.disconnect (signal_name);
-
- var state = action_group.get_action_state ("indicator");
- assert (state.lookup ("visible", "b", out visible));
- stderr.printf ("visible = %s\n", visible ? "true" : "false");
- assert (visible);
-
- loop = new MainLoop (null, false);
- signal_name = action_group.action_state_changed["indicator"].connect ((action, state) => {
- loop.quit ();
- });
-
- try {
- visible = false;
- Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ state = action_group.get_action_state ("current");
+ current = state.get_uint32 ();
+ stderr.printf ("current = %u\n", current);
+ assert (current == 0);
- source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- action_group.disconnect (signal_name);
-
- state = action_group.get_action_state ("indicator");
- assert (state.lookup ("visible", "b", out visible));
- stderr.printf ("visible = %s\n", visible ? "true" : "false");
- assert (!visible);
-
- loop = new MainLoop (null, false);
- signal_name = action_group.action_state_changed["indicator"].connect ((action, state) => {
- loop.quit ();
- });
-
- try {
- visible = true;
- Process.spawn_command_line_sync (@"gsettings set com.canonical.indicator.keyboard visible $visible");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
+ try {
+ string output;
+ Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
+ stderr.printf ("output = \"%s\"\n", output);
+ assert (strcmp (output, "uint32 0\n") == 0);
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
}
- source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- action_group.disconnect (signal_name);
+ public void test_update_input_sources () {
+ try {
+ var current = 0;
+ var sources = "[('xkb', 'us')]";
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
+ }
- state = action_group.get_action_state ("indicator");
- assert (state.lookup ("visible", "b", out visible));
- stderr.printf ("visible = %s\n", visible ? "true" : "false");
- assert (visible);
-}
+ var menu_model = DBusMenuModel.get ((!) _connection,
+ "com.canonical.indicator.keyboard",
+ "/com/canonical/indicator/keyboard/desktop");
+ var loop = new MainLoop (null, false);
+ var signal_name = menu_model.items_changed.connect ((position, removed, added) => {
+ loop.quit ();
+ });
-static void test_update_input_source (void *data) {
- var fixture = (Fixture *) data;
+ menu_model.get_n_items ();
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ menu_model.disconnect (signal_name);
- try {
- var current = 0;
- var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ var menu = menu_model.get_item_link (0, Menu.LINK_SUBMENU);
+ loop = new MainLoop (null, false);
+ signal_name = menu.items_changed.connect ((position, removed, added) => {
+ loop.quit ();
+ });
- var action_group = DBusActionGroup.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard");
- var loop = new MainLoop (null, false);
- var signal_name = action_group.action_state_changed["current"].connect ((action, state) => {
- loop.quit ();
- });
-
- action_group.list_actions ();
-
- try {
- var current = 1;
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ menu.get_n_items ();
- var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- action_group.disconnect (signal_name);
-
- var state = action_group.get_action_state ("current");
- var current = state.get_uint32 ();
- stderr.printf ("current = %u\n", current);
- assert (current == 1);
-
- try {
- string output;
- Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
- stderr.printf ("output = \"%s\"\n", output);
- assert (strcmp (output, "uint32 1\n") == 0);
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ menu.disconnect (signal_name);
- loop = new MainLoop (null, false);
- signal_name = action_group.action_state_changed["current"].connect ((action, state) => {
- loop.quit ();
- });
-
- try {
- current = 0;
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ var section = menu.get_item_link (0, Menu.LINK_SECTION);
+ loop = new MainLoop (null, false);
+ signal_name = section.items_changed.connect ((position, removed, added) => {
+ loop.quit ();
+ });
- source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- action_group.disconnect (signal_name);
-
- state = action_group.get_action_state ("current");
- current = state.get_uint32 ();
- stderr.printf ("current = %u\n", current);
- assert (current == 0);
-
- try {
- string output;
- Process.spawn_command_line_sync ("gsettings get org.gnome.desktop.input-sources current", out output);
- stderr.printf ("output = \"%s\"\n", output);
- assert (strcmp (output, "uint32 0\n") == 0);
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
-}
+ section.get_n_items ();
-static void test_update_input_sources (void *data) {
- var fixture = (Fixture *) data;
+ source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ section.disconnect (signal_name);
- if (fixture.object_name == 0) {
- Test.message ("error: Test fixture not initialized.");
- Test.fail ();
- return;
- }
+ string label;
- try {
- var current = 0;
- var sources = "[('xkb', 'us')]";
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources current $current");
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
+ stderr.printf ("section.get_n_items () = %d\n", section.get_n_items ());
+ assert (section.get_n_items () == 1);
+ section.get_item_attribute (0, Menu.ATTRIBUTE_LABEL, "s", out label);
+ stderr.printf ("label = \"%s\"\n", label);
+ assert (strcmp (label, "English (US)") == 0);
- var menu_model = DBusMenuModel.get ((!) fixture.connection,
- "com.canonical.indicator.keyboard",
- "/com/canonical/indicator/keyboard/desktop");
- var loop = new MainLoop (null, false);
- var signal_name = menu_model.items_changed.connect ((position, removed, added) => {
- loop.quit ();
- });
-
- menu_model.get_n_items ();
-
- var source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- menu_model.disconnect (signal_name);
-
- var menu = menu_model.get_item_link (0, Menu.LINK_SUBMENU);
- loop = new MainLoop (null, false);
- signal_name = menu.items_changed.connect ((position, removed, added) => {
- loop.quit ();
- });
-
- menu.get_n_items ();
-
- source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- menu.disconnect (signal_name);
-
- var section = menu.get_item_link (0, Menu.LINK_SECTION);
- loop = new MainLoop (null, false);
- signal_name = section.items_changed.connect ((position, removed, added) => {
- loop.quit ();
- });
-
- section.get_n_items ();
-
- source = Timeout.add_seconds (TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- section.disconnect (signal_name);
-
- string label;
-
- stderr.printf ("section.get_n_items () = %d\n", section.get_n_items ());
- assert (section.get_n_items () == 1);
- section.get_item_attribute (0, Menu.ATTRIBUTE_LABEL, "s", out label);
- stderr.printf ("label = \"%s\"\n", label);
- assert (strcmp (label, "English (US)") == 0);
-
- loop = new MainLoop (null, false);
- signal_name = section.items_changed.connect ((position, removed, added) => {
- if (section.get_n_items () == 4) {
- loop.quit ();
+ loop = new MainLoop (null, false);
+ signal_name = section.items_changed.connect ((position, removed, added) => {
+ if (section.get_n_items () == 4) {
+ loop.quit ();
+ }
+ });
+
+ try {
+ var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
+ Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
+ } catch (SpawnError error) {
+ Test.message ("error: %s", error.message);
+ Test.fail ();
+ return;
}
- });
-
- try {
- var sources = "[('xkb', 'us'), ('xkb', 'ca+eng'), ('xkb', 'epo'), ('ibus', 'pinyin')]";
- Process.spawn_command_line_sync (@"gsettings set org.gnome.desktop.input-sources sources \"$sources\"");
- } catch (SpawnError error) {
- Test.message ("error: %s", error.message);
- Test.fail ();
- return;
- }
- source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return false; });
- loop.run ();
- Source.remove (source);
- section.disconnect (signal_name);
-
- stderr.printf ("section.get_n_items () = %d\n", section.get_n_items ());
- assert (section.get_n_items () == 4);
- section.get_item_attribute (0, Menu.ATTRIBUTE_LABEL, "s", out label);
- stderr.printf ("label = \"%s\"\n", label);
- assert (strcmp (label, "English (US)") == 0);
- section.get_item_attribute (1, Menu.ATTRIBUTE_LABEL, "s", out label);
- stderr.printf ("label = \"%s\"\n", label);
- assert (strcmp (label, "English (Canada)") == 0);
- section.get_item_attribute (2, Menu.ATTRIBUTE_LABEL, "s", out label);
- stderr.printf ("label = \"%s\"\n", label);
- assert (strcmp (label, "Esperanto") == 0);
- section.get_item_attribute (3, Menu.ATTRIBUTE_LABEL, "s", out label);
- stderr.printf ("label = \"%s\"\n", label);
- assert (label.ascii_casecmp ("Pinyin") == 0);
+ source = Timeout.add_seconds (LONG_TIMEOUT_S, () => { loop.quit (); return true; });
+ loop.run ();
+ Source.remove (source);
+ section.disconnect (signal_name);
+
+ stderr.printf ("section.get_n_items () = %d\n", section.get_n_items ());
+ assert (section.get_n_items () == 4);
+ section.get_item_attribute (0, Menu.ATTRIBUTE_LABEL, "s", out label);
+ stderr.printf ("label = \"%s\"\n", label);
+ assert (strcmp (label, "English (US)") == 0);
+ section.get_item_attribute (1, Menu.ATTRIBUTE_LABEL, "s", out label);
+ stderr.printf ("label = \"%s\"\n", label);
+ assert (strcmp (label, "English (Canada)") == 0);
+ section.get_item_attribute (2, Menu.ATTRIBUTE_LABEL, "s", out label);
+ stderr.printf ("label = \"%s\"\n", label);
+ assert (strcmp (label, "Esperanto") == 0);
+ section.get_item_attribute (3, Menu.ATTRIBUTE_LABEL, "s", out label);
+ stderr.printf ("label = \"%s\"\n", label);
+ assert (label.ascii_casecmp ("Pinyin") == 0);
+ }
}
public int main (string[] args) {
- Environment.set_variable ("DCONF_PROFILE", DCONF_PROFILE, true);
- Environment.set_variable ("LC_ALL", "C", true);
-
- Test.init (ref args, null);
-
- var suite = new TestSuite ("indicator-keyboard");
-
- suite.add (new TestCase ("activate-input-source", begin_test, test_activate_input_source, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("activate-character-map", begin_test, test_activate_character_map, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("activate-keyboard-layout-chart", begin_test, test_activate_keyboard_layout_chart, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("activate-text-entry-settings", begin_test, test_activate_text_entry_settings, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("migration", begin_test, test_migration, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("no-migration", begin_test, test_no_migration, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("update-visible", begin_test, test_update_visible, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("update-input-source", begin_test, test_update_input_source, end_test, sizeof (Fixture)));
- suite.add (new TestCase ("update-input-sources", begin_test, test_update_input_sources, end_test, sizeof (Fixture)));
-
- TestSuite.get_root ().add_suite (suite);
+ display = Environment.get_variable ("DISPLAY");
+
+ Test.init (ref args);
+
+ Test.add_data_func ("/indicator-keyboard-service/activate-input-source", Fixture.create<Tests> (Tests.test_activate_input_source));
+ Test.add_data_func ("/indicator-keyboard-service/activate-character-map", Fixture.create<Tests> (Tests.test_activate_character_map));
+ Test.add_data_func ("/indicator-keyboard-service/activate-keyboard-layout-chart", Fixture.create<Tests> (Tests.test_activate_keyboard_layout_chart));
+ Test.add_data_func ("/indicator-keyboard-service/activate-text-entry-settings", Fixture.create<Tests> (Tests.test_activate_text_entry_settings));
+ Test.add_data_func ("/indicator-keyboard-service/migration", Fixture.create<Tests> (Tests.test_migration));
+ Test.add_data_func ("/indicator-keyboard-service/no-migration", Fixture.create<Tests> (Tests.test_no_migration));
+ Test.add_data_func ("/indicator-keyboard-service/update-visible", Fixture.create<Tests> (Tests.test_update_visible));
+ Test.add_data_func ("/indicator-keyboard-service/update-input-source", Fixture.create<Tests> (Tests.test_update_input_source));
+ Test.add_data_func ("/indicator-keyboard-service/update-input-sources", Fixture.create<Tests> (Tests.test_update_input_sources));
return Test.run ();
}