aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2014-05-21 19:41:54 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-06-02 22:19:17 +0200
commit6725bc8f163baa8e12585d3f90a079bd92992a0b (patch)
tree016077e98a11ac3880e38818dfef0a95ec31f516
parent5f52fee4733d54109c7483abbea1610dff747846 (diff)
TextInput: implement the new input method API
Change-Id: I8a2f66a6cfa346627394705741d2f47affcd0c2b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
-rw-r--r--src/quick/items/qquicktextinput.cpp15
-rw-r--r--src/quick/items/qquicktextinput_p.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 883d0c744d..4220ae9eb4 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1916,6 +1916,11 @@ QSGNode *QQuickTextInput::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
#ifndef QT_NO_IM
QVariant QQuickTextInput::inputMethodQuery(Qt::InputMethodQuery property) const
{
+ return inputMethodQuery(property, QVariant());
+}
+
+QVariant QQuickTextInput::inputMethodQuery(Qt::InputMethodQuery property, QVariant argument) const
+{
Q_D(const QQuickTextInput);
switch (property) {
case Qt::ImEnabled:
@@ -1945,6 +1950,16 @@ QVariant QQuickTextInput::inputMethodQuery(Qt::InputMethodQuery property) const
return QVariant(d->selectionEnd());
else
return QVariant(d->selectionStart());
+ case Qt::ImAbsolutePosition:
+ return QVariant(d->m_cursor);
+ case Qt::ImTextAfterCursor:
+ if (argument.isValid())
+ return QVariant(d->m_text.mid(d->m_cursor, argument.toInt()));
+ return QVariant(d->m_text.mid(d->m_cursor));
+ case Qt::ImTextBeforeCursor:
+ if (argument.isValid())
+ return QVariant(d->m_text.left(d->m_cursor).right(argument.toInt()));
+ return QVariant(d->m_text.left(d->m_cursor));
default:
return QQuickItem::inputMethodQuery(property);
}
diff --git a/src/quick/items/qquicktextinput_p.h b/src/quick/items/qquicktextinput_p.h
index 66cabb9cfe..032bfdb3d1 100644
--- a/src/quick/items/qquicktextinput_p.h
+++ b/src/quick/items/qquicktextinput_p.h
@@ -254,6 +254,7 @@ public:
#ifndef QT_NO_IM
QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
+ Q_INVOKABLE QVariant inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const;
#endif
QRectF boundingRect() const;