summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/qandroidinputcontext.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@theqtcompany.com>2016-03-23 08:29:43 +0100
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2016-03-23 08:29:43 +0100
commit8e2d3e3b90d7d35d2c91fc09ab5a9cccac0823e8 (patch)
treefe20315ed91d4babd73df69ece0af1d1550cb40c /src/plugins/platforms/android/qandroidinputcontext.cpp
parentbf17e30c8e98b311cdee397f1272e70863247ebc (diff)
parentf319b9b43c313dfa306a62c391e767bc6f14bdee (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Diffstat (limited to 'src/plugins/platforms/android/qandroidinputcontext.cpp')
-rw-r--r--src/plugins/platforms/android/qandroidinputcontext.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp
index eb9e95508c..dc420775cf 100644
--- a/src/plugins/platforms/android/qandroidinputcontext.cpp
+++ b/src/plugins/platforms/android/qandroidinputcontext.cpp
@@ -45,6 +45,7 @@
#include "androidjniinput.h"
#include "qandroideventdispatcher.h"
#include "androiddeadlockprotector.h"
+#include "qandroidplatformintegration.h"
#include <QDebug>
#include <qevent.h>
#include <qguiapplication.h>
@@ -53,6 +54,7 @@
#include <qinputmethod.h>
#include <qwindow.h>
#include <QtCore/private/qjni_p.h>
+#include <private/qhighdpiscaling_p.h>
#include <QTextCharFormat>
@@ -547,10 +549,13 @@ void QAndroidInputContext::showInputPanel()
if (window)
rect = QRect(window->mapToGlobal(rect.topLeft()), rect.size());
- QtAndroidInput::showSoftwareKeyboard(rect.left(),
- rect.top(),
- rect.width(),
- rect.height(),
+ double pixelDensity = window ? QHighDpiScaling::factor(window)
+ : QHighDpiScaling::factor(QtAndroid::androidPlatformIntegration()->screen());
+
+ QtAndroidInput::showSoftwareKeyboard(rect.left() * pixelDensity,
+ rect.top() * pixelDensity,
+ rect.width() * pixelDensity,
+ rect.height() * pixelDensity,
query->value(Qt::ImHints).toUInt(),
query->value(Qt::ImEnterKeyType).toUInt()
);