aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextcontrol.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-12-30 10:44:10 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-01-13 18:09:58 +0000
commit24d06e7ab56bd8f0262d4135207adee20befc7c1 (patch)
tree1c5d2e8a43cc6d9dba68a0d63b0743a0e80f8ee6 /src/quick/items/qquicktextcontrol.cpp
parent1a4346d11224243b39da991585738d74fd03a98f (diff)
QQuickTextEdit: added preeditText property
Task-number: QTBUG-49503 Change-Id: I3390e72893e4125e00e8e0835a8d2fae11ea276f Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/quick/items/qquicktextcontrol.cpp')
-rw-r--r--src/quick/items/qquicktextcontrol.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp
index d0678b4278..d3e858c67f 100644
--- a/src/quick/items/qquicktextcontrol.cpp
+++ b/src/quick/items/qquicktextcontrol.cpp
@@ -1321,8 +1321,10 @@ void QQuickTextControlPrivate::inputMethodEvent(QInputMethodEvent *e)
QTextBlock block = cursor.block();
QTextLayout *layout = block.layout();
- if (isGettingInput)
+ if (isGettingInput) {
layout->setPreeditArea(cursor.position() - block.position(), e->preeditString());
+ emit q->preeditTextChanged();
+ }
QVector<QTextLayout::FormatRange> overrides;
const int oldPreeditCursor = preeditCursor;
preeditCursor = e->preeditString().length();
@@ -1756,6 +1758,19 @@ QRectF QQuickTextControl::blockBoundingRect(const QTextBlock &block) const
return d->doc->documentLayout()->blockBoundingRect(block);
}
+QString QQuickTextControl::preeditText() const
+{
+#ifndef QT_NO_IM
+ Q_D(const QQuickTextControl);
+ QTextLayout *layout = d->cursor.block().layout();
+ if (!layout)
+ return QString();
+
+ return layout->preeditAreaText();
+#else
+ return QString();
+#endif
+}
QStringList QQuickTextEditMimeData::formats() const