summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ZYZPhoneticEditor.cc12
-rw-r--r--src/ZYZSymbolSection.h1
2 files changed, 11 insertions, 2 deletions
diff --git a/src/ZYZPhoneticEditor.cc b/src/ZYZPhoneticEditor.cc
index 5e2a7df..9054f06 100644
--- a/src/ZYZPhoneticEditor.cc
+++ b/src/ZYZPhoneticEditor.cc
@@ -378,8 +378,16 @@ PhoneticEditor::selectCandidate (guint index)
STATE_BOPOMOFO_SYMBOL_SHOWN == m_input_state /* ||
STATE_USER_SYMBOL_LIST_ALL == m_input_state ||
STATE_USER_SYMBOL_SHOWN == m_input_state */) {
- return m_symbol_sections[m_input_state]->
- selectCandidate (index);
+ SymbolSectionPtr symbols = m_symbol_sections[m_input_state];
+
+ int retval = symbols->selectCandidate (index);
+
+ erase_input_sequence (m_text, m_cursor, 1);
+ insert_symbol (m_text, m_cursor, symbols->m_type,
+ symbols->m_lookup, symbols->m_choice);
+
+ update ();
+ return retval;
}
return FALSE;
diff --git a/src/ZYZSymbolSection.h b/src/ZYZSymbolSection.h
index 8e75888..fce65f2 100644
--- a/src/ZYZSymbolSection.h
+++ b/src/ZYZSymbolSection.h
@@ -31,6 +31,7 @@ namespace ZY {
class ZhuyinProperties;
class SymbolSection {
+ friend class PhoneticEditor;
public:
SymbolSection (PhoneticEditor & editor, ZhuyinProperties & props) :
m_editor (editor), m_props(props) {}