From 777149aecb3a3f00b1cb78c284b551518dd59da2 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 26 Apr 2021 16:29:17 +0200 Subject: [PATCH] restoring the focus only makes sense, when editing is terminated from the input method --- src/controls/QskTextInput.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/controls/QskTextInput.cpp b/src/controls/QskTextInput.cpp index 3ebbff78..c6b5d179 100644 --- a/src/controls/QskTextInput.cpp +++ b/src/controls/QskTextInput.cpp @@ -376,7 +376,12 @@ void QskTextInput::keyPressEvent( QKeyEvent* event ) QGuiApplication::inputMethod()->commit(); if ( !( inputMethodHints() & Qt::ImhMultiLine ) ) + { setEditing( false ); + + // When returning from a virtual keyboard + qskForceActiveFocus( this, Qt::PopupFocusReason ); + } } break; } @@ -384,6 +389,7 @@ void QskTextInput::keyPressEvent( QKeyEvent* event ) case Qt::Key_Escape: { setEditing( false ); + qskForceActiveFocus( this, Qt::PopupFocusReason ); break; } #endif @@ -665,9 +671,6 @@ void QskTextInput::setEditing( bool on ) inputMethod->reset(); #endif qskInputMethodSetVisible( this, false ); -#if 1 - qskForceActiveFocus( this, Qt::PopupFocusReason ); -#endif } Q_EMIT editingChanged( on );