diff options
Diffstat (limited to 'qt4/ibus-input-context.cpp')
| -rw-r--r-- | qt4/ibus-input-context.cpp | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/qt4/ibus-input-context.cpp b/qt4/ibus-input-context.cpp index 6a00ec7..692fecb 100644 --- a/qt4/ibus-input-context.cpp +++ b/qt4/ibus-input-context.cpp @@ -174,12 +174,12 @@ IBusInputContext::commitString (QString text) } void -IBusInputContext::updatePreedit (QString text, QList <QList <quint32> > attr_list, int cursor_pos, bool show) +IBusInputContext::updatePreedit (QString text, QList <QList <quint32> > attr_list, int cursor_pos, bool visible) { // qDebug () << text << cursor_pos << show; QList <QAttribute> qattrs; - if (show) { + if (visible) { // append cursor pos qattrs.append (QAttribute (QInputMethodEvent::Cursor, cursor_pos, true, 0)); @@ -214,10 +214,30 @@ IBusInputContext::updatePreedit (QString text, QList <QList <quint32> > attr_lis } preedit_string = text; - preedit_visible = show; + preedit_visible = visible; + preedit_attrs = attr_list; preedit_cursor_pos = cursor_pos; QInputMethodEvent event (text, qattrs); sendEvent (event); update (); } + +void +IBusInputContext::showPreedit () +{ + if (preedit_visible) + return; + + updatePreedit (preedit_string, preedit_attrs, preedit_cursor_pos, TRUE); +} + +void +IBusInputContext::hidePreedit () +{ + if (!preedit_visible) + return; + + updatePreedit (preedit_string, preedit_attrs, preedit_cursor_pos, FALSE); +} + |
