Always update the input method when QLineEdit receives focus
The line edit receiving focus might require different input method capabilities (e.g. be a password edit), so the input method needs to be refreshed when focus is received. This implicitly happens on tab focus when the text is selected or the cursor is moved within an input mask, but neither of those might happen, and for click-focus it never happened. Fixes: QTBUG-86846 Pick-to: 5.15 6.1 6.2 Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I47c5275d3a9d4d190ebce64269a345431346c17c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
a11d7663a8
commit
d5e8efd8cb
@ -1905,8 +1905,11 @@ void QLineEdit::focusInEvent(QFocusEvent *e)
|
||||
d->control->moveCursor(d->control->nextMaskBlank(0));
|
||||
else if (!d->control->hasSelectedText())
|
||||
selectAll();
|
||||
else
|
||||
updateMicroFocus();
|
||||
} else if (e->reason() == Qt::MouseFocusReason) {
|
||||
d->clickCausedFocus = 1;
|
||||
updateMicroFocus();
|
||||
}
|
||||
#ifdef QT_KEYPAD_NAVIGATION
|
||||
if (!QApplicationPrivate::keypadNavigationEnabled() || (hasEditFocus() && ( e->reason() == Qt::PopupFocusReason))) {
|
||||
|
Loading…
Reference in New Issue
Block a user