diff options
author | fujiwarat <takao.fujiwara1@gmail.com> | 2014-08-21 19:24:41 +0900 |
---|---|---|
committer | fujiwarat <takao.fujiwara1@gmail.com> | 2014-09-16 02:57:02 +0900 |
commit | d2e203fa67fb333f892c2c2790dbc021cbfe7e33 (patch) | |
tree | 2d2a9d5867afa2fbe740c22aec6651ee218fef4a | |
parent | 3e1540a9f34a59d550876936a2ef9f61b8cdebc3 (diff) | |
download | ibus-anthy-d2e203fa67fb333f892c2c2790dbc021cbfe7e33.tar.gz |
Added another status icon for input mode.
-rw-r--r-- | engine/python2/Makefile.am | 5 | ||||
-rw-r--r-- | engine/python2/engine.py | 94 | ||||
-rw-r--r-- | engine/python2/propertyicon.py | 81 | ||||
-rw-r--r-- | engine/python3/Makefile.am | 5 | ||||
-rw-r--r-- | engine/python3/engine.py | 92 | ||||
-rw-r--r-- | engine/python3/propertyicon.py | 81 | ||||
-rw-r--r-- | po/ibus-anthy.pot | 430 | ||||
-rw-r--r-- | setup/python2/anthyprefs.py.in | 6 | ||||
-rw-r--r-- | setup/python2/main.py | 6 | ||||
-rw-r--r-- | setup/python2/prefs.py | 32 | ||||
-rw-r--r-- | setup/python2/setup.ui | 19 | ||||
-rw-r--r-- | setup/python3/anthyprefs.py.in | 2 | ||||
-rw-r--r-- | setup/python3/main.py | 6 | ||||
-rw-r--r-- | setup/python3/prefs.py | 28 | ||||
-rw-r--r-- | setup/python3/setup.ui | 19 |
15 files changed, 660 insertions, 246 deletions
diff --git a/engine/python2/Makefile.am b/engine/python2/Makefile.am index a96f831..965d534 100644 --- a/engine/python2/Makefile.am +++ b/engine/python2/Makefile.am @@ -3,8 +3,8 @@ # ibus-anthy - The Anthy engine for IBus # # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> -# Copyright (c) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com> -# Copyright (c) 2007-2013 Red Hat, Inc. +# Copyright (c) 2010-2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2007-2014 Red Hat, Inc. # # 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 @@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ jastring.py \ kana.py \ main.py \ + propertyicon.py \ romaji.py \ segment.py \ tables.py \ diff --git a/engine/python2/engine.py b/engine/python2/engine.py index b298c9c..3339eda 100644 --- a/engine/python2/engine.py +++ b/engine/python2/engine.py @@ -4,8 +4,8 @@ # ibus-anthy - The Anthy engine for IBus # # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> -# Copyright (c) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com> -# Copyright (c) 2007-2013 Red Hat, Inc. +# Copyright (c) 2010-2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2007-2014 Red Hat, Inc. # # 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 @@ -35,6 +35,7 @@ try: except: pass +from gi.repository import Gio from gi.repository import GLib from gi.repository import IBus @@ -117,6 +118,7 @@ class Engine(IBus.EngineSimple): __keybind = {} __thumb = None __latin_with_shift = True + __input_mode_icon = None def __init__(self, bus, object_path): super(Engine, self).__init__(engine_name="anthy", @@ -170,6 +172,8 @@ class Engine(IBus.EngineSimple): ibus_config.connect('value-changed', self.__config_value_changed_cb) + self.__run_input_mode_icon() + def __get_ibus_version(self): if self.__ibus_version == 0.0: self.__ibus_version = \ @@ -258,6 +262,73 @@ class Engine(IBus.EngineSimple): signal.signal(signum, signal.SIG_DFL) os.kill(os.getpid(), signum) + def __is_gnome_shell_running(self): + connection = None + variant = None + + try: + connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) + variant = connection.call_sync('org.gnome.Shell', + '/org/gnome/Shell', + 'org.freedesktop.DBus.Peer', + 'Ping', + None, + None, + Gio.DBusCallFlags.NONE, + -1, + None) + except GLib.GError as e: + pass + + if connection != None: + try: + connection.flush_sync(None) + except GLib.GError as e: + printerr('GDBusConnection flush failed: ' + str(e)) + + if variant == None: + return False + return True + + def __run_input_mode_icon(self): + self.__input_mode_icon = None + + if self.__is_gnome_shell_running(): + return + try: + from gi.repository import Gdk + if Gdk.Display.get_default() == None: + return + except Exception as e: + printerr('import Gdk failed: ' + str(e)) + return + + if not self.__prefs.get_value('common', 'show-input-mode-icon'): + return + + rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) + spec = self.__prefs.get_value('common', 'icon-str-rgba') + if not rgba.parse(spec): + printerr('invalid icon-str-rgba: %s' % spec) + rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) + + modes = { + INPUT_MODE_HIRAGANA : 'あ', + INPUT_MODE_KATAKANA : 'ア', + INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', + INPUT_MODE_LATIN : '_A', + INPUT_MODE_WIDE_LATIN : 'A', + } + + try: + import propertyicon + self.__input_mode_icon = propertyicon.PropertyIcon(rgba) + self.__input_mode_icon.set_visible(True) + self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) + except Exception as e: + printerr('import PropertyIcon failed: ' + str(e)) + return + def __set_input_mode_props(self, anthy_props): # The class method is kept even if the engine is switched. if Engine.__input_mode == None: @@ -847,6 +918,9 @@ class Engine(IBus.EngineSimple): prop.set_label(IBus.Text.new_from_string(label)) self.update_property(prop) + if self.__input_mode_icon != None: + self.__input_mode_icon.set_from_symbol(symbol) + self.__reset() self.__invalidate() @@ -1030,6 +1104,7 @@ class Engine(IBus.EngineSimple): # It seems do_destroy() is called when launch_engine() is called. #self.__remove_dict_files() # It seems super.destroy() does not unref the engine. + self.__input_mode_icon = None def __join_all_segments(self): while True: @@ -1109,7 +1184,7 @@ class Engine(IBus.EngineSimple): # fill lookup_table self.__lookup_table.clear() - for i in xrange(0, seg_stat.nr_predictions): + for i in xrange(0, nr_predictions): buf = self.__context.get_prediction(i) candidate = UN(buf) self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) @@ -1220,6 +1295,12 @@ class Engine(IBus.EngineSimple): def __update_anthy_convert_chars(self): self.__convert_chars = u'' pos = 0 + + (seg_index, text) = self.__segments[self.__cursor_pos] + # prediction lookup window + BackSpace will return None + if text == None: + return + for i, (seg_index, text) in enumerate(self.__segments): self.__convert_chars += text if i < self.__cursor_pos: @@ -2110,6 +2191,13 @@ class Engine(IBus.EngineSimple): self.__fetch_dict_values(base_sec) self.__prefs.set_value(base_sec, name, value) self.__set_dict_mode_props(self.__prop_list, True) + elif base_sec == 'common': + if name == 'show_input_mode_icon': + name = 'show-input-mode-icon' + self.__prefs.set_value(base_sec, name, value) + self.__run_input_mode_icon() + else: + self.__prefs.set_value(base_sec, name, value) elif base_sec: self.__prefs.set_value(base_sec, name, value) else: diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py new file mode 100644 index 0000000..fa5f34f --- /dev/null +++ b/engine/python2/propertyicon.py @@ -0,0 +1,81 @@ +# vim:set et sts=4 sw=4: +# -*- coding: utf-8 -*- +# +# ibus-anthy - The Anthy engine for IBus +# +# Copyright (c) 2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2014 Red Hat, Inc. +# +# 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; either version 2 of the License, or +# (at your option) any later version. +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# for python2 +from __future__ import print_function + +import cairo +import sys + +from gi.repository import Gdk +from gi.repository import Gio +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Pango +from gi.repository import PangoCairo + +class PropertyIcon(Gtk.StatusIcon): + __xkb_icon_pixbufs = {} + __xkb_icon_rgba = None + + def __init__(self, rgba): + super(Gtk.StatusIcon, self).__init__() + self.__xkb_icon_rgba = rgba + + def __context_render_string(self, cr, symbol, image_width, image_height): + lwidth = 0 + lheight = 0 + desc = Pango.FontDescription.from_string('Monospace Bold 22') + layout = PangoCairo.create_layout(cr) + + layout.set_font_description(desc) + layout.set_text(symbol, -1) + (lwidth, lheight) = layout.get_size() + cr.move_to((image_width - lwidth / Pango.SCALE) / 2, + (image_height - lheight / Pango.SCALE) / 2) + cr.set_source_rgba(self.__xkb_icon_rgba.red, + self.__xkb_icon_rgba.green, + self.__xkb_icon_rgba.blue, + self.__xkb_icon_rgba.alpha) + PangoCairo.show_layout(cr, layout) + + def __create_icon_pixbuf_with_string(self, symbol): + if symbol in self.__xkb_icon_pixbufs: + return self.__xkb_icon_pixbufs[symbol] + + image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) + cr = cairo.Context(image) + width = image.get_width() + height = image.get_height() + + cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) + cr.set_operator(cairo.OPERATOR_SOURCE) + cr.paint() + cr.set_operator(cairo.OPERATOR_OVER) + self.__context_render_string(cr, symbol, width, height) + pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) diff --git a/engine/python3/Makefile.am b/engine/python3/Makefile.am index a96f831..965d534 100644 --- a/engine/python3/Makefile.am +++ b/engine/python3/Makefile.am @@ -3,8 +3,8 @@ # ibus-anthy - The Anthy engine for IBus # # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> -# Copyright (c) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com> -# Copyright (c) 2007-2013 Red Hat, Inc. +# Copyright (c) 2010-2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2007-2014 Red Hat, Inc. # # 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 @@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ jastring.py \ kana.py \ main.py \ + propertyicon.py \ romaji.py \ segment.py \ tables.py \ diff --git a/engine/python3/engine.py b/engine/python3/engine.py index cc1a8c8..ab9e8fa 100644 --- a/engine/python3/engine.py +++ b/engine/python3/engine.py @@ -36,6 +36,7 @@ try: except: pass +from gi.repository import Gio from gi.repository import GLib from gi.repository import IBus @@ -118,6 +119,7 @@ class Engine(IBus.EngineSimple): __keybind = {} __thumb = None __latin_with_shift = True + __input_mode_icon = None def __init__(self, bus, object_path): super(Engine, self).__init__(engine_name="anthy", @@ -171,6 +173,8 @@ class Engine(IBus.EngineSimple): ibus_config.connect('value-changed', self.__config_value_changed_cb) + self.__run_input_mode_icon() + def __get_ibus_version(self): if self.__ibus_version == 0.0: self.__ibus_version = \ @@ -259,6 +263,73 @@ class Engine(IBus.EngineSimple): signal.signal(signum, signal.SIG_DFL) os.kill(os.getpid(), signum) + def __is_gnome_shell_running(self): + connection = None + variant = None + + try: + connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) + variant = connection.call_sync('org.gnome.Shell', + '/org/gnome/Shell', + 'org.freedesktop.DBus.Peer', + 'Ping', + None, + None, + Gio.DBusCallFlags.NONE, + -1, + None) + except GLib.GError as e: + pass + + if connection != None: + try: + connection.flush_sync(None) + except GLib.GError as e: + printerr('GDBusConnection flush failed: ' + str(e)) + + if variant == None: + return False + return True + + def __run_input_mode_icon(self): + self.__input_mode_icon = None + + if self.__is_gnome_shell_running(): + return + try: + from gi.repository import Gdk + if Gdk.Display.get_default() == None: + return + except Exception as e: + printerr('import Gdk failed: ' + str(e)) + return + + if not self.__prefs.get_value('common', 'show-input-mode-icon'): + return + + rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) + spec = self.__prefs.get_value('common', 'icon-str-rgba') + if not rgba.parse(spec): + printerr('invalid icon-str-rgba: %s' % spec) + rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) + + modes = { + INPUT_MODE_HIRAGANA : 'あ', + INPUT_MODE_KATAKANA : 'ア', + INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', + INPUT_MODE_LATIN : '_A', + INPUT_MODE_WIDE_LATIN : 'A', + } + + try: + import propertyicon + self.__input_mode_icon = propertyicon.PropertyIcon(rgba) + self.__input_mode_icon.set_visible(True) + self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) + except Exception as e: + printerr('import PropertyIcon failed: ' + str(e)) + return + def __set_input_mode_props(self, anthy_props): # The class method is kept even if the engine is switched. if Engine.__input_mode == None: @@ -842,6 +913,9 @@ class Engine(IBus.EngineSimple): prop.set_label(IBus.Text.new_from_string(label)) self.update_property(prop) + if self.__input_mode_icon != None: + self.__input_mode_icon.set_from_symbol(symbol) + self.__reset() self.__invalidate() @@ -1025,6 +1099,7 @@ class Engine(IBus.EngineSimple): # It seems do_destroy() is called when launch_engine() is called. #self.__remove_dict_files() # It seems super.destroy() does not unref the engine. + self.__input_mode_icon = None def __join_all_segments(self): while True: @@ -1104,7 +1179,7 @@ class Engine(IBus.EngineSimple): # fill lookup_table self.__lookup_table.clear() - for i in range(0, seg_stat.nr_predictions): + for i in range(0, nr_predictions): buf = self.__context.get_prediction(i) candidate = buf self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) @@ -1215,6 +1290,12 @@ class Engine(IBus.EngineSimple): def __update_anthy_convert_chars(self): self.__convert_chars = '' pos = 0 + + (seg_index, text) = self.__segments[self.__cursor_pos] + # prediction lookup window + BackSpace will return None + if text == None: + return + for i, (seg_index, text) in enumerate(self.__segments): self.__convert_chars += text if i < self.__cursor_pos: @@ -2104,6 +2185,13 @@ class Engine(IBus.EngineSimple): self.__fetch_dict_values(base_sec) self.__prefs.set_value(base_sec, name, value) self.__set_dict_mode_props(self.__prop_list, True) + elif base_sec == 'common': + if name == 'show_input_mode_icon': + name = 'show-input-mode-icon' + self.__prefs.set_value(base_sec, name, value) + self.__run_input_mode_icon() + else: + self.__prefs.set_value(base_sec, name, value) elif base_sec: self.__prefs.set_value(base_sec, name, value) else: @@ -2312,7 +2400,7 @@ class Engine(IBus.EngineSimple): nr_predictions = self.__context.get_nr_predictions() # for i in range(nr_predictions): -# print self.__context.get_prediction(i) +# print(self.__context.get_prediction(i)) buf = self.__context.get_prediction(0) if not buf: diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py new file mode 100644 index 0000000..fa5f34f --- /dev/null +++ b/engine/python3/propertyicon.py @@ -0,0 +1,81 @@ +# vim:set et sts=4 sw=4: +# -*- coding: utf-8 -*- +# +# ibus-anthy - The Anthy engine for IBus +# +# Copyright (c) 2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2014 Red Hat, Inc. +# +# 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; either version 2 of the License, or +# (at your option) any later version. +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# for python2 +from __future__ import print_function + +import cairo +import sys + +from gi.repository import Gdk +from gi.repository import Gio +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Pango +from gi.repository import PangoCairo + +class PropertyIcon(Gtk.StatusIcon): + __xkb_icon_pixbufs = {} + __xkb_icon_rgba = None + + def __init__(self, rgba): + super(Gtk.StatusIcon, self).__init__() + self.__xkb_icon_rgba = rgba + + def __context_render_string(self, cr, symbol, image_width, image_height): + lwidth = 0 + lheight = 0 + desc = Pango.FontDescription.from_string('Monospace Bold 22') + layout = PangoCairo.create_layout(cr) + + layout.set_font_description(desc) + layout.set_text(symbol, -1) + (lwidth, lheight) = layout.get_size() + cr.move_to((image_width - lwidth / Pango.SCALE) / 2, + (image_height - lheight / Pango.SCALE) / 2) + cr.set_source_rgba(self.__xkb_icon_rgba.red, + self.__xkb_icon_rgba.green, + self.__xkb_icon_rgba.blue, + self.__xkb_icon_rgba.alpha) + PangoCairo.show_layout(cr, layout) + + def __create_icon_pixbuf_with_string(self, symbol): + if symbol in self.__xkb_icon_pixbufs: + return self.__xkb_icon_pixbufs[symbol] + + image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) + cr = cairo.Context(image) + width = image.get_width() + height = image.get_height() + + cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) + cr.set_operator(cairo.OPERATOR_SOURCE) + cr.paint() + cr.set_operator(cairo.OPERATOR_OVER) + self.__context_render_string(cr, symbol, width, height) + pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) diff --git a/po/ibus-anthy.pot b/po/ibus-anthy.pot index 9aace6a..02559f4 100644 --- a/po/ibus-anthy.pot +++ b/po/ibus-anthy.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ibus-anthy HEAD\n" "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" -"POT-Creation-Date: 2014-08-21 18:57+0900\n" +"POT-Creation-Date: 2014-08-21 19:22+0900\n" "PO-Revision-Date: 2011-05-13 14:54+0900\n" "Last-Translator: Takao Fujiwara <takao.fujiwara1@gmail.com>\n" "Language-Team: Source\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 +#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 msgid "" "Could not enable Anthy.\n" "The end of the content of the file .anthy/last-record2_default.utf8 in your " @@ -24,188 +24,188 @@ msgid "" "Please fix the file or remove it by manual and restart IBus." msgstr "" -#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 -#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 +#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 +#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 msgid "Preferences - Anthy" msgstr "" -#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 +#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 msgid "Configure Anthy" msgstr "" #. Translators: Specify the order of %s with your translation. #. It will be "Input Mode (A)" for example. -#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 -#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 -#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 -#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 -#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 -#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 -#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 -#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 -#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 +#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 +#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 +#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 +#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 +#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 +#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 +#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 +#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 +#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 #, python-format msgid "%(description)s (%(symbol)s)" msgstr "" -#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 -#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 -#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 +#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 +#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 +#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 msgid "Input mode" msgstr "" -#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 +#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 msgid "Switch input mode" msgstr "" -#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 +#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 msgid "Hiragana" msgstr "" -#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 +#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 msgid "Katakana" msgstr "" -#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 +#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 msgid "Halfwidth Katakana" msgstr "" -#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 +#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 msgid "Latin" msgstr "" -#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 +#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 msgid "Wide Latin" msgstr "" -#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 -#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 -#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 -#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 +#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 +#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 +#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 +#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 msgid "Typing method" msgstr "" -#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 +#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 msgid "Switch typing method" msgstr "" -#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 +#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 msgid "Romaji" msgstr "" -#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 +#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 msgid "Kana" msgstr "" -#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 +#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 msgid "Thumb shift" msgstr "" -#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 -#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 -#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 +#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 +#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 +#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 msgid "Segment mode" msgstr "" -#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 +#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 msgid "Switch conversion mode" msgstr "" -#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 +#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 msgid "Multiple segment" msgstr "" -#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 +#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 msgid "Single segment" msgstr "" -#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 +#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 msgid "Immediate conversion (multiple segment)" msgstr "" -#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 +#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 msgid "Immediate conversion (single segment)" msgstr "" -#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 -#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 -#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 +#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 +#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 +#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 msgid "Dictionary mode" msgstr "" -#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 +#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 msgid "Switch dictionary" msgstr "" -#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 -#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 +#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 +#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 msgid "Dictionary - Anthy" msgstr "" #. Translators: "Dic" means 'dictionary', One kanji may be good. -#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 +#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 msgid "Dic" msgstr "" -#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 +#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 msgid "Configure dictionaries" msgstr "" -#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 +#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 msgid "Edit dictionaries" msgstr "" -#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 +#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 msgid "Launch the dictionary tool" msgstr "" -#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 +#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 msgid "Add words" msgstr "" -#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 +#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 msgid "Add words to the dictionary" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 -#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 +#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 +#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 msgid "General" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1115 -#: ../setup/python3/anthyprefs.py.in:1108 +#: ../setup/python2/anthyprefs.py.in:1117 +#: ../setup/python3/anthyprefs.py.in:1110 msgid "Zip Code Conversion" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1126 -#: ../setup/python3/anthyprefs.py.in:1119 +#: ../setup/python2/anthyprefs.py.in:1128 +#: ../setup/python3/anthyprefs.py.in:1121 msgid "Symbol" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1137 -#: ../setup/python3/anthyprefs.py.in:1130 +#: ../setup/python2/anthyprefs.py.in:1139 +#: ../setup/python3/anthyprefs.py.in:1132 msgid "Old Character Style" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1147 -#: ../setup/python3/anthyprefs.py.in:1140 +#: ../setup/python2/anthyprefs.py.in:1149 +#: ../setup/python3/anthyprefs.py.in:1142 msgid "Era" msgstr "" -#: ../setup/python2/anthyprefs.py.in:1157 -#: ../setup/python3/anthyprefs.py.in:1150 +#: ../setup/python2/anthyprefs.py.in:1159 +#: ../setup/python3/anthyprefs.py.in:1152 msgid "Emoji" msgstr "" @@ -224,276 +224,276 @@ msgstr "" msgid "ibus is not running." msgstr "" -#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 +#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 msgid "Menu label" msgstr "" -#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 +#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 msgid "Command" msgstr "" -#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 +#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 msgid "Shortcut" msgstr "" -#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 +#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 msgid "Description" msgstr "" #. Translators: "Embd" is an abbreviation of "embedded". -#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 +#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 msgid "Embd" msgstr "" #. Translators: "Sgl" is an abbreviation of "single". -#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 +#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 msgid "Sgl" msgstr "" -#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 -#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 +#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 +#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 msgid "Input Chars" msgstr "" -#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 -#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 +#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 +#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 msgid "Output Chars" msgstr "" -#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 +#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 msgid "Input" msgstr "" -#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 +#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 msgid "Single" msgstr "" -#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 +#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 msgid "Left" msgstr "" -#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 +#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 msgid "Right" msgstr "" -#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 +#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 msgid "Customize Romaji Key Table" msgstr "" -#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 -#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 +#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 +#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 msgid "_Romaji Key Table:" msgstr "" -#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 -#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 +#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 +#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 msgid "_Output Chars" msgstr "" -#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 -#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 -#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 -#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 +#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 +#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 +#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 +#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 msgid "Default" msgstr "" -#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 +#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 msgid "Customize Kana Key Table" msgstr "" -#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 -#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 +#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 +#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 msgid "_Kana Key Table:" msgstr "" -#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 +#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 msgid "Japanese Keyboard Layout" msgstr "" -#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 +#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 msgid "U.S. Keyboard Layout" msgstr "" -#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 +#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 msgid "Customize Thumb Shift Key Table" msgstr "" -#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 +#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 msgid "_Thumb Shift Key Table:" msgstr "" -#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 +#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 msgid "Single _Output Chars" msgstr "" -#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 +#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 msgid "Base" msgstr "" -#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 +#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 msgid "NICOLA-J key extension" msgstr "" -#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 +#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 msgid "NICOLA-A key extension" msgstr "" -#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 +#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 msgid "NICOLA-F key extension" msgstr "" -#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 +#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 msgid "FMV KB231-J key extension" msgstr "" -#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 +#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 msgid "FMV KB231-A key extension" msgstr "" -#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 +#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 msgid "FMV KB231-F key extension" msgstr "" -#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 +#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 msgid "FMV KB611-J key extension" msgstr "" -#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 +#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 msgid "FMV KB611-A key extension" msgstr "" -#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 +#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 msgid "FMV KB611-F key extension" msgstr "" -#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 +#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 msgid "Your choosed file has already been added: " msgstr "" -#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 +#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 msgid "The file you have chosen does not exist: " msgstr "" -#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 +#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 msgid "Your choosed file is a directory: " msgstr "" -#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 +#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 msgid "You cannot add dictionaries in the anthy private directory: " msgstr "" -#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 +#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 msgid "Your file path is not good: " msgstr "" -#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 +#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 msgid "The engine xml file does not exist: " msgstr "" -#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 +#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 msgid "" "Anthy keyboard layout is changed. Please restart ibus to reload the layout." msgstr "" -#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 +#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 msgid "Confirmation" msgstr "" -#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 +#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 msgid "You are about to close the setup dialog, is that OK?" msgstr "" -#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 +#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 msgid "Notice!" msgstr "" -#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 +#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 msgid "" "You are about to close the setup dialog without saving your changes, is that " "OK?" msgstr "" -#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 +#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 msgid "Please specify Input Chars" msgstr "" -#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 +#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 msgid "Please specify Output Chars" msgstr "" -#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 +#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 msgid "Please specify Left Thumb Shift Chars" msgstr "" -#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 +#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 msgid "Please specify Right Thumb Shift Chars" msgstr "" -#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 -#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 +#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 +#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 msgid "Your custom key is not assigned in any sections. Maybe a bug." msgstr "" -#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 -#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 +#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 +#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 msgid "Your file does not exist: " msgstr "" -#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 +#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 msgid "Open Dictionary File" msgstr "" -#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 -#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 -#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 +#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 +#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 +#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 msgid "_Cancel" msgstr "" -#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 +#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 msgid "_Open" msgstr "" -#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 +#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 msgid "Edit Dictionary File" msgstr "" -#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 -#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 -#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 +#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 +#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 +#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 msgid "_OK" msgstr "" -#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 +#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 msgid "Your choosed file is not correct." msgstr "" -#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 +#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 msgid "You cannot delete the system dictionary." msgstr "" -#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 +#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 msgid "Your file is not good." msgstr "" -#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 +#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 msgid "View Dictionary File" msgstr "" -#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 +#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 msgid "Please press a key (or a key combination)" msgstr "" -#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 +#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 msgid "The dialog will be closed when the key is released" msgstr "" -#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 -#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 +#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 +#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 msgid "Invalid keysym" msgstr "" -#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 -#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 +#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 +#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 msgid "This keysym is not valid" msgstr "" @@ -578,298 +578,302 @@ msgid "<b>Initial Setting</b>" msgstr "" #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 +msgid "_Show input mode icon" +msgstr "" + +#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 msgid "<b>Menu Visibility on Status Icon</b>" msgstr "" -#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 +#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 msgid "_Period Style:" msgstr "" -#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 +#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 msgid "Symbo_l Style:" msgstr "" -#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 +#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 msgid "Numpad _Key Type:" msgstr "" -#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 +#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 msgid "_Behavior on Period:" msgstr "" -#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 +#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 msgid "Behavior on _Focus Out:" msgstr "" -#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 +#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 msgid "<b>Behavior</b>" msgstr "" -#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 +#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 msgid "Candidate _Window Page Size:" msgstr "" -#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 +#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 msgid "Convert _symbols with the one column width" msgstr "" -#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 +#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 msgid "Convert _numbers with the one column width" msgstr "" -#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 +#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 msgid "Con_vert spaces with the one column width" msgstr "" -#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 +#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 msgid "" "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " "preedit" msgstr "" -#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 +#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 msgid "<b>Other</b>" msgstr "" -#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 +#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 msgid "Conversion" msgstr "" -#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 +#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 msgid "_Shortcut Type:" msgstr "" -#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 +#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 msgid "De_fault" msgstr "" -#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 +#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 msgid "_Edit" msgstr "" -#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 +#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 msgid "Key Binding" msgstr "" -#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 +#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 msgid "<b>Romaji</b>" msgstr "" -#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 +#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 msgid "<b>Kana</b>" msgstr "" -#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 +#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 msgid "Keyboad _layout:" msgstr "" -#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 +#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 msgid "<b>Keyboard layout</b>" msgstr "" -#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 +#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 msgid "Typing Method" msgstr "" -#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 +#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 msgid "_Left Thumb Shift Key:" msgstr "" -#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 +#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 msgid "Right _Thumb Shift Key:" msgstr "" -#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 +#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 msgid "Adjust _input method layout to system keyboard layout" msgstr "" -#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 +#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 msgid "Adjust IM layout to XKB layout" msgstr "" -#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 +#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 msgid "Input _Method Layout:" msgstr "" -#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 +#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 msgid "Restart IBus when you change the keyboard layout" msgstr "" -#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 +#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 msgid "Restart IBus when you change XKB" msgstr "" -#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 +#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 msgid "_Additional Key Arrangement:" msgstr "" -#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 +#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 msgid "" "'~', '『', '¢', '£' and so on can be output with " "Thumb Shift key" msgstr "" -#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 +#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 msgid "" "You do not have to reconfigure the system keyboard layout for \"Additional " "Key Arrangement\" since this option changes input method layout only in case " "input method is turned on." msgstr "" -#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 +#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 msgid "" "You do not have to reconfigure XKB since this option changes IM layout only " "with IM on." msgstr "" -#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 +#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 msgid "_Enable semi-voiced sound mark with Shift key" msgstr "" -#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 +#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 msgid "Seion + Shift can output Handakuon" msgstr "" -#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 +#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 msgid "Thumb _Shift Key Table:" msgstr "" -#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 +#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 msgid "<b>Thumb Shift Layout</b>" msgstr "" -#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 +#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 msgid "Thumb Shift" msgstr "" -#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 +#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 msgid "_Edit Dictionary Command:" msgstr "" -#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 +#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 msgid "_Add Word Command:" msgstr "" -#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 +#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 msgid "<b>Default Dictionary Configuration</b>" msgstr "" -#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 +#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 msgid "_View" msgstr "" -#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 +#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 msgid "_Add" msgstr "" -#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 +#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 msgid "_Delete" msgstr "" -#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 +#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 msgid "_Up" msgstr "" -#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 +#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 msgid "You can change the order on language bar" msgstr "" -#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 +#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 msgid "_Down" msgstr "" -#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 +#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 msgid "<b>Extended Dictionaries</b>" msgstr "" -#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 +#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 msgid "Dictionary" msgstr "" -#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 +#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 msgid "About" msgstr "" -#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 +#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 msgid "_Apply" msgstr "" -#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 +#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 msgid "Edit Shortcut" msgstr "" -#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 +#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 msgid "Key Code:" msgstr "" -#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 +#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 msgid "Modifier:" msgstr "" -#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 +#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 msgid "A_lternate" msgstr "" -#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 +#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 msgid "Co_ntrol" msgstr "" -#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 +#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 msgid "_Shift" msgstr "" -#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 +#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 msgid "_Refresh" msgstr "" -#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 +#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 msgid "_Input Characters" msgstr "" -#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 +#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 msgid "_Output Characters" msgstr "" -#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 +#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 msgid "_Left Thumb Shift" msgstr "" -#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 +#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 msgid "_Right Thumb Shift" msgstr "" -#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 +#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 msgid "_Remove" msgstr "" -#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 +#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 msgid "_Close" msgstr "" -#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 +#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 msgid "_Short Label:" msgstr "" -#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 +#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 msgid "_Description:" msgstr "" -#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 +#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 msgid "_Use your dictionary alone with switching dictionaries" msgstr "" -#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 +#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 msgid "_Embed your dictionary in the system dictionary" msgstr "" -#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 +#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 msgid "Enable the _reverse conversion" msgstr "" -#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 +#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 msgid "The Anthy engine for the IBus input platform" msgstr "" -#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 +#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 msgid "translator_credits" msgstr "" diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in index c29926a..82e9fcf 100644 --- a/setup/python2/anthyprefs.py.in +++ b/setup/python2/anthyprefs.py.in @@ -5,8 +5,8 @@ # # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> # Copyright (c) 2009 Hideaki ABE <abe.sendai@gmail.com> -# Copyright (c) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com> -# Copyright (c) 2007-2013 Red Hat, Inc. +# Copyright (c) 2010-2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2007-2014 Red Hat, Inc. # # 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 @@ -362,6 +362,8 @@ _config = { 'show-dict-mode': True, 'show-dict-config': False, 'show-preferences': True, + 'show-input-mode-icon': True, + 'icon-str-rgba': '#41507a', 'period_style': 0, 'symbol_style': 1, diff --git a/setup/python2/main.py b/setup/python2/main.py index e649a36..768adc0 100644 --- a/setup/python2/main.py +++ b/setup/python2/main.py @@ -159,7 +159,8 @@ class AnthySetup(object): 'half_width_symbol', 'half_width_number', 'half_width_space', 'latin_with_shift', 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', - 'thumb:fmv_extension', 'thumb:handakuten']: + 'thumb:fmv_extension', 'thumb:handakuten', + 'show_input_mode_icon']: section, key = self.__get_section_key(name) builder.get_object(name).set_active(prefs.get_value(section, key)) @@ -337,6 +338,9 @@ class AnthySetup(object): else: section = 'common' key = name + if section == 'common': + if name == 'show_input_mode_icon': + key = 'show-input-mode-icon' return (section, key) def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): diff --git a/setup/python2/prefs.py b/setup/python2/prefs.py index 1b88908..9a147ee 100644 --- a/setup/python2/prefs.py +++ b/setup/python2/prefs.py @@ -4,8 +4,8 @@ # # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> # Copyright (c) 2009 Hideaki ABE <abe.sendai@gmail.com> -# Copyright (c) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com> -# Copyright (c) 2007-2013 Red Hat, Inc. +# Copyright (c) 2010-2014 Takao Fujiwara <takao.fujiwara1@gmail.com> +# Copyright (c) 2007-2014 Red Hat, Inc. # # 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 @@ -145,15 +145,27 @@ class Prefs(object): variant = self._config.get_values(s) for key in variant.keys(): v = variant[key] + # FIXME: ibus-dconf converts the keys. + #if key.find('_') >= 0: + # key = key.replace('_', '-') + if section == 'common': + if key == 'show_input_mode': + key = 'show-input-mode' + elif key == 'show_typing_method': + key = 'show-typing-method' + elif key == 'show_segment_mode': + key = 'show-segment-mode' + elif key == 'show_dict_mode': + key = 'show-dict-mode' + elif key == 'show_dict_config': + key = 'show-dict-config' + elif key == 'show_preferences': + key = 'show-preferences' + elif key == 'show_input_mode_icon': + key = 'show-input-mode-icon' + elif key == 'icon_str_rgba': + key = 'icon-str-rgba' self.modified.setdefault(section, {})[key] = v if v != [''] else [] - # FIXME: ibus-dconf converts the keys. - if section == 'common': - self.fetch_item(section, 'show-input-mode') - self.fetch_item(section, 'show-typing-method') - self.fetch_item(section, 'show-segment-mode') - self.fetch_item(section, 'show-dict-mode') - self.fetch_item(section, 'show-dict-config') - self.fetch_item(section, 'show-preferences') def fetch_item(self, section, key, readonly=False): if self._config == None: diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui index b6d8ef2..54916ec 100644 --- a/setup/python2/setup.ui +++ b/setup/python2/setup.ui @@ -346,6 +346,23 @@ </packing> </child> <child> + <object class="GtkCheckButton" id="show_input_mode_icon"> + <property name="label" translatable="yes">_Show input mode icon</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal handler="on_ck_toggled" name="toggled"/> + <accelerator key="S" modifiers="GDK_MOD1_MASK" signal="grab_focus"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> <object class="GtkFrame" id="frame12"> <property name="visible">True</property> <property name="label_xalign">0</property> @@ -396,7 +413,7 @@ <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </object> diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in index 3198a8c..441c4a2 100644 --- a/setup/python3/anthyprefs.py.in +++ b/setup/python3/anthyprefs.py.in @@ -355,6 +355,8 @@ _config = { 'show-dict-mode': True, 'show-dict-config': False, 'show-preferences': True, + 'show-input-mode-icon': True, + 'icon-str-rgba': '#41507a', 'period_style': 0, 'symbol_style': 1, diff --git a/setup/python3/main.py b/setup/python3/main.py index 01080ae..b7e8542 100644 --- a/setup/python3/main.py +++ b/setup/python3/main.py @@ -162,7 +162,8 @@ class AnthySetup(object): 'half_width_symbol', 'half_width_number', 'half_width_space', 'latin_with_shift', 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', - 'thumb:fmv_extension', 'thumb:handakuten']: + 'thumb:fmv_extension', 'thumb:handakuten', + 'show_input_mode_icon']: section, key = self.__get_section_key(name) builder.get_object(name).set_active(prefs.get_value(section, key)) @@ -340,6 +341,9 @@ class AnthySetup(object): else: section = 'common' key = name + if section == 'common': + if name == 'show_input_mode_icon': + key = 'show-input-mode-icon' return (section, key) def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): diff --git a/setup/python3/prefs.py b/setup/python3/prefs.py index a4af88d..2b3f4ea 100644 --- a/setup/python3/prefs.py +++ b/setup/python3/prefs.py @@ -145,15 +145,27 @@ class Prefs(object): variant = self._config.get_values(s) for key in list(variant.keys()): v = variant[key] + # FIXME: ibus-dconf converts the keys. + #if key.find('_') >= 0: + # key = key.replace('_', '-') + if section == 'common': + if key == 'show_input_mode': + key = 'show-input-mode' + elif key == 'show_typing_method': + key = 'show-typing-method' + elif key == 'show_segment_mode': + key = 'show-segment-mode' + elif key == 'show_dict_mode': + key = 'show-dict-mode' + elif key == 'show_dict_config': + key = 'show-dict-config' + elif key == 'show_preferences': + key = 'show-preferences' + elif key == 'show_input_mode_icon': + key = 'show-input-mode-icon' + elif key == 'icon_str_rgba': + key = 'icon-str-rgba' self.modified.setdefault(section, {})[key] = v if v != [''] else [] - # FIXME: ibus-dconf converts the keys. - if section == 'common': - self.fetch_item(section, 'show-input-mode') - self.fetch_item(section, 'show-typing-method') - self.fetch_item(section, 'show-segment-mode') - self.fetch_item(section, 'show-dict-mode') - self.fetch_item(section, 'show-dict-config') - self.fetch_item(section, 'show-preferences') def fetch_item(self, section, key, readonly=False): if self._config == None: diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui index b6d8ef2..54916ec 100644 --- a/setup/python3/setup.ui +++ b/setup/python3/setup.ui @@ -346,6 +346,23 @@ </packing> </child> <child> + <object class="GtkCheckButton" id="show_input_mode_icon"> + <property name="label" translatable="yes">_Show input mode icon</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + <signal handler="on_ck_toggled" name="toggled"/> + <accelerator key="S" modifiers="GDK_MOD1_MASK" signal="grab_focus"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> <object class="GtkFrame" id="frame12"> <property name="visible">True</property> <property name="label_xalign">0</property> @@ -396,7 +413,7 @@ <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </object> |