aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-09-05 17:30:11 +0200
committerLiang Qi <liang.qi@qt.io>2018-09-05 17:30:11 +0200
commitee16df4f0f4ec884abf5b676706ecd1c8851b8a0 (patch)
tree2b750ca1614354a6f7f5634615ca67b9f01876b5
parentc11c0886266cffa34210ca287a6a99ec1633d56b (diff)
parentc40e19e8012788522806f25589d7c41d93d423b4 (diff)
Merge remote-tracking branch 'origin/5.11' into 5.12
Conflicts: src/virtualkeyboard/platforminputcontext.cpp Change-Id: Ic12049c5bfa598fff6e6c896a9b6ee73f664b681
-rw-r--r--src/virtualkeyboard/platforminputcontext.cpp20
-rw-r--r--tests/auto/inputpanel/data/tst_inputpanel.qml8
2 files changed, 19 insertions, 9 deletions
diff --git a/src/virtualkeyboard/platforminputcontext.cpp b/src/virtualkeyboard/platforminputcontext.cpp
index da0d23b2..d876fbea 100644
--- a/src/virtualkeyboard/platforminputcontext.cpp
+++ b/src/virtualkeyboard/platforminputcontext.cpp
@@ -88,17 +88,19 @@ void PlatformInputContext::commit()
void PlatformInputContext::update(Qt::InputMethodQueries queries)
{
VIRTUALKEYBOARD_DEBUG() << "PlatformInputContext::update():" << queries;
- if (m_inputContext) {
- bool enabled = inputMethodQuery(Qt::ImEnabled).toBool();
- if (enabled) {
+ bool enabled = inputMethodQuery(Qt::ImEnabled).toBool();
#ifdef QT_VIRTUALKEYBOARD_DESKTOP
- if (!m_inputPanel) {
- m_inputPanel = new DesktopInputPanel(this);
- m_inputPanel->createView();
- m_selectionControl = new DesktopInputSelectionControl(this, m_inputContext);
- m_selectionControl->createHandles();
- }
+ if (enabled && !m_inputPanel) {
+ m_inputPanel = new DesktopInputPanel(this);
+ m_inputPanel->createView();
+ if (m_inputContext) {
+ m_selectionControl = new DesktopInputSelectionControl(this, m_inputContext);
+ m_selectionControl->createHandles();
+ }
+ }
#endif
+ if (m_inputContext) {
+ if (enabled) {
m_inputContext->priv()->update(queries);
if (m_visible)
updateInputPanelVisible();
diff --git a/tests/auto/inputpanel/data/tst_inputpanel.qml b/tests/auto/inputpanel/data/tst_inputpanel.qml
index faaf44ce..eea2f97e 100644
--- a/tests/auto/inputpanel/data/tst_inputpanel.qml
+++ b/tests/auto/inputpanel/data/tst_inputpanel.qml
@@ -29,6 +29,7 @@
import QtTest 1.0
import QtQuick 2.0
+import QtQuick.Window 2.3
Rectangle {
id: container
@@ -83,6 +84,13 @@ Rectangle {
inputPanel.setWclAutoCommitWord(data !== undefined && data.hasOwnProperty("wclAutoCommitWord") && data.wclAutoCommitWord)
inputPanel.setFullScreenMode(data !== undefined && data.hasOwnProperty("fullScreenMode") && data.fullScreenMode)
inputPanel.setExternalLanguageSwitchEnabled(data !== undefined && data.hasOwnProperty("externalLanguageSwitchEnabled") && data.externalLanguageSwitchEnabled)
+
+ var window = container.Window.window
+ verify(window)
+ window.raise()
+ window.requestActivate()
+ tryCompare(window, "active", true)
+
container.forceActiveFocus()
waitForRendering(container)
if (data !== undefined && data.hasOwnProperty("initText")) {