diff options
author | fujiwarat <takao.fujiwara1@gmail.com> | 2017-11-21 14:45:01 +0900 |
---|---|---|
committer | fujiwarat <takao.fujiwara1@gmail.com> | 2017-11-21 14:45:01 +0900 |
commit | b87c5939d30ebbc87533f36c9f6a96c773dab5f9 (patch) | |
tree | fbc71745ff508f49f463afa74c35c46de398bef7 | |
parent | cd7568ce9b837eac65be9897345697780806b596 (diff) | |
download | ibus-anthy-b87c5939d30ebbc87533f36c9f6a96c773dab5f9.tar.gz |
engine: Added __cmd_convert_to_katakana_all
-rw-r--r-- | engine/python2/engine.py | 84 | ||||
-rw-r--r-- | engine/python3/engine.py | 84 | ||||
-rw-r--r-- | setup/python2/anthyprefs.py.in | 19 | ||||
-rw-r--r-- | setup/python3/anthyprefs.py.in | 19 |
4 files changed, 190 insertions, 16 deletions
diff --git a/engine/python2/engine.py b/engine/python2/engine.py index b0c98b7..44d6ad1 100644 --- a/engine/python2/engine.py +++ b/engine/python2/engine.py @@ -803,6 +803,20 @@ class Engine(IBus.EngineSimple): self.__invalidate() return True + def __shrink_segment_end(self): + while self.__context.get_nr_segments() > 1: + self.__context.resize_segment(self.__cursor_pos, 1) + nr_segments = self.__context.get_nr_segments() + del self.__segments[self.__cursor_pos:] + for i in range(self.__cursor_pos, nr_segments): + buf = self.__context.get_segment(i, 0) + text = buf + self.__segments.append((0, text)) + self.__lookup_table_visible = False + self.__fill_lookup_table() + self.__invalidate() + return True + def do_property_activate(self, prop_name, state): if state == IBus.PropState.CHECKED: @@ -2723,25 +2737,31 @@ class Engine(IBus.EngineSimple): return False - def __cmd_convert_to_hiragana(self, keyval, state): + def __convert_to_hiragana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HIRAGANA_CANDIDATE) return self.__on_key_conv(0) - def __cmd_convert_to_katakana(self, keyval, state): + def __convert_to_katakana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_KATAKANA_CANDIDATE) return self.__on_key_conv(1) - def __cmd_convert_to_half(self, keyval, state): + def __convert_to_half_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False @@ -2751,6 +2771,9 @@ class Engine(IBus.EngineSimple): return self.__convert_segment_to_latin(-100) elif i == -100: return self.__convert_segment_to_latin(-100) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HALFKANA_CANDIDATE) elif CONV_MODE_WIDE_LATIN_0 <= self.__convert_mode <= CONV_MODE_WIDE_LATIN_3: @@ -2759,11 +2782,14 @@ class Engine(IBus.EngineSimple): return self.__on_key_conv(4) return self.__on_key_conv(2) - def __cmd_convert_to_half_katakana(self, keyval, state): + def __convert_to_half_katakana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HALFKANA_CANDIDATE) return self.__on_key_conv(2) @@ -2792,24 +2818,66 @@ class Engine(IBus.EngineSimple): return False - def __cmd_convert_to_wide_latin(self, keyval, state): + def __convert_to_wide_latin_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: - return self.__convert_segment_to_latin(-101) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() + return self.__convert_segment_to_latin(-101) return self.__on_key_conv(3) - def __cmd_convert_to_latin(self, keyval, state): + def __convert_to_latin_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: - return self.__convert_segment_to_latin(-100) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() + return self.__convert_segment_to_latin(-100) return self.__on_key_conv(4) + def __cmd_convert_to_hiragana(self, keyval, state): + return self.__convert_to_hiragana_internal(keyval, state, 0) + + def __cmd_convert_to_hiragana_all(self, keyval, state): + return self.__convert_to_hiragana_internal(keyval, state, 1) + + def __cmd_convert_to_katakana(self, keyval, state): + return self.__convert_to_katakana_internal(keyval, state, 0) + + def __cmd_convert_to_katakana_all(self, keyval, state): + return self.__convert_to_katakana_internal(keyval, state, 1) + + def __cmd_convert_to_half(self, keyval, state): + return self.__convert_to_half_internal(keyval, state, 0) + + def __cmd_convert_to_half_all(self, keyval, state): + return self.__convert_to_half_internal(keyval, state, 1) + + def __cmd_convert_to_half_katakana(self, keyval, state): + return self.__convert_to_half_katakana_internal(keyval, state, 0) + + def __cmd_convert_to_half_katakana_all(self, keyval, state): + return self.__convert_to_half_katakana_internal(keyval, state, 1) + + def __cmd_convert_to_wide_latin(self, keyval, state): + return self.__convert_to_wide_latin_internal(keyval, state, 0) + + def __cmd_convert_to_wide_latin_all(self, keyval, state): + return self.__convert_to_wide_latin_internal(keyval, state, 1) + + def __cmd_convert_to_latin(self, keyval, state): + return self.__convert_to_latin_internal(keyval, state, 0) + + def __cmd_convert_to_latin_all(self, keyval, state): + return self.__convert_to_latin_internal(keyval, state, 1) + #dictonary_keys def __cmd_dict_admin(self, keyval, state): if not self._chk_mode('0'): diff --git a/engine/python3/engine.py b/engine/python3/engine.py index 39370a6..243eecd 100644 --- a/engine/python3/engine.py +++ b/engine/python3/engine.py @@ -798,6 +798,20 @@ class Engine(IBus.EngineSimple): self.__invalidate() return True + def __shrink_segment_end(self): + while self.__context.get_nr_segments() > 1: + self.__context.resize_segment(self.__cursor_pos, 1) + nr_segments = self.__context.get_nr_segments() + del self.__segments[self.__cursor_pos:] + for i in range(self.__cursor_pos, nr_segments): + buf = self.__context.get_segment(i, 0) + text = buf + self.__segments.append((0, text)) + self.__lookup_table_visible = False + self.__fill_lookup_table() + self.__invalidate() + return True + def do_property_activate(self, prop_name, state): if state == IBus.PropState.CHECKED: @@ -2716,25 +2730,31 @@ class Engine(IBus.EngineSimple): return False - def __cmd_convert_to_hiragana(self, keyval, state): + def __convert_to_hiragana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HIRAGANA_CANDIDATE) return self.__on_key_conv(0) - def __cmd_convert_to_katakana(self, keyval, state): + def __convert_to_katakana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_KATAKANA_CANDIDATE) return self.__on_key_conv(1) - def __cmd_convert_to_half(self, keyval, state): + def __convert_to_half_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False @@ -2744,6 +2764,9 @@ class Engine(IBus.EngineSimple): return self.__convert_segment_to_latin(-100) elif i == -100: return self.__convert_segment_to_latin(-100) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HALFKANA_CANDIDATE) elif CONV_MODE_WIDE_LATIN_0 <= self.__convert_mode <= CONV_MODE_WIDE_LATIN_3: @@ -2752,11 +2775,14 @@ class Engine(IBus.EngineSimple): return self.__on_key_conv(4) return self.__on_key_conv(2) - def __cmd_convert_to_half_katakana(self, keyval, state): + def __convert_to_half_katakana_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() return self.__convert_segment_to_kana(NTH_HALFKANA_CANDIDATE) return self.__on_key_conv(2) @@ -2785,24 +2811,66 @@ class Engine(IBus.EngineSimple): return False - def __cmd_convert_to_wide_latin(self, keyval, state): + def __convert_to_wide_latin_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: - return self.__convert_segment_to_latin(-101) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() + return self.__convert_segment_to_latin(-101) return self.__on_key_conv(3) - def __cmd_convert_to_latin(self, keyval, state): + def __convert_to_latin_internal(self, keyval, state, mode): if not self._chk_mode('12345'): return False if self.__convert_mode == CONV_MODE_ANTHY: - return self.__convert_segment_to_latin(-100) + if mode == 1: + self.__cmd_move_caret_first(keyval, state) + self.__shrink_segment_end() + return self.__convert_segment_to_latin(-100) return self.__on_key_conv(4) + def __cmd_convert_to_hiragana(self, keyval, state): + return self.__convert_to_hiragana_internal(keyval, state, 0) + + def __cmd_convert_to_hiragana_all(self, keyval, state): + return self.__convert_to_hiragana_internal(keyval, state, 1) + + def __cmd_convert_to_katakana(self, keyval, state): + return self.__convert_to_katakana_internal(keyval, state, 0) + + def __cmd_convert_to_katakana_all(self, keyval, state): + return self.__convert_to_katakana_internal(keyval, state, 1) + + def __cmd_convert_to_half(self, keyval, state): + return self.__convert_to_half_internal(keyval, state, 0) + + def __cmd_convert_to_half_all(self, keyval, state): + return self.__convert_to_half_internal(keyval, state, 1) + + def __cmd_convert_to_half_katakana(self, keyval, state): + return self.__convert_to_half_katakana_internal(keyval, state, 0) + + def __cmd_convert_to_half_katakana_all(self, keyval, state): + return self.__convert_to_half_katakana_internal(keyval, state, 1) + + def __cmd_convert_to_wide_latin(self, keyval, state): + return self.__convert_to_wide_latin_internal(keyval, state, 0) + + def __cmd_convert_to_wide_latin_all(self, keyval, state): + return self.__convert_to_wide_latin_internal(keyval, state, 1) + + def __cmd_convert_to_latin(self, keyval, state): + return self.__convert_to_latin_internal(keyval, state, 0) + + def __cmd_convert_to_latin_all(self, keyval, state): + return self.__convert_to_latin_internal(keyval, state, 1) + #dictonary_keys def __cmd_dict_admin(self, keyval, state): if not self._chk_mode('0'): diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in index 172d09e..f232879 100644 --- a/setup/python2/anthyprefs.py.in +++ b/setup/python2/anthyprefs.py.in @@ -343,6 +343,12 @@ _cmd_keys = [ 'convert_to_half_katakana', 'convert_to_wide_latin', 'convert_to_latin', + 'convert_to_hiragana_all', + 'convert_to_katakana_all', + 'convert_to_half_all', + 'convert_to_half_katakana_all', + 'convert_to_wide_latin_all', + 'convert_to_latin_all', 'dict_admin', 'add_word', @@ -1220,6 +1226,10 @@ _shortcut_default = { 'convert_to_half_katakana': ['Shift+F8'], 'convert_to_wide_latin': ['F9'], 'convert_to_latin': ['F10'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['F12'], @@ -1283,6 +1293,10 @@ _shortcut_atok = { 'convert_to_half_katakana': ['Shift+F8'], 'convert_to_wide_latin': ['F9', 'Ctrl+P'], 'convert_to_latin': ['F10', 'Ctrl+at'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['Ctrl+F7'], @@ -1337,6 +1351,11 @@ _shortcut_wnn = { 'convert_to_half': ['F8'], 'convert_to_wide_latin': ['F9'], 'convert_to_latin': ['F10'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_half_all': ['Shift+F8'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['F12'], diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in index 7c33353..f397568 100644 --- a/setup/python3/anthyprefs.py.in +++ b/setup/python3/anthyprefs.py.in @@ -336,6 +336,12 @@ _cmd_keys = [ 'convert_to_half_katakana', 'convert_to_wide_latin', 'convert_to_latin', + 'convert_to_hiragana_all', + 'convert_to_katakana_all', + 'convert_to_half_all', + 'convert_to_half_katakana_all', + 'convert_to_wide_latin_all', + 'convert_to_latin_all', 'dict_admin', 'add_word', @@ -1213,6 +1219,10 @@ _shortcut_default = { 'convert_to_half_katakana': ['Shift+F8'], 'convert_to_wide_latin': ['F9'], 'convert_to_latin': ['F10'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['F12'], @@ -1276,6 +1286,10 @@ _shortcut_atok = { 'convert_to_half_katakana': ['Shift+F8'], 'convert_to_wide_latin': ['F9', 'Ctrl+P'], 'convert_to_latin': ['F10', 'Ctrl+at'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['Ctrl+F7'], @@ -1330,6 +1344,11 @@ _shortcut_wnn = { 'convert_to_half': ['F8'], 'convert_to_wide_latin': ['F9'], 'convert_to_latin': ['F10'], + 'convert_to_hiragana_all': ['Shift+F6'], + 'convert_to_katakana_all': ['Shift+F7'], + 'convert_to_half_all': ['Shift+F8'], + 'convert_to_wide_latin_all': ['Shift+F9'], + 'convert_to_latin_all': ['Shift+F10'], 'dict_admin': ['F11'], 'add_word': ['F12'], |