Android: Hide handler(s) if the cursor is not visible anymore
On Android if the edit control is bigger than the remaining screen we resize it, this caused the handler(s) to remain outside the control. A better fix will be to ensure that the cursor/selection remains visible when the control is resized but I don't know if this is the desired behavior on all platforms. Task-number: QTBUG-62994 Task-number: QTBUG-58700 Change-Id: If43eb7bc1ecde426697694a8f26118e95fccb80c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This commit is contained in:
parent
b1a58b20ae
commit
6b1ecb1904
@ -438,6 +438,16 @@ QAndroidInputContext::QAndroidInputContext()
|
||||
|
||||
QObject::connect(QGuiApplication::inputMethod(), &QInputMethod::cursorRectangleChanged,
|
||||
this, &QAndroidInputContext::updateSelectionHandles);
|
||||
QObject::connect(QGuiApplication::inputMethod(), &QInputMethod::anchorRectangleChanged,
|
||||
this, &QAndroidInputContext::updateSelectionHandles);
|
||||
QObject::connect(QGuiApplication::inputMethod(), &QInputMethod::inputItemClipRectangleChanged, this, [this]{
|
||||
auto im = qGuiApp->inputMethod();
|
||||
if (!im->inputItemClipRectangle().contains(im->anchorRectangle()) ||
|
||||
!im->inputItemClipRectangle().contains(im->cursorRectangle())) {
|
||||
m_cursorHandleShown = CursorHandleNotShown;
|
||||
updateSelectionHandles();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
QAndroidInputContext::~QAndroidInputContext()
|
||||
|
Loading…
x
Reference in New Issue
Block a user