diff options
author | Peng Wu <alexepico@gmail.com> | 2014-07-08 13:50:58 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2014-07-08 13:56:58 +0800 |
commit | 425c349f0014cd22081d41fea77b9d3c9f402955 (patch) | |
tree | 8f85697b5cf4f8ead67d60589cc24cac888aa860 /src | |
parent | f0da20aa3a9f94300cb3a918e8c6dc7311d605db (diff) | |
download | ibus-libzhuyin-425c349f0014cd22081d41fea77b9d3c9f402955.tar.gz ibus-libzhuyin-425c349f0014cd22081d41fea77b9d3c9f402955.tar.xz ibus-libzhuyin-425c349f0014cd22081d41fea77b9d3c9f402955.zip |
use function zhuyin_get_zhuyin_key_rest_offset
Diffstat (limited to 'src')
-rw-r--r-- | src/ZYZPhoneticEditor.cc | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/src/ZYZPhoneticEditor.cc b/src/ZYZPhoneticEditor.cc index ffa9b66..a6c8e4f 100644 --- a/src/ZYZPhoneticEditor.cc +++ b/src/ZYZPhoneticEditor.cc @@ -551,25 +551,10 @@ PhoneticEditor::getZhuyinCursor (void) zhuyin_get_n_zhuyin (instance, &len); zhuyin_cursor += len; } else { - guint len = 0; - zhuyin_get_n_zhuyin (instance, &len); - - guint inner_cursor = len; - - guint16 prev_end = 0, cur_end; - for (size_t i = 0; i < len; ++i) { - ChewingKeyRest *pos = NULL; - zhuyin_get_zhuyin_key_rest (instance, i, &pos); - zhuyin_get_zhuyin_key_rest_positions - (instance, pos, NULL, &cur_end); + guint16 inner_cursor = 0; + zhuyin_get_zhuyin_key_rest_offset + (instance, cursor, &inner_cursor); - if (prev_end < cursor && cursor < cur_end) - inner_cursor = i; - - prev_end = cur_end; - } - - assert (inner_cursor >= 0); zhuyin_cursor += inner_cursor; cursor = 0; } @@ -723,25 +708,10 @@ PhoneticEditor::prepareCandidates (void) update (); return TRUE; } else { - guint len = 0; - zhuyin_get_n_zhuyin (instance, &len); - - guint inner_cursor = len; - - guint16 prev_end = 0, cur_end; - for (size_t i = 0; i < len; ++i) { - ChewingKeyRest *pos = NULL; - zhuyin_get_zhuyin_key_rest (instance, i, &pos); - zhuyin_get_zhuyin_key_rest_positions - (instance, pos, NULL, &cur_end); - - if (prev_end < cursor && cursor < cur_end) - inner_cursor = i; + guint16 inner_cursor = 0; + zhuyin_get_zhuyin_key_rest_offset + (instance, cursor, &inner_cursor); - prev_end = cur_end; - } - - assert (inner_cursor >= 0); m_input_state = STATE_CANDIDATE_SHOWN; m_phonetic_section->initCandidates (instance, inner_cursor); @@ -780,6 +750,8 @@ PhoneticEditor::prepareCandidates (void) return TRUE; } } + + return FALSE; } |