diff options
Diffstat (limited to 'src/plugins/platforms/android')
-rw-r--r-- | src/plugins/platforms/android/androidjniinput.cpp | 4 | ||||
-rw-r--r-- | src/plugins/platforms/android/qandroidinputcontext.cpp | 9 | ||||
-rw-r--r-- | src/plugins/platforms/android/qandroidinputcontext.h | 1 |
3 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp index dabab553c2..c4142a9b6e 100644 --- a/src/plugins/platforms/android/androidjniinput.cpp +++ b/src/plugins/platforms/android/androidjniinput.cpp @@ -805,8 +805,10 @@ namespace QtAndroidInput QAndroidInputContext *inputContext = QAndroidInputContext::androidInputContext(); if (inputContext && qGuiApp) { inputContext->emitInputPanelVisibleChanged(); - if (!visibility) + if (!visibility) { inputContext->emitKeyboardRectChanged(); + QMetaObject::invokeMethod(inputContext, "hideSelectionHandles", Qt::QueuedConnection); + } } #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL qDebug() << "@@@ KEYBOARDVISIBILITYCHANGED" << inputContext; diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp index fe35c13e26..d6da1998cf 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.cpp +++ b/src/plugins/platforms/android/qandroidinputcontext.cpp @@ -593,6 +593,7 @@ void QAndroidInputContext::updateSelectionHandles() return; } + m_handleMode |= ShowSelection; auto leftRect = im->cursorRectangle(); auto rightRect = im->anchorRectangle(); if (cpos > anchor) @@ -741,6 +742,14 @@ void QAndroidInputContext::keyDown() } } +void QAndroidInputContext::hideSelectionHandles() +{ + if (m_handleMode & ShowSelection) { + m_handleMode = Hidden; + updateSelectionHandles(); + } +} + void QAndroidInputContext::update(Qt::InputMethodQueries queries) { QSharedPointer<QInputMethodQueryEvent> query = focusObjectInputMethodQueryThreadSafe(queries); diff --git a/src/plugins/platforms/android/qandroidinputcontext.h b/src/plugins/platforms/android/qandroidinputcontext.h index 65822b0d60..a6e22fa4f7 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.h +++ b/src/plugins/platforms/android/qandroidinputcontext.h @@ -132,6 +132,7 @@ public slots: void touchDown(int x, int y); void longPress(int x, int y); void keyDown(); + void hideSelectionHandles(); private slots: void showInputPanelLater(Qt::ApplicationState); |