summaryrefslogtreecommitdiffstats
path: root/qt4/ibus-input-context.cpp
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-07-20 12:55:10 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-07-20 12:55:10 +0800
commit804a3b32cb2df4a3f2aa0a0357cb29b98e09fa63 (patch)
tree874d1f396dc77abfc09a6cb0f3eaf101fef44aed /qt4/ibus-input-context.cpp
parent780d259ef70abc42395cd796315344fa535979c2 (diff)
downloadibus-804a3b32cb2df4a3f2aa0a0357cb29b98e09fa63.tar.gz
ibus-804a3b32cb2df4a3f2aa0a0357cb29b98e09fa63.tar.xz
ibus-804a3b32cb2df4a3f2aa0a0357cb29b98e09fa63.zip
WIP.
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);
+}
+