diff options
author | Peng Wu <alexepico@gmail.com> | 2015-06-09 13:52:51 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2015-06-09 13:52:51 +0800 |
commit | 4307db6b3fc3d1e85a0dad3da703b224ffbc948c (patch) | |
tree | c52784c079747ee607a03e7bb2d46c4fe8b11b64 /src | |
parent | 0756be97e0cf85e926183fc842ab173a03429db6 (diff) | |
download | ibus-libzhuyin-4307db6b3fc3d1e85a0dad3da703b224ffbc948c.tar.gz ibus-libzhuyin-4307db6b3fc3d1e85a0dad3da703b224ffbc948c.tar.xz ibus-libzhuyin-4307db6b3fc3d1e85a0dad3da703b224ffbc948c.zip |
improves processEscape
Diffstat (limited to 'src')
-rw-r--r-- | src/ZYZPhoneticEditor.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/ZYZPhoneticEditor.cc b/src/ZYZPhoneticEditor.cc index d6ac31e..31d0200 100644 --- a/src/ZYZPhoneticEditor.cc +++ b/src/ZYZPhoneticEditor.cc @@ -109,8 +109,24 @@ PhoneticEditor::processEscape (guint keyval, guint keycode, if (cmshm_filter (modifiers) != 0) return TRUE; - reset (); - return TRUE; + if (STATE_INPUT == m_input_state) { + reset (); + update (); + return TRUE; + } + + if (STATE_CANDIDATE_SHOWN == m_input_state || + STATE_BUILTIN_SYMBOL_SHOWN == m_input_state || + STATE_BOPOMOFO_SYMBOL_SHOWN == m_input_state || + STATE_USER_SYMBOL_LIST_ALL == m_input_state || + STATE_USER_SYMBOL_SHOWN == m_input_state) { + + m_input_state = STATE_INPUT; + update (); + return TRUE; + } + + return FALSE; } |