diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2016-08-04 16:40:07 +0200 |
---|---|---|
committer | Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> | 2016-08-21 20:17:45 +0000 |
commit | e0e9e196a72ffe5457034894eaaadc90ed0d34ef (patch) | |
tree | 4ad770f481762b41f3cd84d7fcc1510414af556a /src/plugins/platforms/android/qandroidinputcontext.cpp | |
parent | 89c235ca8295db1a946f3af5ba4a813e12a6c0be (diff) |
Android: Show the edit menu when things are selected
Change-Id: I3647fa39469c87bcc08bb439546e5e61c535c71d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/plugins/platforms/android/qandroidinputcontext.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidinputcontext.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp index c64e80479c..06a9c8c488 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.cpp +++ b/src/plugins/platforms/android/qandroidinputcontext.cpp @@ -550,7 +550,9 @@ void QAndroidInputContext::updateSelectionHandles() auto curRect = im->cursorRectangle(); QPoint cursorPoint(curRect.center().x(), curRect.bottom()); - QtAndroidInput::updateHandles(m_cursorHandleShown, cursorPoint * pixelDensity); + QPoint editMenuPoint(curRect.center().x(), curRect.top()); + QtAndroidInput::updateHandles(m_cursorHandleShown, cursorPoint * pixelDensity, + editMenuPoint * pixelDensity); return; } @@ -562,6 +564,11 @@ void QAndroidInputContext::updateSelectionHandles() QPoint leftPoint(leftRect.bottomLeft().toPoint() * pixelDensity); QPoint righPoint(rightRect.bottomRight().toPoint() * pixelDensity); QtAndroidInput::updateHandles(CursorHandleShowSelection, leftPoint, righPoint); + + if (m_cursorHandleShown == CursorHandleShowPopup) { + // make sure the popup does not reappear when the selection menu closes + m_cursorHandleShown = QAndroidInputContext::CursorHandleNotShown; + } } /* @@ -612,6 +619,15 @@ void QAndroidInputContext::touchDown(int x, int y) } } +void QAndroidInputContext::longPress(int x, int y) +{ + if (m_focusObject && inputItemRectangle().contains(x, y)) { + // Show the paste menu if there is something to paste. + m_cursorHandleShown = QAndroidInputContext::CursorHandleShowPopup; + updateSelectionHandles(); + } +} + void QAndroidInputContext::keyDown() { if (m_cursorHandleShown) { |