summaryrefslogtreecommitdiffstats
path: root/src/PYPPinyinEditor.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2018-06-06 16:57:42 +0800
committerPeng Wu <alexepico@gmail.com>2018-06-06 16:57:42 +0800
commite9cb1572f84785cada0e5434d1b992ba1298b1a4 (patch)
treea15b27c15cb590a1d3ba92f1aec82e1136099376 /src/PYPPinyinEditor.cc
parentde688e73654da6a7ace797f35e34275daa4980d3 (diff)
downloadibus-libpinyin-e9cb1572f84785cada0e5434d1b992ba1298b1a4.tar.gz
ibus-libpinyin-e9cb1572f84785cada0e5434d1b992ba1298b1a4.tar.xz
ibus-libpinyin-e9cb1572f84785cada0e5434d1b992ba1298b1a4.zip
re-factor commit method
Diffstat (limited to 'src/PYPPinyinEditor.cc')
-rw-r--r--src/PYPPinyinEditor.cc21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc
index 2cbd41b..14b6832 100644
--- a/src/PYPPinyinEditor.cc
+++ b/src/PYPPinyinEditor.cc
@@ -199,7 +199,7 @@ PinyinEditor::processKeyEvent (guint keyval, guint keycode,
}
void
-PinyinEditor::commit (gint index)
+PinyinEditor::commit (const gchar *str)
{
if (G_UNLIKELY (m_text.empty ()))
return;
@@ -207,16 +207,7 @@ PinyinEditor::commit (gint index)
m_buffer.clear ();
/* sentence candidate */
- char *tmp = NULL;
- pinyin_get_sentence (m_instance, index, &tmp);
- if (tmp) {
- if (m_props.modeSimp ()) {
- m_buffer << tmp;
- } else {
- SimpTradConverter::simpToTrad (tmp, m_buffer);
- }
- g_free (tmp);
- }
+ m_buffer << str;
/* text after pinyin */
const gchar *p = m_text.c_str() + m_pinyin_len;
@@ -228,11 +219,13 @@ PinyinEditor::commit (gint index)
m_buffer << p;
}
- pinyin_train (m_instance, index);
if (m_config.rememberEveryInput ())
- LibPinyinBackEnd::instance ().rememberUserInput (m_instance, index);
+ LibPinyinBackEnd::instance ().rememberUserInput (m_instance, str);
LibPinyinBackEnd::instance ().modified ();
- PhoneticEditor::commit ((const gchar *)m_buffer);
+
+ Text text (m_buffer.c_str ());
+ commitText (text);
+
reset();
}