diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2014-05-21 19:41:54 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-06-02 22:19:17 +0200 |
commit | 6725bc8f163baa8e12585d3f90a079bd92992a0b (patch) | |
tree | 016077e98a11ac3880e38818dfef0a95ec31f516 | |
parent | 5f52fee4733d54109c7483abbea1610dff747846 (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.cpp | 15 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput_p.h | 1 |
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; |