diff options
author | fujiwarat <takao.fujiwara1@gmail.com> | 2012-12-25 15:27:20 +0900 |
---|---|---|
committer | fujiwarat <takao.fujiwara1@gmail.com> | 2012-12-25 15:27:20 +0900 |
commit | e0c973ba136d34e1e6d4dd8e2832509c5003c49b (patch) | |
tree | ec3cfff8fca2efa84d2b455f395cd2b0bb8bbfd2 | |
parent | 1c632f884565d30fd3ba9689f93e7582608e6edd (diff) | |
download | ibus-anthy-e0c973ba136d34e1e6d4dd8e2832509c5003c49b.tar.gz |
Added ibus menu customization.
-rw-r--r-- | engine/engine.py | 122 | ||||
-rw-r--r-- | po/ibus-anthy.pot | 353 | ||||
-rw-r--r-- | setup/anthyprefs.py.in | 7 | ||||
-rw-r--r-- | setup/main.py | 145 | ||||
-rw-r--r-- | setup/prefs.py | 8 | ||||
-rw-r--r-- | setup/setup.ui | 303 |
6 files changed, 565 insertions, 373 deletions
diff --git a/engine/engine.py b/engine/engine.py index 5ffb232..9b276fa 100644 --- a/engine/engine.py +++ b/engine/engine.py @@ -148,20 +148,7 @@ class Engine(IBus.EngineSimple): round=True) self.__prop_list = self.__init_props() - mode = Engine.__input_mode - mode = 'InputMode.' + ['Hiragana', 'Katakana', 'HalfWidthKatakana', - 'Latin', 'WideLatin'][mode] - self.__input_mode_activate(mode, IBus.PropState.CHECKED) - - mode = Engine.__typing_mode - mode = 'TypingMode.' + ['Romaji', 'Kana', 'ThumbShift'][mode] - self.__typing_mode_activate(mode, IBus.PropState.CHECKED) - - mode = Engine.__segment_mode - mode = 'SegmentMode.' + ['Multi', 'Single', - 'ImmediateMulti', 'ImmediateSingle'][mode] - self.__segment_mode_activate(mode, IBus.PropState.CHECKED) - + self.__init_signal() # use reset to init values self.__reset() @@ -191,6 +178,39 @@ class Engine(IBus.EngineSimple): self.__idle_id = 0 def __init_props(self): + anthy_props = IBus.PropList() + + self.__set_input_mode_props(anthy_props) + self.__set_typing_method_props(anthy_props) + self.__set_segment_mode_props(anthy_props) + self.__set_dict_mode_props(anthy_props) + self.__set_dict_config_props(anthy_props) + + if not self.__prefs.get_value('common', 'show-preferences'): + return anthy_props + + anthy_props.append(IBus.Property(key=u'setup', + label=IBus.Text.new_from_string(_("Preferences - Anthy")), + icon=config.ICON_PREFERENCE, + tooltip=IBus.Text.new_from_string(_("Configure Anthy")), + sensitive=True, + visible=True)) + + return anthy_props + + def __init_signal(self): + signal.signal(signal.SIGHUP, self.__signal_cb) + signal.signal(signal.SIGINT, self.__signal_cb) + signal.signal(signal.SIGQUIT, self.__signal_cb) + signal.signal(signal.SIGABRT, self.__signal_cb) + signal.signal(signal.SIGTERM, self.__signal_cb) + + def __signal_cb(self, signum, object): + self.__remove_dict_files() + signal.signal(signum, signal.SIG_DFL) + os.kill(os.getpid(), signum) + + def __set_input_mode_props(self, anthy_props): # The class method is kept even if the engine is switched. if Engine.__input_mode == None: # The config value is readonly for initial engine and @@ -198,12 +218,9 @@ class Engine(IBus.EngineSimple): Engine.__input_mode = INPUT_MODE_HIRAGANA Engine.__input_mode = self.__prefs.get_value('common', 'input_mode') - if Engine.__typing_mode == None: - Engine.__typing_mode = jastring.TYPING_MODE_ROMAJI - Engine.__typing_mode = self.__prefs.get_value('common', - 'typing_method') - anthy_props = IBus.PropList() + if not self.__prefs.get_value('common', 'show-input-mode'): + return # init input mode properties symbol = 'あ' @@ -284,6 +301,20 @@ class Engine(IBus.EngineSimple): input_mode_prop.set_sub_props(props) anthy_props.append(input_mode_prop) + mode = Engine.__input_mode + mode = 'InputMode.' + ['Hiragana', 'Katakana', 'HalfWidthKatakana', + 'Latin', 'WideLatin'][mode] + self.__input_mode_activate(mode, IBus.PropState.CHECKED) + + def __set_typing_method_props(self, anthy_props): + if Engine.__typing_mode == None: + Engine.__typing_mode = jastring.TYPING_MODE_ROMAJI + Engine.__typing_mode = self.__prefs.get_value('common', + 'typing_method') + + if not self.__prefs.get_value('common', 'show-typing-method'): + return + # typing input mode properties symbol = 'R' label = _("%(description)s (%(symbol)s)") % \ @@ -339,35 +370,19 @@ class Engine(IBus.EngineSimple): typing_mode_prop.set_sub_props(props) anthy_props.append(typing_mode_prop) - self.__set_segment_mode_props(anthy_props) - self.__set_dict_mode_props(anthy_props) - self.__set_dict_config_props(anthy_props) - anthy_props.append(IBus.Property(key=u'setup', - label=IBus.Text.new_from_string(_("Preferences - Anthy")), - icon=config.ICON_PREFERENCE, - tooltip=IBus.Text.new_from_string(_("Configure Anthy")), - sensitive=True, - visible=True)) - - return anthy_props - - def __init_signal(self): - signal.signal(signal.SIGHUP, self.__signal_cb) - signal.signal(signal.SIGINT, self.__signal_cb) - signal.signal(signal.SIGQUIT, self.__signal_cb) - signal.signal(signal.SIGABRT, self.__signal_cb) - signal.signal(signal.SIGTERM, self.__signal_cb) - - def __signal_cb(self, signum, object): - self.__remove_dict_files() - signal.signal(signum, signal.SIG_DFL) - os.kill(os.getpid(), signum) + mode = Engine.__typing_mode + mode = 'TypingMode.' + ['Romaji', 'Kana', 'ThumbShift'][mode] + self.__typing_mode_activate(mode, IBus.PropState.CHECKED) def __set_segment_mode_props(self, anthy_props): if Engine.__segment_mode == None: Engine.__segment_mode = SEGMENT_DEFAULT Engine.__segment_mode = self.__prefs.get_value('common', 'conversion_segment_mode') + + if not self.__prefs.get_value('common', 'show-segment-mode'): + return + symbol = '連' label = _("%(description)s (%(symbol)s)") % \ { 'description' : _("Segment mode"), 'symbol' : symbol } @@ -431,10 +446,18 @@ class Engine(IBus.EngineSimple): segment_mode_prop.set_sub_props(props) anthy_props.append(segment_mode_prop) + mode = Engine.__segment_mode + mode = 'SegmentMode.' + ['Multi', 'Single', + 'ImmediateMulti', 'ImmediateSingle'][mode] + self.__segment_mode_activate(mode, IBus.PropState.CHECKED) + def __set_dict_mode_props(self, anthy_props): if Engine.__dict_mode == None: Engine.__dict_mode = 0 + if not self.__prefs.get_value('common', 'show-dict-mode'): + return + short_label = self.__prefs.get_value('dict/file/embedded', 'short_label') label = _("%(description)s (%(symbol)s)") % \ @@ -500,9 +523,17 @@ class Engine(IBus.EngineSimple): dict_mode_prop.set_sub_props(props) anthy_props.append(dict_mode_prop) - self.__init_signal() + + prop_name = self.__dict_mode_get_prop_name(Engine.__dict_mode) + if prop_name == None: + return + self.__dict_mode_activate(prop_name, + IBus.PropState.CHECKED) def __set_dict_config_props(self, anthy_props): + if not self.__prefs.get_value('common', 'show-dict-config'): + return + admin_command = self.__prefs.get_value('common', 'dict_admin_command') icon_path = self.__prefs.get_value('common', 'dict_config_icon') @@ -756,8 +787,6 @@ class Engine(IBus.EngineSimple): self.update_property(self.__prop_dict[prop_name]) mode, symbol = input_modes[prop_name] - if Engine.__input_mode == mode: - return label = _("%(description)s (%(symbol)s)") % \ { 'description' : _("Input mode"), 'symbol' : symbol } @@ -799,6 +828,9 @@ class Engine(IBus.EngineSimple): self.__invalidate() def __refresh_typing_mode_property(self): + if u'TypingMode' not in self.__prop_dict: + return + prop = self.__prop_dict[u'TypingMode'] modes = { jastring.TYPING_MODE_ROMAJI : (u'TypingMode.Romaji', 'R'), diff --git a/po/ibus-anthy.pot b/po/ibus-anthy.pot index 0aa1fbd..a03e0d3 100644 --- a/po/ibus-anthy.pot +++ b/po/ibus-anthy.pot @@ -6,7 +6,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: 2012-10-05 21:22+0900\n" +"POT-Creation-Date: 2012-12-25 15:24+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" @@ -15,145 +15,146 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: ../engine/engine.py:193 ../setup/main.py:377 +msgid "Preferences - Anthy" +msgstr "" + +#: ../engine/engine.py:195 +msgid "Configure Anthy" +msgstr "" + #. Translators: Specify the order of %s with your translation. #. It will be "Input Mode (A)" for example. -#: ../engine/engine.py:203 ../engine/engine.py:277 ../engine/engine.py:354 -#: ../engine/engine.py:419 ../engine/engine.py:741 ../engine/engine.py:769 -#: ../engine/engine.py:790 ../engine/engine.py:816 ../engine/engine.py:883 +#: ../engine/engine.py:232 ../engine/engine.py:320 ../engine/engine.py:387 +#: ../engine/engine.py:463 ../engine/engine.py:791 ../engine/engine.py:819 +#: ../engine/engine.py:843 ../engine/engine.py:869 ../engine/engine.py:936 #, python-format msgid "%(description)s (%(symbol)s)" msgstr "" -#: ../engine/engine.py:204 ../engine/engine.py:742 +#: ../engine/engine.py:233 ../engine/engine.py:792 ../setup/main.py:362 msgid "Input mode" msgstr "" -#: ../engine/engine.py:210 +#: ../engine/engine.py:239 msgid "Switch input mode" msgstr "" -#: ../engine/engine.py:220 ../setup/setup.ui.h:1 +#: ../engine/engine.py:249 ../setup/setup.ui.h:1 msgid "Hiragana" msgstr "" -#: ../engine/engine.py:229 ../setup/setup.ui.h:2 +#: ../engine/engine.py:258 ../setup/setup.ui.h:2 msgid "Katakana" msgstr "" -#: ../engine/engine.py:238 ../setup/setup.ui.h:3 +#: ../engine/engine.py:267 ../setup/setup.ui.h:3 msgid "Halfwidth Katakana" msgstr "" -#: ../engine/engine.py:247 ../setup/setup.ui.h:4 +#: ../engine/engine.py:276 ../setup/setup.ui.h:4 msgid "Latin" msgstr "" -#: ../engine/engine.py:256 ../setup/setup.ui.h:5 +#: ../engine/engine.py:285 ../setup/setup.ui.h:5 msgid "Wide Latin" msgstr "" -#: ../engine/engine.py:278 ../engine/engine.py:770 ../engine/engine.py:791 +#: ../engine/engine.py:321 ../engine/engine.py:820 ../engine/engine.py:844 +#: ../setup/main.py:365 msgid "Typing method" msgstr "" -#: ../engine/engine.py:284 +#: ../engine/engine.py:327 msgid "Switch typing method" msgstr "" -#: ../engine/engine.py:294 ../setup/setup.ui.h:12 +#: ../engine/engine.py:337 ../setup/setup.ui.h:12 msgid "Romaji" msgstr "" -#: ../engine/engine.py:303 ../setup/setup.ui.h:13 +#: ../engine/engine.py:346 ../setup/setup.ui.h:13 msgid "Kana" msgstr "" -#: ../engine/engine.py:312 ../setup/setup.ui.h:14 +#: ../engine/engine.py:355 ../setup/setup.ui.h:14 msgid "Thumb shift" msgstr "" -#: ../engine/engine.py:334 -msgid "Preferences - Anthy" -msgstr "" - -#: ../engine/engine.py:336 -msgid "Configure Anthy" -msgstr "" - -#: ../engine/engine.py:355 ../engine/engine.py:817 +#: ../engine/engine.py:388 ../engine/engine.py:870 ../setup/main.py:368 msgid "Segment mode" msgstr "" -#: ../engine/engine.py:361 +#: ../engine/engine.py:394 msgid "Switch conversion mode" msgstr "" -#: ../engine/engine.py:371 ../setup/setup.ui.h:15 +#: ../engine/engine.py:404 ../setup/setup.ui.h:15 msgid "Multiple segment" msgstr "" -#: ../engine/engine.py:380 ../setup/setup.ui.h:16 +#: ../engine/engine.py:413 ../setup/setup.ui.h:16 msgid "Single segment" msgstr "" -#: ../engine/engine.py:389 ../setup/setup.ui.h:17 +#: ../engine/engine.py:422 ../setup/setup.ui.h:17 msgid "Immediate conversion (multiple segment)" msgstr "" -#: ../engine/engine.py:398 ../setup/setup.ui.h:18 +#: ../engine/engine.py:431 ../setup/setup.ui.h:18 msgid "Immediate conversion (single segment)" msgstr "" -#: ../engine/engine.py:420 ../engine/engine.py:884 +#: ../engine/engine.py:464 ../engine/engine.py:937 ../setup/main.py:371 msgid "Dictionary mode" msgstr "" -#: ../engine/engine.py:426 +#: ../engine/engine.py:470 msgid "Switch dictionary" msgstr "" -#: ../engine/engine.py:490 +#: ../engine/engine.py:542 ../setup/main.py:374 msgid "Dictionary - Anthy" msgstr "" #. Translators: "Dic" means 'dictionary', One kanji may be good. -#: ../engine/engine.py:496 +#: ../engine/engine.py:548 msgid "Dic" msgstr "" -#: ../engine/engine.py:503 +#: ../engine/engine.py:555 msgid "Configure dictionaries" msgstr "" -#: ../engine/engine.py:513 +#: ../engine/engine.py:565 msgid "Edit dictionaries" msgstr "" -#: ../engine/engine.py:515 +#: ../engine/engine.py:567 msgid "Launch the dictionary tool" msgstr "" -#: ../engine/engine.py:522 +#: ../engine/engine.py:574 msgid "Add words" msgstr "" -#: ../engine/engine.py:524 +#: ../engine/engine.py:576 msgid "Add words to the dictionary" msgstr "" -#: ../setup/anthyprefs.py.in:848 +#: ../setup/anthyprefs.py.in:1089 ../setup/setup.ui.h:35 msgid "General" msgstr "" -#: ../setup/anthyprefs.py.in:859 +#: ../setup/anthyprefs.py.in:1100 msgid "Zip Code Conversion" msgstr "" -#: ../setup/anthyprefs.py.in:871 +#: ../setup/anthyprefs.py.in:1112 msgid "Symbol" msgstr "" -#: ../setup/anthyprefs.py.in:882 +#: ../setup/anthyprefs.py.in:1123 msgid "Old Character Style" msgstr "" @@ -170,237 +171,249 @@ msgstr "" msgid "ibus is not running." msgstr "" -#: ../setup/main.py:134 +#: ../setup/main.py:139 +msgid "Menu label" +msgstr "" + +#: ../setup/main.py:158 msgid "Command" msgstr "" -#: ../setup/main.py:138 +#: ../setup/main.py:162 msgid "Shortcut" msgstr "" -#: ../setup/main.py:187 +#: ../setup/main.py:207 msgid "Description" msgstr "" #. Translators: "Embd" is an abbreviation of "embedded". -#: ../setup/main.py:195 +#: ../setup/main.py:215 msgid "Embd" msgstr "" #. Translators: "Sgl" is an abbreviation of "single". -#: ../setup/main.py:203 +#: ../setup/main.py:223 msgid "Sgl" msgstr "" -#: ../setup/main.py:341 ../setup/main.py:370 +#: ../setup/main.py:407 ../setup/main.py:442 msgid "Input Chars" msgstr "" -#: ../setup/main.py:343 ../setup/main.py:372 +#: ../setup/main.py:409 ../setup/main.py:444 msgid "Output Chars" msgstr "" -#: ../setup/main.py:411 +#: ../setup/main.py:489 msgid "Input" msgstr "" -#: ../setup/main.py:413 +#: ../setup/main.py:491 msgid "Single" msgstr "" -#: ../setup/main.py:415 +#: ../setup/main.py:493 msgid "Left" msgstr "" -#: ../setup/main.py:417 +#: ../setup/main.py:495 msgid "Right" msgstr "" -#: ../setup/main.py:492 +#: ../setup/main.py:576 msgid "Customize Romaji Key Table" msgstr "" -#: ../setup/main.py:493 ../setup/setup.ui.h:49 +#: ../setup/main.py:577 ../setup/setup.ui.h:51 msgid "_Romaji Key Table:" msgstr "" -#: ../setup/main.py:494 ../setup/main.py:500 +#: ../setup/main.py:578 ../setup/main.py:584 msgid "_Output Chars" msgstr "" -#: ../setup/main.py:495 ../setup/main.py:501 ../setup/main.py:901 -#: ../setup/main.py:930 ../setup/setup.ui.h:26 +#: ../setup/main.py:579 ../setup/main.py:1072 ../setup/main.py:1152 +#: ../setup/setup.ui.h:26 msgid "Default" msgstr "" -#: ../setup/main.py:498 +#: ../setup/main.py:582 msgid "Customize Kana Key Table" msgstr "" -#: ../setup/main.py:499 ../setup/setup.ui.h:51 +#: ../setup/main.py:583 ../setup/setup.ui.h:53 msgid "_Kana Key Table:" msgstr "" -#: ../setup/main.py:504 +#: ../setup/main.py:585 +msgid "Japanese Keyboard Layout" +msgstr "" + +#: ../setup/main.py:586 +msgid "U.S. Keyboard Layout" +msgstr "" + +#: ../setup/main.py:589 msgid "Customize Thumb Shift Key Table" msgstr "" -#: ../setup/main.py:505 +#: ../setup/main.py:590 msgid "_Thumb Shift Key Table:" msgstr "" -#: ../setup/main.py:506 +#: ../setup/main.py:591 msgid "Single _Output Chars" msgstr "" -#: ../setup/main.py:507 +#: ../setup/main.py:592 msgid "Base" msgstr "" -#: ../setup/main.py:508 +#: ../setup/main.py:593 msgid "NICOLA-J key extension" msgstr "" -#: ../setup/main.py:509 +#: ../setup/main.py:594 msgid "NICOLA-A key extension" msgstr "" -#: ../setup/main.py:510 +#: ../setup/main.py:595 msgid "NICOLA-F key extension" msgstr "" -#: ../setup/main.py:511 +#: ../setup/main.py:596 msgid "FMV KB231-J key extension" msgstr "" -#: ../setup/main.py:512 +#: ../setup/main.py:597 msgid "FMV KB231-A key extension" msgstr "" -#: ../setup/main.py:513 +#: ../setup/main.py:598 msgid "FMV KB231-F key extension" msgstr "" -#: ../setup/main.py:514 +#: ../setup/main.py:599 msgid "FMV KB611-J key extension" msgstr "" -#: ../setup/main.py:515 +#: ../setup/main.py:600 msgid "FMV KB611-A key extension" msgstr "" -#: ../setup/main.py:516 +#: ../setup/main.py:601 msgid "FMV KB611-F key extension" msgstr "" -#: ../setup/main.py:676 +#: ../setup/main.py:769 msgid "Your choosed file has already been added: " msgstr "" -#: ../setup/main.py:680 +#: ../setup/main.py:773 msgid "The file you have chosen does not exist: " msgstr "" -#: ../setup/main.py:684 +#: ../setup/main.py:777 msgid "Your choosed file is a directory: " msgstr "" -#: ../setup/main.py:688 +#: ../setup/main.py:781 msgid "You cannot add dictionaries in the anthy private directory: " msgstr "" -#: ../setup/main.py:695 +#: ../setup/main.py:788 msgid "Your file path is not good: " msgstr "" -#: ../setup/main.py:842 +#: ../setup/main.py:935 msgid "The engine xml file does not exist: " msgstr "" -#: ../setup/main.py:883 +#: ../setup/main.py:1053 msgid "" "Anthy keyboard layout is changed. Please restart ibus to reload the layout." msgstr "" -#: ../setup/main.py:947 +#: ../setup/main.py:1114 msgid "Confirmation" msgstr "" -#: ../setup/main.py:949 +#: ../setup/main.py:1116 msgid "You are about to close the setup dialog, is that OK?" msgstr "" -#: ../setup/main.py:963 +#: ../setup/main.py:1130 msgid "Notice!" msgstr "" -#: ../setup/main.py:965 +#: ../setup/main.py:1132 msgid "" "You are about to close the setup dialog without saving your changes, is that " "OK?" msgstr "" -#: ../setup/main.py:1070 +#: ../setup/main.py:1252 msgid "Please specify Input Chars" msgstr "" -#: ../setup/main.py:1073 +#: ../setup/main.py:1255 msgid "Please specify Output Chars" msgstr "" -#: ../setup/main.py:1076 +#: ../setup/main.py:1258 msgid "Please specify Left Thumb Shift Chars" msgstr "" -#: ../setup/main.py:1079 +#: ../setup/main.py:1261 msgid "Please specify Right Thumb Shift Chars" msgstr "" -#: ../setup/main.py:1092 ../setup/main.py:1132 +#: ../setup/main.py:1274 ../setup/main.py:1318 msgid "Your custom key is not assigned in any sections. Maybe a bug." msgstr "" -#: ../setup/main.py:1192 ../setup/main.py:1278 +#: ../setup/main.py:1383 ../setup/main.py:1469 msgid "Your file does not exist: " msgstr "" -#: ../setup/main.py:1202 +#: ../setup/main.py:1393 msgid "Open Dictionary File" msgstr "" -#: ../setup/main.py:1208 +#: ../setup/main.py:1399 msgid "Edit Dictionary File" msgstr "" -#: ../setup/main.py:1222 +#: ../setup/main.py:1413 msgid "Your choosed file is not correct." msgstr "" -#: ../setup/main.py:1251 +#: ../setup/main.py:1442 msgid "You cannot delete the system dictionary." msgstr "" -#: ../setup/main.py:1274 +#: ../setup/main.py:1465 msgid "Your file is not good." msgstr "" -#: ../setup/main.py:1304 +#: ../setup/main.py:1495 msgid "View Dictionary File" msgstr "" -#: ../setup/main.py:1458 +#: ../setup/main.py:1649 msgid "Please press a key (or a key combination)" msgstr "" -#: ../setup/main.py:1459 +#: ../setup/main.py:1650 msgid "The dialog will be closed when the key is released" msgstr "" -#: ../setup/main.py:1478 ../setup/main.py:1498 +#: ../setup/main.py:1669 ../setup/main.py:1689 msgid "Invalid keysym" msgstr "" -#: ../setup/main.py:1479 ../setup/main.py:1499 +#: ../setup/main.py:1670 ../setup/main.py:1690 msgid "This keysym is not valid" msgstr "" @@ -485,258 +498,262 @@ msgid "<b>Initial Setting</b>" msgstr "" #: ../setup/setup.ui.h:34 +msgid "<b>Menu Visibility on Status Icon</b>" +msgstr "" + +#: ../setup/setup.ui.h:36 msgid "_Period Style:" msgstr "" -#: ../setup/setup.ui.h:35 +#: ../setup/setup.ui.h:37 msgid "Symbo_l Style:" msgstr "" -#: ../setup/setup.ui.h:36 +#: ../setup/setup.ui.h:38 msgid "Numpad _Key Type:" msgstr "" -#: ../setup/setup.ui.h:37 +#: ../setup/setup.ui.h:39 msgid "_Behavior on Period:" msgstr "" -#: ../setup/setup.ui.h:38 +#: ../setup/setup.ui.h:40 msgid "Behavior on _Focus Out:" msgstr "" -#: ../setup/setup.ui.h:39 +#: ../setup/setup.ui.h:41 msgid "<b>Behavior</b>" msgstr "" -#: ../setup/setup.ui.h:40 +#: ../setup/setup.ui.h:42 msgid "Convert _numbers with the one column width" msgstr "" -#: ../setup/setup.ui.h:41 +#: ../setup/setup.ui.h:43 msgid "Candidate _Window Page Size:" msgstr "" -#: ../setup/setup.ui.h:42 +#: ../setup/setup.ui.h:44 msgid "Convert _symbols with the one column width" msgstr "" -#: ../setup/setup.ui.h:43 +#: ../setup/setup.ui.h:45 msgid "Con_vert spaces with the one column width" msgstr "" -#: ../setup/setup.ui.h:44 +#: ../setup/setup.ui.h:46 msgid "<b>Other</b>" msgstr "" -#: ../setup/setup.ui.h:45 -msgid "_General" +#: ../setup/setup.ui.h:47 +msgid "Conversion" msgstr "" -#: ../setup/setup.ui.h:46 +#: ../setup/setup.ui.h:48 msgid "_Shortcut Type:" msgstr "" -#: ../setup/setup.ui.h:47 +#: ../setup/setup.ui.h:49 msgid "De_fault" msgstr "" -#: ../setup/setup.ui.h:48 -msgid "Key Bin_ding" +#: ../setup/setup.ui.h:50 +msgid "Key Binding" msgstr "" -#: ../setup/setup.ui.h:50 +#: ../setup/setup.ui.h:52 msgid "<b>Romaji</b>" msgstr "" -#: ../setup/setup.ui.h:52 +#: ../setup/setup.ui.h:54 msgid "<b>Kana</b>" msgstr "" -#: ../setup/setup.ui.h:53 +#: ../setup/setup.ui.h:55 msgid "Keyboad _layout:" msgstr "" -#: ../setup/setup.ui.h:54 +#: ../setup/setup.ui.h:56 msgid "<b>Keyboard layout</b>" msgstr "" -#: ../setup/setup.ui.h:55 -msgid "_Typing Method" +#: ../setup/setup.ui.h:57 +msgid "Typing Method" msgstr "" -#: ../setup/setup.ui.h:56 +#: ../setup/setup.ui.h:58 msgid "_Left Thumb Shift Key:" msgstr "" -#: ../setup/setup.ui.h:57 +#: ../setup/setup.ui.h:59 msgid "Right _Thumb Shift Key:" msgstr "" -#: ../setup/setup.ui.h:58 +#: ../setup/setup.ui.h:60 msgid "Adjust _input method layout to system keyboard layout" msgstr "" -#: ../setup/setup.ui.h:59 +#: ../setup/setup.ui.h:61 msgid "Adjust IM layout to XKB layout" msgstr "" -#: ../setup/setup.ui.h:60 +#: ../setup/setup.ui.h:62 msgid "Input _Method Layout:" msgstr "" -#: ../setup/setup.ui.h:61 +#: ../setup/setup.ui.h:63 msgid "Restart IBus when you change the keyboard layout" msgstr "" -#: ../setup/setup.ui.h:62 +#: ../setup/setup.ui.h:64 msgid "Restart IBus when you change XKB" msgstr "" -#: ../setup/setup.ui.h:63 +#: ../setup/setup.ui.h:65 msgid "" "Strongly recommend to enable \"Use system keyboard layout\" check button in " "\"Advanced\" tab using 'ibus-setup' command" msgstr "" -#: ../setup/setup.ui.h:64 +#: ../setup/setup.ui.h:66 msgid "_Additional Key Arrangement:" msgstr "" -#: ../setup/setup.ui.h:65 +#: ../setup/setup.ui.h:67 msgid "" "'~', '『', '¢', '£' and so on can be output with " "Thumb Shift key" msgstr "" -#: ../setup/setup.ui.h:66 +#: ../setup/setup.ui.h:68 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/setup.ui.h:67 +#: ../setup/setup.ui.h:69 msgid "" "You do not have to reconfigure XKB since this option changes IM layout only " "with IM on." msgstr "" -#: ../setup/setup.ui.h:68 +#: ../setup/setup.ui.h:70 msgid "_Enable semi-voiced sound mark with Shift key" msgstr "" -#: ../setup/setup.ui.h:69 +#: ../setup/setup.ui.h:71 msgid "Seion + Shift can output Handakuon" msgstr "" -#: ../setup/setup.ui.h:70 +#: ../setup/setup.ui.h:72 msgid "Thumb _Shift Key Table:" msgstr "" -#: ../setup/setup.ui.h:71 +#: ../setup/setup.ui.h:73 msgid "<b>Thumb Shift Layout</b>" msgstr "" -#: ../setup/setup.ui.h:72 -msgid "Thumb S_hift" +#: ../setup/setup.ui.h:74 +msgid "Thumb Shift" msgstr "" -#: ../setup/setup.ui.h:73 +#: ../setup/setup.ui.h:75 msgid "_Edit Dictionary Command:" msgstr "" -#: ../setup/setup.ui.h:74 +#: ../setup/setup.ui.h:76 msgid "_Add Word Command:" msgstr "" -#: ../setup/setup.ui.h:75 +#: ../setup/setup.ui.h:77 msgid "<b>Default Dictionary Configuration</b>" msgstr "" -#: ../setup/setup.ui.h:76 +#: ../setup/setup.ui.h:78 msgid "_View" msgstr "" -#: ../setup/setup.ui.h:77 +#: ../setup/setup.ui.h:79 msgid "You can change the order on language bar" msgstr "" -#: ../setup/setup.ui.h:78 +#: ../setup/setup.ui.h:80 msgid "<b>Extended Dictionaries</b>" msgstr "" -#: ../setup/setup.ui.h:79 -msgid "Dictionar_y" +#: ../setup/setup.ui.h:81 +msgid "Dictionary" msgstr "" -#: ../setup/setup.ui.h:80 -msgid "Abo_ut" +#: ../setup/setup.ui.h:82 +msgid "About" msgstr "" -#: ../setup/setup.ui.h:81 +#: ../setup/setup.ui.h:83 msgid "Edit Shortcut" msgstr "" -#: ../setup/setup.ui.h:82 +#: ../setup/setup.ui.h:84 msgid "Key Code:" msgstr "" -#: ../setup/setup.ui.h:83 +#: ../setup/setup.ui.h:85 msgid "Modifier:" msgstr "" -#: ../setup/setup.ui.h:84 +#: ../setup/setup.ui.h:86 msgid "A_lternate" msgstr "" -#: ../setup/setup.ui.h:85 +#: ../setup/setup.ui.h:87 msgid "Co_ntrol" msgstr "" -#: ../setup/setup.ui.h:86 +#: ../setup/setup.ui.h:88 msgid "_Shift" msgstr "" -#: ../setup/setup.ui.h:87 +#: ../setup/setup.ui.h:89 msgid "_Input Characters" msgstr "" -#: ../setup/setup.ui.h:88 +#: ../setup/setup.ui.h:90 msgid "_Output Characters" msgstr "" -#: ../setup/setup.ui.h:89 +#: ../setup/setup.ui.h:91 msgid "_Left Thumb Shift" msgstr "" -#: ../setup/setup.ui.h:90 +#: ../setup/setup.ui.h:92 msgid "_Right Thumb Shift" msgstr "" -#: ../setup/setup.ui.h:91 +#: ../setup/setup.ui.h:93 msgid "_Short Label:" msgstr "" -#: ../setup/setup.ui.h:92 +#: ../setup/setup.ui.h:94 msgid "_Description:" msgstr "" -#: ../setup/setup.ui.h:93 +#: ../setup/setup.ui.h:95 msgid "_Use your dictionary alone with switching dictionaries" msgstr "" -#: ../setup/setup.ui.h:94 +#: ../setup/setup.ui.h:96 msgid "_Embed your dictionary in the system dictionary" msgstr "" -#: ../setup/setup.ui.h:95 +#: ../setup/setup.ui.h:97 msgid "Enable the _reverse conversion" msgstr "" -#: ../setup/setup.ui.h:96 +#: ../setup/setup.ui.h:98 msgid "The Anthy engine for the IBus input platform" msgstr "" -#: ../setup/setup.ui.h:97 +#: ../setup/setup.ui.h:99 msgid "translator_credits" msgstr "" diff --git a/setup/anthyprefs.py.in b/setup/anthyprefs.py.in index eb8af86..7622b75 100644 --- a/setup/anthyprefs.py.in +++ b/setup/anthyprefs.py.in @@ -346,6 +346,13 @@ _config = { 'typing_method': 0, 'conversion_segment_mode': 0, + 'show-input-mode': True, + 'show-typing-method': False, + 'show-segment-mode': False, + 'show-dict-mode': True, + 'show-dict-config': False, + 'show-preferences': True, + 'period_style': 0, 'symbol_style': 1, 'ten_key_mode': 1, diff --git a/setup/main.py b/setup/main.py index 9313bb9..2434476 100644 --- a/setup/main.py +++ b/setup/main.py @@ -122,6 +122,30 @@ class AnthySetup(object): section, key = self.__get_section_key(name) builder.get_object(name).set_active(prefs.get_value(section, key)) + tv = builder.get_object('menu_visible:treeview') + ls = Gtk.ListStore(str, bool, str) + tv.set_model(ls) + + column = Gtk.TreeViewColumn(' ') + renderer = Gtk.CellRendererToggle() + renderer.set_radio(False) + renderer.connect('toggled', self.__renderer_toggled_cb, ls) + column.pack_start(renderer, False) + column.set_cell_data_func(renderer, + self.__toggle_menu_visible_cell_cb, + 1) + tv.append_column(column) + + column = Gtk.TreeViewColumn(_("Menu label")) + renderer = Gtk.CellRendererText() + column.pack_start(renderer, False) + column.set_cell_data_func(renderer, + self.__text_menu_visible_cell_cb, + 2) + tv.append_column(column) + + self.__append_menus_in_model() + l = ['default', 'atok', 'wnn'] s_type = prefs.get_value('common', 'shortcut_type') s_type = s_type if s_type in l else 'default' @@ -157,7 +181,7 @@ class AnthySetup(object): section, key = self.__get_section_key(name) builder.get_object(name).set_text(prefs.get_value(section, key)) - tv = builder.get_object('treeview2') + tv = builder.get_object('es:treeview') tv.append_column(Gtk.TreeViewColumn('', Gtk.CellRendererText(), text=0)) tv.get_selection().connect_after('changed', self.on_selection_changed, 1) @@ -174,7 +198,7 @@ class AnthySetup(object): tv = builder.get_object('dict:view') - column = Gtk.TreeViewColumn((' ')) + column = Gtk.TreeViewColumn(' ') renderer = Gtk.CellRendererText() column.pack_start(renderer, False) column.set_cell_data_func(renderer, self.__text_cell_data_cb, 1) @@ -312,6 +336,46 @@ class AnthySetup(object): def __japanese_thumb_sort(self, a, b): return cmp(a[0], b[0]) + def __renderer_toggled_cb(self, renderer, path, model): + prefs = self.prefs + enabled = not model[path][1] + model[path][1] = enabled + key = model[path][0] + prefs.set_value('common', key, enabled) + self.__builder.get_object('btn_apply').set_sensitive(True) + + def __toggle_menu_visible_cell_cb(self, column, renderer, model, iter, id): + l = self.__builder.get_object('menu_visible:treeview').get_model() + active = l.get_value(iter, id) + renderer.set_property('active', active) + + def __text_menu_visible_cell_cb(self, column, renderer, model, iter, id): + l = self.__builder.get_object('menu_visible:treeview').get_model() + text = l.get_value(iter, id) + renderer.set_property('text', text) + + def __append_menus_in_model(self): + prefs = self.prefs + l = self.__builder.get_object('menu_visible:treeview').get_model() + l.append(['show-input-mode', + prefs.get_value('common', 'show-input-mode'), + _("Input mode")]) + l.append(['show-typing-method', + prefs.get_value('common', 'show-typing-method'), + _("Typing method")]) + l.append(['show-segment-mode', + prefs.get_value('common', 'show-segment-mode'), + _("Segment mode")]) + l.append(['show-dict-mode', + prefs.get_value('common', 'show-dict-mode'), + _("Dictionary mode")]) + l.append(['show-dict-config', + prefs.get_value('common', 'show-dict-config'), + _("Dictionary - Anthy")]) + l.append(['show-preferences', + prefs.get_value('common', 'show-preferences'), + _("Preferences - Anthy")]) + def __get_romaji_treeview_custom_key_table(self, method): prefs = self.prefs rule = {} @@ -1024,7 +1088,7 @@ class AnthySetup(object): def on_selection_changed(self, widget, id): set_sensitive = lambda a, b: self.__builder.get_object(a).set_sensitive(b) flg = True if widget.get_selected()[1] else False - for name in [['btn_default', 'btn_edit'], ['button5', 'button6']][id]: + for name in [['btn_default', 'btn_edit'], ['es:button_refresh', 'es:button_del']][id]: set_sensitive(name, flg) def on_selection_custom_key_table_changed(self, widget, id): @@ -1130,12 +1194,12 @@ class AnthySetup(object): def on_btn_edit_clicked(self, widget): ls, it = self.__builder.get_object('shortcut').get_selection().get_selected() - m = self.__builder.get_object('treeview2').get_model() + m = self.__builder.get_object('es:treeview').get_model() m.clear() for s in s_to_l(ls.get(it, 1)[0]): m.append([s]) - self.__builder.get_object('entry2').set_text('') - for w in ['checkbutton6', 'checkbutton7', 'checkbutton8']: + self.__builder.get_object('es:entry').set_text('') + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') id = dlg.run() @@ -1279,26 +1343,27 @@ class AnthySetup(object): else: return text = self.__builder.get_object(entry).get_text() - m = self.__builder.get_object('treeview2').get_model() + tv = self.__builder.get_object('es:treeview') + m = tv.get_model() m.clear() if text != None: m.append([text]) i = m.get_iter_first() - self.__builder.get_object('treeview2').get_selection().select_iter(i) - self.__builder.get_object('entry2').set_text('') - self.__builder.get_object('button4').hide() - self.__builder.get_object('button5').show() - self.__builder.get_object('button6').hide() - for w in ['checkbutton6', 'checkbutton7', 'checkbutton8']: + tv.get_selection().select_iter(i) + self.__builder.get_object('es:entry').set_text('') + self.__builder.get_object('es:button_add').hide() + self.__builder.get_object('es:button_refresh').show() + self.__builder.get_object('es:button_del').hide() + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') id = dlg.run() dlg.hide() - self.__builder.get_object('button4').show() - self.__builder.get_object('button5').hide() - self.__builder.get_object('button6').show() + self.__builder.get_object('es:button_add').show() + self.__builder.get_object('es:button_refresh').hide() + self.__builder.get_object('es:button_del').show() if id == Gtk.ResponseType.OK: - l, i = self.__builder.get_object('treeview2').get_selection().get_selected() + l, i = tv.get_selection().get_selected() new = l[i][0] if new != text: section, key = self.__get_section_key(entry) @@ -1573,13 +1638,13 @@ class AnthySetup(object): self.prefs.set_value('common', key, list) self.__builder.get_object('btn_apply').set_sensitive(True) - def on_entry2_changed(self, widget): + def on_es_entry_changed(self, widget): if not widget.get_text(): - self.__builder.get_object('button4').set_sensitive(False) + self.__builder.get_object('es:button_add').set_sensitive(False) else: - self.__builder.get_object('button4').set_sensitive(True) + self.__builder.get_object('es:button_add').set_sensitive(True) - def on_button7_clicked(self, widget): + def on_es_button_run_input_clicked(self, widget): dlg = self.__builder.get_object('key_input_dialog') dlg.set_markup('<big><b>%s</b></big>' % _("Please press a key (or a key combination)")) dlg.format_secondary_text(_("The dialog will be closed when the key is released")) @@ -1590,15 +1655,15 @@ class AnthySetup(object): if (state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK) and ord('a') <= key <= ord('z')): key = ord(chr(key).upper()) - self.__builder.get_object('entry2').set_text(IBus.keyval_name(key)) + self.__builder.get_object('es:entry').set_text(IBus.keyval_name(key)) - for w, i in [('checkbutton6', IBus.ModifierType.CONTROL_MASK), - ('checkbutton7', IBus.ModifierType.MOD1_MASK), - ('checkbutton8', IBus.ModifierType.SHIFT_MASK)]: + for w, i in [('es:checkbutton_ctrl', IBus.ModifierType.CONTROL_MASK), + ('es:checkbutton_alt', IBus.ModifierType.MOD1_MASK), + ('es:checkbutton_shift', IBus.ModifierType.SHIFT_MASK)]: self.__builder.get_object(w).set_active(True if state & i else False) - def on_button4_clicked(self, widget): - s = self.__builder.get_object('entry2').get_text() + def on_es_button_add_clicked(self, widget): + s = self.__builder.get_object('es:entry').get_text() if not s or not IBus.keyval_from_name(s): dlg = self.__builder.get_object('invalid_keysym') dlg.set_markup('<big><b>%s</b></big>' % _("Invalid keysym")) @@ -1606,19 +1671,19 @@ class AnthySetup(object): dlg.run() dlg.hide() return True - for w, m in [('checkbutton6', 'Ctrl+'), - ('checkbutton7', 'Alt+'), - ('checkbutton8', 'Shift+')]: + for w, m in [('es:checkbutton_ctrl', 'Ctrl+'), + ('es:checkbutton_alt', 'Alt+'), + ('es:checkbutton_shift', 'Shift+')]: if self.__builder.get_object(w).get_active(): s = m + s - l = self.__builder.get_object('treeview2').get_model() + l = self.__builder.get_object('es:treeview').get_model() for i in range(len(l)): if l[i][0] == s: return True l.append([s]) - def on_button5_clicked(self, widget): - s = self.__builder.get_object('entry2').get_text() + def on_es_button_refresh_clicked(self, widget): + s = self.__builder.get_object('es:entry').get_text() if not s or not IBus.keyval_from_name(s): dlg = self.__builder.get_object('invalid_keysym') dlg.set_markup('<big><b>%s</b></big>' % _("Invalid keysym")) @@ -1626,17 +1691,19 @@ class AnthySetup(object): dlg.run() dlg.hide() return True - for w, m in [('checkbutton6', 'Ctrl+'), - ('checkbutton7', 'Alt+'), - ('checkbutton8', 'Shift+')]: + for w, m in [('es:checkbutton_ctrl', 'Ctrl+'), + ('es:checkbutton_alt', 'Alt+'), + ('es:checkbutton_shift', 'Shift+')]: if self.__builder.get_object(w).get_active(): s = m + s - l, i = self.__builder.get_object('treeview2').get_selection().get_selected() + tv = self.__builder.get_object('es:treeview') + l, i = tv.get_selection().get_selected() l[i][0] = s return True - def on_button6_clicked(self, widget): - l, i = self.__builder.get_object('treeview2').get_selection().get_selected() + def on_es_button_del_clicked(self, widget): + tv = self.__builder.get_object('es:treeview') + l, i = tv.get_selection().get_selected() if i: l.remove(i) diff --git a/setup/prefs.py b/setup/prefs.py index 51b294a..432ccda 100644 --- a/setup/prefs.py +++ b/setup/prefs.py @@ -139,6 +139,14 @@ class Prefs(object): for key in variant.keys(): v = variant[key] 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): s = '/'.join( diff --git a/setup/setup.ui b/setup/setup.ui index 4ad187d..8efbe4e 100644 --- a/setup/setup.ui +++ b/setup/setup.ui @@ -30,7 +30,7 @@ </row> </data> </object> - <object class="GtkListStore" id="model10"> + <object class="GtkListStore" id="model51"> <columns> <column type="gchararray"/> </columns> @@ -207,18 +207,18 @@ <property name="visible">True</property> <property name="border_width">8</property> <child> - <object class="GtkFrame" id="frame1"> + <object class="GtkFrame" id="frame11"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment1"> + <object class="GtkAlignment" id="alignment11"> <property name="visible">True</property> <property name="top_padding">8</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkTable" id="table1"> + <object class="GtkTable" id="table11"> <property name="visible">True</property> <property name="n_rows">3</property> <property name="n_columns">2</property> @@ -344,18 +344,87 @@ </packing> </child> <child> - <object class="GtkFrame" id="frame2"> + <object class="GtkFrame" id="frame12"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment2"> + <object class="GtkAlignment" id="alignment12"> <property name="visible">True</property> <property name="top_padding">8</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkTable" id="table2"> + <object class="GtkVBox" id="vbox12"> + <property name="visible">True</property> + <property name="border_width">4</property> + <property name="spacing">4</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow12"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="height_request">200</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="menu_visible:treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + </object> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label152"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>Menu Visibility on Status Icon</b></property> + <property name="use_markup">True</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <child type="tab"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">General</property> + <property name="mnemonic_widget">vbox1</property> + </object> + <packing> + <property name="tab_fill">False</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="border_width">8</property> + <child> + <object class="GtkFrame" id="frame21"> + <property name="visible">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment21"> + <property name="visible">True</property> + <property name="top_padding">8</property> + <property name="bottom_padding">8</property> + <property name="left_padding">12</property> + <child> + <object class="GtkTable" id="table21"> <property name="visible">True</property> <property name="n_rows">5</property> <property name="n_columns">2</property> @@ -537,7 +606,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label152"> + <object class="GtkLabel" id="label201"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Behavior</b></property> <property name="use_markup">True</property> @@ -547,22 +616,22 @@ <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">1</property> + <property name="position">0</property> </packing> </child> <child> - <object class="GtkFrame" id="frame3"> + <object class="GtkFrame" id="frame22"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment3"> + <object class="GtkAlignment" id="alignment22"> <property name="visible">True</property> <property name="top_padding">8</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkTable" id="table3"> + <object class="GtkTable" id="table22"> <property name="visible">True</property> <property name="n_rows">4</property> <property name="column_spacing">8</property> @@ -660,7 +729,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label153"> + <object class="GtkLabel" id="label211"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Other</b></property> <property name="use_markup">True</property> @@ -670,24 +739,24 @@ <packing> <property name="expand">False</property> <property name="fill">False</property> - <property name="position">2</property> + <property name="position">1</property> </packing> </child> </object> </child> <child type="tab"> - <object class="GtkLabel" id="label1"> + <object class="GtkLabel" id="label2"> <property name="visible">True</property> - <property name="label" translatable="yes">_General</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">vbox1</property> + <property name="label" translatable="yes">Conversion</property> + <property name="mnemonic_widget">vbox2</property> </object> <packing> + <property name="position">1</property> <property name="tab_fill">False</property> </packing> </child> <child> - <object class="GtkVBox" id="vbox2"> + <object class="GtkVBox" id="vbox3"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> @@ -736,7 +805,7 @@ </packing> </child> <child> - <object class="GtkScrolledWindow" id="scrolledwindow1"> + <object class="GtkScrolledWindow" id="scrolledwindow31"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="hscrollbar_policy">automatic</property> @@ -757,7 +826,7 @@ </packing> </child> <child> - <object class="GtkHButtonBox" id="hbuttonbox1"> + <object class="GtkHButtonBox" id="hbuttonbox31"> <property name="visible">True</property> <property name="spacing">4</property> <property name="layout_style">end</property> @@ -769,7 +838,7 @@ <property name="receives_default">False</property> <signal handler="on_btn_default_clicked" name="clicked"/> <child> - <object class="GtkAlignment" id="alignment4"> + <object class="GtkAlignment" id="alignment31"> <property name="visible">True</property> <property name="xscale">0</property> <property name="yscale">0</property> @@ -837,49 +906,48 @@ </object> </child> <child type="tab"> - <object class="GtkLabel" id="label2"> + <object class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="label" translatable="yes">Key Bin_ding</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">vbox2</property> + <property name="label" translatable="yes">Key Binding</property> + <property name="mnemonic_widget">vbox3</property> </object> <packing> - <property name="position">1</property> + <property name="position">2</property> <property name="tab_fill">False</property> </packing> </child> <child> - <object class="GtkBox" id="vbox3"> + <object class="GtkBox" id="vbox4"> <property name="visible">True</property> <property name="border_width">8</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkFrame" id="frame31"> + <object class="GtkFrame" id="frame41"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment31"> + <object class="GtkAlignment" id="alignment41"> <property name="visible">True</property> <property name="top_padding">0</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkBox" id="vbox31"> + <object class="GtkBox" id="vbox41"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkTable" id="table31"> + <object class="GtkTable" id="table41"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">2</property> <property name="column_spacing">8</property> <property name="row_spacing">4</property> <child> - <object class="GtkLabel" id="label302"> + <object class="GtkLabel" id="label402"> <property name="visible">True</property> <property name="label" translatable="yes">_Romaji Key Table:</property> <property name="use_underline">True</property> @@ -922,7 +990,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label301"> + <object class="GtkLabel" id="label401"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Romaji</b></property> <property name="use_markup">True</property> @@ -939,31 +1007,31 @@ </packing> </child> <child> - <object class="GtkFrame" id="frame32"> + <object class="GtkFrame" id="frame42"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment32"> + <object class="GtkAlignment" id="alignment42"> <property name="visible">True</property> <property name="top_padding">0</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkBox" id="vbox32"> + <object class="GtkBox" id="vbox42"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkTable" id="table32"> + <object class="GtkTable" id="table42"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">2</property> <property name="column_spacing">8</property> <property name="row_spacing">4</property> <child> - <object class="GtkLabel" id="label312"> + <object class="GtkLabel" id="label412"> <property name="visible">True</property> <property name="label" translatable="yes">_Kana Key Table:</property> <property name="use_underline">True</property> @@ -1006,7 +1074,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label311"> + <object class="GtkLabel" id="label411"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Kana</b></property> <property name="use_markup">True</property> @@ -1023,31 +1091,31 @@ </packing> </child> <child> - <object class="GtkFrame" id="frame33"> + <object class="GtkFrame" id="frame43"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment33"> + <object class="GtkAlignment" id="alignment43"> <property name="visible">True</property> <property name="top_padding">0</property> <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkBox" id="vbox33"> + <object class="GtkBox" id="vbox43"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkTable" id="table33"> + <object class="GtkTable" id="table43"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">2</property> <property name="column_spacing">8</property> <property name="row_spacing">4</property> <child> - <object class="GtkLabel" id="label322"> + <object class="GtkLabel" id="label422"> <property name="visible">True</property> <property name="label" translatable="yes">Keyboad _layout:</property> <property name="use_underline">True</property> @@ -1091,7 +1159,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label321"> + <object class="GtkLabel" id="label421"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Keyboard layout</b></property> <property name="use_markup">True</property> @@ -1110,25 +1178,24 @@ </object> </child> <child type="tab"> - <object class="GtkLabel" id="label3"> + <object class="GtkLabel" id="label4"> <property name="visible">True</property> - <property name="label" translatable="yes">_Typing Method</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">vbox3</property> + <property name="label" translatable="yes">Typing Method</property> + <property name="mnemonic_widget">vbox4</property> </object> <packing> - <property name="position">2</property> + <property name="position">3</property> <property name="tab_fill">False</property> </packing> </child> <child> - <object class="GtkBox" id="vbox4"> + <object class="GtkBox" id="vbox5"> <property name="visible">True</property> <property name="border_width">8</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkFrame" id="frame4"> + <object class="GtkFrame" id="frame51"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> @@ -1139,14 +1206,14 @@ <property name="bottom_padding">8</property> <property name="left_padding">12</property> <child> - <object class="GtkBox" id="vbox41"> + <object class="GtkBox" id="vbox51"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <property name="orientation">vertical</property> <child> - <object class="GtkTable" id="table5"> + <object class="GtkTable" id="table51"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">3</property> @@ -1268,7 +1335,7 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox9"> + <object class="GtkHBox" id="hbox51"> <property name="visible">True</property> <property name="spacing">8</property> <child> @@ -1289,7 +1356,7 @@ <object class="GtkComboBox" id="thumb:keyboard_layout"> <property name="visible">True</property> <signal handler="on_cb_changed" name="changed"/> - <property name="model">model10</property> + <property name="model">model51</property> <child> <object class="GtkCellRendererText" id="renderer10"/> <attributes> @@ -1309,7 +1376,7 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox10"> + <object class="GtkHBox" id="hbox52"> <property name="visible">True</property> <property name="spacing">8</property> <child> @@ -1422,7 +1489,7 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox12"> + <object class="GtkHBox" id="hbox53"> <property name="visible">True</property> <property name="spacing">8</property> <child> @@ -1477,7 +1544,7 @@ </child> <child> - <object class="GtkTable" id="table6"> + <object class="GtkTable" id="table52"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">2</property> @@ -1545,46 +1612,45 @@ </object> </child> <child type="tab"> - <object class="GtkLabel" id="label4"> + <object class="GtkLabel" id="label5"> <property name="visible">True</property> - <property name="label" translatable="yes">Thumb S_hift</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">vbox4</property> + <property name="label" translatable="yes">Thumb Shift</property> + <property name="mnemonic_widget">vbox5</property> </object> <packing> - <property name="position">3</property> + <property name="position">4</property> <property name="tab_fill">False</property> </packing> </child> <child> - <object class="GtkVBox" id="vbox5"> + <object class="GtkVBox" id="vbox6"> <property name="visible">True</property> <property name="border_width">8</property> <property name="spacing">4</property> <child> - <object class="GtkFrame" id="frame5"> + <object class="GtkFrame" id="frame61"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment6"> + <object class="GtkAlignment" id="alignment61"> <property name="visible">True</property> <property name="top_padding">4</property> <property name="left_padding">0</property> <child> - <object class="GtkVBox" id="vbox51"> + <object class="GtkVBox" id="vbox61"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <child> - <object class="GtkTable" id="table7"> + <object class="GtkTable" id="table61"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">3</property> <property name="column_spacing">8</property> <property name="row_spacing">4</property> <child> - <object class="GtkLabel" id="label501"> + <object class="GtkLabel" id="label601"> <property name="visible">True</property> <property name="label" translatable="yes">_Edit Dictionary Command:</property> <property name="use_underline">True</property> @@ -1635,7 +1701,7 @@ </packing> </child> <child> - <object class="GtkLabel" id="label502"> + <object class="GtkLabel" id="label602"> <property name="visible">True</property> <property name="label" translatable="yes">_Add Word Command:</property> <property name="use_underline">True</property> @@ -1706,7 +1772,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label50"> + <object class="GtkLabel" id="label60"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Default Dictionary Configuration</b></property> <property name="use_markup">True</property> @@ -1719,22 +1785,22 @@ </packing> </child> <child> - <object class="GtkFrame" id="frame6"> + <object class="GtkFrame" id="frame71"> <property name="visible">True</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> - <object class="GtkAlignment" id="alignment7"> + <object class="GtkAlignment" id="alignment71"> <property name="visible">True</property> <property name="top_padding">4</property> <property name="left_padding">0</property> <child> - <object class="GtkVBox" id="vbox52"> + <object class="GtkVBox" id="vbox71"> <property name="visible">True</property> <property name="border_width">4</property> <property name="spacing">4</property> <child> - <object class="GtkScrolledWindow" id="scrolledwindow2"> + <object class="GtkScrolledWindow" id="scrolledwindow71"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="height_request">220</property> @@ -1745,9 +1811,6 @@ <object class="GtkTreeView" id="dict:view"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal handler="on_shortcut_click_event" name="button_press_event"/> - <signal handler="on_shortcut_click_event" name="button_release_event"/> - <signal handler="on_shortcut_key_release_event" name="key_release_event"/> </object> </child> </object> @@ -1756,7 +1819,7 @@ </packing> </child> <child> - <object class="GtkHButtonBox" id="hbuttonbox2"> + <object class="GtkHButtonBox" id="hbuttonbox71"> <property name="visible">True</property> <property name="spacing">4</property> <property name="layout_style">end</property> @@ -1832,7 +1895,7 @@ </packing> </child> <child> - <object class="GtkHButtonBox" id="hbuttonbox3"> + <object class="GtkHButtonBox" id="hbuttonbox72"> <property name="visible">True</property> <property name="spacing">4</property> <property name="layout_style">end</property> @@ -1882,7 +1945,7 @@ </object> </child> <child type="label"> - <object class="GtkLabel" id="label51"> + <object class="GtkLabel" id="label71"> <property name="visible">True</property> <property name="label" translatable="yes"><b>Extended Dictionaries</b></property> <property name="use_markup">True</property> @@ -1897,14 +1960,13 @@ </object> </child> <child type="tab"> - <object class="GtkLabel" id="label5"> + <object class="GtkLabel" id="label6"> <property name="visible">True</property> - <property name="label" translatable="yes">Dictionar_y</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">vbox5</property> + <property name="label" translatable="yes">Dictionary</property> + <property name="mnemonic_widget">vbox6</property> </object> <packing> - <property name="position">4</property> + <property name="position">5</property> <property name="tab_fill">False</property> </packing> </child> @@ -1919,14 +1981,13 @@ </object> </child> <child type="tab"> - <object class="GtkLabel" id="label6"> + <object class="GtkLabel" id="label7"> <property name="visible">True</property> - <property name="label" translatable="yes">Abo_ut</property> - <property name="use_underline">True</property> + <property name="label" translatable="yes">About</property> <property name="mnemonic_widget">about_vbox</property> </object> <packing> - <property name="position">5</property> + <property name="position">6</property> <property name="tab_fill">False</property> </packing> </child> @@ -2013,12 +2074,12 @@ <object class="GtkVBox" id="dialog-vbox2"> <property name="visible">True</property> <child> - <object class="GtkVBox" id="vbox20"> + <object class="GtkVBox" id="vbox101"> <property name="visible">True</property> <property name="border_width">5</property> <property name="spacing">6</property> <child> - <object class="GtkScrolledWindow" id="scrolledwindow3"> + <object class="GtkScrolledWindow" id="scrolledwindow101"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="border_width">1</property> @@ -2026,7 +2087,7 @@ <property name="vscrollbar_policy">automatic</property> <property name="shadow_type">in</property> <child> - <object class="GtkTreeView" id="treeview2"> + <object class="GtkTreeView" id="es:treeview"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="headers_visible">False</property> @@ -2038,11 +2099,11 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox6"> + <object class="GtkHBox" id="hbox101"> <property name="visible">True</property> <property name="spacing">8</property> <child> - <object class="GtkLabel" id="label70"> + <object class="GtkLabel" id="label1001"> <property name="visible">True</property> <property name="label" translatable="yes">Key Code:</property> </object> @@ -2053,23 +2114,23 @@ </packing> </child> <child> - <object class="GtkEntry" id="entry2"> + <object class="GtkEntry" id="es:entry"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal handler="on_entry2_changed" name="changed"/> + <signal handler="on_es_entry_changed" name="changed"/> </object> <packing> <property name="position">1</property> </packing> </child> <child> - <object class="GtkButton" id="button7"> + <object class="GtkButton" id="es:button_run_input"> <property name="label">...</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> <property name="use_underline">True</property> - <signal handler="on_button7_clicked" name="clicked"/> + <signal handler="on_es_button_run_input_clicked" name="clicked"/> </object> <packing> <property name="expand">False</property> @@ -2085,11 +2146,11 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox7"> + <object class="GtkHBox" id="hbox102"> <property name="visible">True</property> <property name="spacing">8</property> <child> - <object class="GtkLabel" id="label71"> + <object class="GtkLabel" id="label1002"> <property name="visible">True</property> <property name="label" translatable="yes">Modifier:</property> </object> @@ -2100,10 +2161,10 @@ </packing> </child> <child> - <object class="GtkHBox" id="hbox8"> + <object class="GtkHBox" id="hbox103"> <property name="visible">True</property> <child> - <object class="GtkCheckButton" id="checkbutton7"> + <object class="GtkCheckButton" id="es:checkbutton_alt"> <property name="label" translatable="yes">A_lternate</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2116,7 +2177,7 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="checkbutton6"> + <object class="GtkCheckButton" id="es:checkbutton_ctrl"> <property name="label" translatable="yes">Co_ntrol</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2129,7 +2190,7 @@ </packing> </child> <child> - <object class="GtkCheckButton" id="checkbutton8"> + <object class="GtkCheckButton" id="es:checkbutton_shift"> <property name="label" translatable="yes">_Shift</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2154,12 +2215,12 @@ </packing> </child> <child> - <object class="GtkHButtonBox" id="hbuttonbox4"> + <object class="GtkHButtonBox" id="hbuttonbox101"> <property name="visible">True</property> <property name="spacing">6</property> <property name="layout_style">end</property> <child> - <object class="GtkButton" id="button4"> + <object class="GtkButton" id="es:button_add"> <property name="label">gtk-add</property> <property name="visible">True</property> <property name="sensitive">False</property> @@ -2167,7 +2228,7 @@ <property name="can_default">True</property> <property name="receives_default">False</property> <property name="use_stock">True</property> - <signal handler="on_button4_clicked" name="clicked"/> + <signal handler="on_es_button_add_clicked" name="clicked"/> </object> <packing> <property name="expand">False</property> @@ -2176,14 +2237,14 @@ </packing> </child> <child> - <object class="GtkButton" id="button5"> + <object class="GtkButton" id="es:button_refresh"> <property name="label">gtk-refresh</property> <property name="sensitive">False</property> <property name="can_focus">True</property> <property name="can_default">True</property> <property name="receives_default">False</property> <property name="use_stock">True</property> - <signal handler="on_button5_clicked" name="clicked"/> + <signal handler="on_es_button_refresh_clicked" name="clicked"/> </object> <packing> <property name="expand">False</property> @@ -2192,7 +2253,7 @@ </packing> </child> <child> - <object class="GtkButton" id="button6"> + <object class="GtkButton" id="es:button_del"> <property name="label">gtk-delete</property> <property name="visible">True</property> <property name="sensitive">False</property> @@ -2200,7 +2261,7 @@ <property name="can_default">True</property> <property name="receives_default">False</property> <property name="use_stock">True</property> - <signal handler="on_button6_clicked" name="clicked"/> + <signal handler="on_es_button_del_clicked" name="clicked"/> </object> <packing> <property name="expand">False</property> @@ -2225,7 +2286,7 @@ <property name="visible">True</property> <property name="layout_style">end</property> <child> - <object class="GtkButton" id="cancelbutton2"> + <object class="GtkButton" id="cancelbutton101"> <property name="label">gtk-cancel</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2240,7 +2301,7 @@ </packing> </child> <child> - <object class="GtkButton" id="okbutton2"> + <object class="GtkButton" id="okbutton101"> <property name="label">gtk-ok</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -2264,8 +2325,8 @@ </object> </child> <action-widgets> - <action-widget response="-6">cancelbutton2</action-widget> - <action-widget response="-5">okbutton2</action-widget> + <action-widget response="-6">cancelbutton101</action-widget> + <action-widget response="-5">okbutton101</action-widget> </action-widgets> </object> <object class="GtkDialog" id="dialog_custom_key_table"> @@ -2642,14 +2703,14 @@ <property name="no_show_all">True</property> <property name="spacing">10</property> <child> - <object class="GtkTable" id="table10"> + <object class="GtkTable" id="table1000"> <property name="visible">True</property> <property name="n_rows">2</property> <property name="n_columns">2</property> <property name="column_spacing">8</property> <property name="row_spacing">4</property> <child> - <object class="GtkLabel" id="label80"> + <object class="GtkLabel" id="label10001"> <property name="visible">True</property> <property name="label" translatable="yes">_Short Label:</property> <property name="use_underline">True</property> @@ -2673,7 +2734,7 @@ </packing> </child> <child> - <object class="GtkLabel" id="label81"> + <object class="GtkLabel" id="label10002"> <property name="visible">True</property> <property name="label" translatable="yes">_Description:</property> <property name="use_underline">True</property> |