summaryrefslogtreecommitdiffstats
path: root/qt4/ibus-input-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt4/ibus-input-context.cpp')
-rw-r--r--qt4/ibus-input-context.cpp26
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);
+}
+