summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfujiwarat <takao.fujiwara1@gmail.com>2017-11-21 14:45:01 +0900
committerfujiwarat <takao.fujiwara1@gmail.com>2017-11-21 14:45:01 +0900
commitb87c5939d30ebbc87533f36c9f6a96c773dab5f9 (patch)
treefbc71745ff508f49f463afa74c35c46de398bef7
parentcd7568ce9b837eac65be9897345697780806b596 (diff)
downloadibus-anthy-b87c5939d30ebbc87533f36c9f6a96c773dab5f9.tar.gz
engine: Added __cmd_convert_to_katakana_all
-rw-r--r--engine/python2/engine.py84
-rw-r--r--engine/python3/engine.py84
-rw-r--r--setup/python2/anthyprefs.py.in19
-rw-r--r--setup/python3/anthyprefs.py.in19
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'],