diff options
author | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2023-02-06 21:36:58 +0200 |
---|---|---|
committer | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2023-02-08 16:14:53 +0200 |
commit | e3c7f5dff5a591afdf17c57912cf7e9bbf7eb3b7 (patch) | |
tree | 51e216e7020466ccdbaaae2d913dff5fed98d4eb /src/virtualkeyboard | |
parent | fb39d842d929a6a8562113dfb4747ad0dc4ec434 (diff) |
Fix selection with handles when highdpi is used
QPlatformInputContext::setSelectionOnFocusObject expects coordinates in
native pixels. This was changed in qtbase in commit
dc3446c1e35fb451070654709fe3c9b71eef7bb6
"Make setSelectionOnFocusObject() take native pixels"
Pick-to: 6.5 6.4
Change-Id: I40c849638173df47fd6121a0a9165950df4b7e31
Reviewed-by: Inho Lee <inho.lee@qt.io>
Diffstat (limited to 'src/virtualkeyboard')
-rw-r--r-- | src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp index 5697b23b..f8f07cca 100644 --- a/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp +++ b/src/virtualkeyboard/qvirtualkeyboardinputcontext.cpp @@ -10,6 +10,7 @@ #include <QTextFormat> #include <QGuiApplication> +#include <QtGui/private/qhighdpiscaling_p.h> QT_BEGIN_NAMESPACE using namespace QtVirtualKeyboard; @@ -312,7 +313,11 @@ void QVirtualKeyboardInputContext::clear() */ void QVirtualKeyboardInputContext::setSelectionOnFocusObject(const QPointF &anchorPos, const QPointF &cursorPos) { - QPlatformInputContext::setSelectionOnFocusObject(anchorPos, cursorPos); + QWindow *window = qApp->focusWindow(); + const QPointF &nativeAnchorPos = QHighDpi::toNativePixels(anchorPos, window); + const QPointF &nativeCursorPos = QHighDpi::toNativePixels(cursorPos, window); + + QPlatformInputContext::setSelectionOnFocusObject(nativeAnchorPos, nativeCursorPos); } /*! |