diff options
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(); |