diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-12-30 10:43:22 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-01-13 18:09:54 +0000 |
commit | 1a4346d11224243b39da991585738d74fd03a98f (patch) | |
tree | 966549ec2a3b283624898112b47710b2a52a903e /src/quick/items/qquicktextinput.cpp | |
parent | 1c5dd75ee6ef233aeb9b72596effced77d2a748a (diff) |
QQuickTextInput: added preeditText property
Task-number: QTBUG-49503
Change-Id: I803c9fc3bddba81d08e1dd450bc5a5f8a5605720
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/quick/items/qquicktextinput.cpp')
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 37b8b12fdd..6d4be60131 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -2184,6 +2184,7 @@ void QQuickTextInput::resetPasswordMaskDelay() partial text input from an input method. \readonly + \sa preeditText */ QString QQuickTextInput::displayText() const { @@ -2192,6 +2193,21 @@ QString QQuickTextInput::displayText() const } /*! + \qmlproperty string QtQuick::TextInput::preeditText + \readonly + \since 5.7 + + This property contains partial text input from an input method. + + \sa displayText +*/ +QString QQuickTextInput::preeditText() const +{ + Q_D(const QQuickTextInput); + return d->m_textLayout.preeditAreaText(); +} + +/*! \qmlproperty bool QtQuick::TextInput::selectByMouse Defaults to false. @@ -3263,7 +3279,10 @@ void QQuickTextInputPrivate::processInputMethodEvent(QInputMethodEvent *event) cursorPositionChanged = true; } } + QString oldPreeditString = m_textLayout.preeditAreaText(); m_textLayout.setPreeditArea(m_cursor, event->preeditString()); + if (oldPreeditString != m_textLayout.preeditAreaText()) + emit q->preeditTextChanged(); const int oldPreeditCursor = m_preeditCursor; m_preeditCursor = event->preeditString().length(); hasImState = !event->preeditString().isEmpty(); |