From 614ae18d2c10a7a4e18448923bffa0c06065e6b8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 24 Oct 2011 15:20:26 +0200 Subject: [PATCH] Fix compilation of QtQuick1 tests. Per widget context is no longer supported as of qtbase:3d71266fea91628d28ae4e55cd105a0bd5d8b457 Change-Id: I67c84eda958053973e764e33dc7e65b7316c8c00 Reviewed-by: Pekka Vuorela Reviewed-by: Friedemann Kleint --- .../tst_qdeclarativetextedit.cpp | 230 +++++++++--------- .../tst_qdeclarativetextinput.cpp | 258 ++++++++++----------- 2 files changed, 244 insertions(+), 244 deletions(-) diff --git a/tests/auto/qtquick1/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/qtquick1/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index 2f5acca..58027bf 100644 --- a/tests/auto/qtquick1/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/qtquick1/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -2132,8 +2132,8 @@ void tst_qdeclarativetextedit::openInputPanelOnClick() { QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextEdit edit; QSignalSpy focusOnPressSpy(&edit, SIGNAL(activeFocusOnPressChanged(bool))); edit.setText("Hello world"); @@ -2156,14 +2156,14 @@ void tst_qdeclarativetextedit::openInputPanelOnClick() QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QApplication::processEvents(); if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) { - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); + QCOMPARE(ic->openInputPanelReceived, true); } else if (behavior == QStyle::RSIP_OnMouseClick) { - QCOMPARE(ic.openInputPanelReceived, true); + QCOMPARE(ic->openInputPanelReceived, true); } - ic.openInputPanelReceived = false; + ic->openInputPanelReceived = false; // focus should not cause input panels to open or close edit.setFocus(false); @@ -2172,16 +2172,16 @@ void tst_qdeclarativetextedit::openInputPanelOnClick() edit.setFocus(true); edit.setFocus(false); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); } void tst_qdeclarativetextedit::openInputPanelOnFocus() { QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextEdit edit; QSignalSpy focusOnPressSpy(&edit, SIGNAL(activeFocusOnPressChanged(bool))); edit.setText("Hello world"); @@ -2199,27 +2199,27 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() // test default values QVERIFY(edit.focusOnPress()); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); // focus on press, input panel on focus QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QApplication::processEvents(); QVERIFY(edit.hasActiveFocus()); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; // no events on release QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); - QCOMPARE(ic.openInputPanelReceived, false); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + ic->openInputPanelReceived = false; // if already focused, input panel can be opened on press QVERIFY(edit.hasActiveFocus()); QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; // input method should stay enabled if focus // is lost to an item that also accepts inputs @@ -2227,8 +2227,8 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() scene.addItem(&anotherEdit); anotherEdit.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; QCOMPARE(view.inputContext(), (QInputContext*)&ic); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); @@ -2238,7 +2238,7 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() scene.addItem(&item); item.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QVERIFY(view.inputContext() == 0); QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled)); @@ -2253,22 +2253,22 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); // one show input panel event should // be set when openSoftwareInputPanel is called edit.openSoftwareInputPanel(); - QCOMPARE(ic.openInputPanelReceived, true); - QCOMPARE(ic.closeInputPanelReceived, false); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + QCOMPARE(ic->closeInputPanelReceived, false); + ic->openInputPanelReceived = false; // one close input panel event should // be sent when closeSoftwareInputPanel is called edit.closeSoftwareInputPanel(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, true); - ic.closeInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, true); + ic->closeInputPanelReceived = false; // set activeFocusOnPress back to true edit.setFocusOnPress(true); @@ -2277,17 +2277,17 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() QCOMPARE(focusOnPressSpy.count(),2); edit.setFocus(false); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); - ic.closeInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); + ic->closeInputPanelReceived = false; // input panel should not re-open // if focus has already been set edit.setFocus(true); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; edit.setFocus(true); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); // input method should be disabled // if TextEdit loses focus @@ -2299,10 +2299,10 @@ void tst_qdeclarativetextedit::openInputPanelOnFocus() // input method should not be enabled // if TextEdit is read only. edit.setReadOnly(true); - ic.openInputPanelReceived = false; + ic->openInputPanelReceived = false; edit.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QVERIFY(view.inputContext() == 0); QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled)); } @@ -2422,8 +2422,8 @@ void tst_qdeclarativetextedit::preeditMicroFocus() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextEdit edit; edit.setFocus(true); scene.addItem(&edit); @@ -2439,24 +2439,24 @@ void tst_qdeclarativetextedit::preeditMicroFocus() // Verify that the micro focus rect is positioned the same for position 0 as // it would be if there was no preedit text. - ic.updateReceived = false; - ic.sendPreeditText(preeditText, 0); + ic->updateReceived = false; + ic->sendPreeditText(preeditText, 0); currentRect = edit.inputMethodQuery(Qt::ImMicroFocus).toRect(); QCOMPARE(currentRect, previousRect); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, false); // The cursor position hasn't changed. + QCOMPARE(ic->updateReceived, false); // The cursor position hasn't changed. #endif QCOMPARE(cursorRectangleSpy.count(), 0); // Verify that the micro focus rect moves to the left as the cursor position // is incremented. for (int i = 1; i <= 5; ++i) { - ic.updateReceived = false; - ic.sendPreeditText(preeditText, i); + ic->updateReceived = false; + ic->sendPreeditText(preeditText, i); currentRect = edit.inputMethodQuery(Qt::ImMicroFocus).toRect(); QVERIFY(previousRect.left() < currentRect.left()); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, true); + QCOMPARE(ic->updateReceived, true); #endif QVERIFY(cursorRectangleSpy.count() > 0); cursorRectangleSpy.clear(); @@ -2465,13 +2465,13 @@ void tst_qdeclarativetextedit::preeditMicroFocus() // Verify that if there is no preedit cursor then the micro focus rect is the // same as it would be if it were positioned at the end of the preedit text. - ic.sendPreeditText(preeditText, 0); - ic.updateReceived = false; - ic.sendEvent(QInputMethodEvent(preeditText, QList())); + ic->sendPreeditText(preeditText, 0); + ic->updateReceived = false; + ic->sendEvent(QInputMethodEvent(preeditText, QList())); currentRect = edit.inputMethodQuery(Qt::ImMicroFocus).toRect(); QCOMPARE(currentRect, previousRect); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, true); + QCOMPARE(ic->updateReceived, true); #endif QVERIFY(cursorRectangleSpy.count() > 0); } @@ -2482,8 +2482,8 @@ void tst_qdeclarativetextedit::inputContextMouseHandler() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextEdit edit; edit.setPos(0, 0); edit.setWidth(200); @@ -2510,90 +2510,90 @@ void tst_qdeclarativetextedit::inputContextMouseHandler() QPoint globalposition20 = view.viewport()->mapToGlobal(position20); QPoint globalposition27 = view.viewport()->mapToGlobal(position27); - ic.sendEvent(QInputMethodEvent(text.mid(12), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(12), QList())); QTest::mouseDClick(view.viewport(), Qt::LeftButton, Qt::NoModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonDblClick); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; QTest::mousePress(view.viewport(), Qt::LeftButton, Qt::NoModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonPress); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonPress); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position8, globalposition8, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::None); + QCOMPARE(ic->eventType, QEvent::None); { QMouseEvent mv(QEvent::MouseMove, position27, globalposition27, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::MouseMove); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); // 15 is expected but some platforms may be off by one. - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseMove); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); // 15 is expected but some platforms may be off by one. + ic->eventType = QEvent::None; QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::NoModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonRelease); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonRelease); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; // And in the other direction. QTest::mouseDClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonDblClick); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; QTest::mousePress(view.viewport(), Qt::RightButton, Qt::ControlModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonPress); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonPress); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position20, globalposition20, Qt::RightButton, Qt::RightButton,Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::MouseMove); - QCOMPARE(ic.eventPosition, position20); - QCOMPARE(ic.eventGlobalPosition, globalposition20); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 7 && ic.cursor <= 9); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseMove); + QCOMPARE(ic->eventPosition, position20); + QCOMPARE(ic->eventGlobalPosition, globalposition20); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 7 && ic->cursor <= 9); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position2, globalPosition2, Qt::RightButton, Qt::RightButton,Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::None); + QCOMPARE(ic->eventType, QEvent::None); QTest::mouseRelease(view.viewport(), Qt::RightButton, Qt::ControlModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonRelease); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonRelease); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; } void tst_qdeclarativetextedit::inputMethodComposing() @@ -2602,8 +2602,8 @@ void tst_qdeclarativetextedit::inputMethodComposing() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextEdit edit; edit.setWidth(200); edit.setText(text.mid(0, 12)); @@ -2620,15 +2620,15 @@ void tst_qdeclarativetextedit::inputMethodComposing() QCOMPARE(edit.isInputMethodComposing(), false); - ic.sendEvent(QInputMethodEvent(text.mid(3), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(3), QList())); QCOMPARE(edit.isInputMethodComposing(), true); QCOMPARE(spy.count(), 1); - ic.sendEvent(QInputMethodEvent(text.mid(12), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(12), QList())); QCOMPARE(edit.isInputMethodComposing(), true); QCOMPARE(spy.count(), 1); - ic.sendEvent(QInputMethodEvent()); + ic->sendEvent(QInputMethodEvent()); QCOMPARE(edit.isInputMethodComposing(), false); QCOMPARE(spy.count(), 2); } diff --git a/tests/auto/qtquick1/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/qtquick1/qdeclarativetextinput/tst_qdeclarativetextinput.cpp index c01f129..38e01eb 100644 --- a/tests/auto/qtquick1/qdeclarativetextinput/tst_qdeclarativetextinput.cpp +++ b/tests/auto/qtquick1/qdeclarativetextinput/tst_qdeclarativetextinput.cpp @@ -2206,8 +2206,8 @@ void tst_qdeclarativetextinput::openInputPanelOnClick() { QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; QSignalSpy focusOnPressSpy(&input, SIGNAL(activeFocusOnPressChanged(bool))); input.setText("Hello world"); @@ -2230,14 +2230,14 @@ void tst_qdeclarativetextinput::openInputPanelOnClick() QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QApplication::processEvents(); if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) { - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); + QCOMPARE(ic->openInputPanelReceived, true); } else if (behavior == QStyle::RSIP_OnMouseClick) { - QCOMPARE(ic.openInputPanelReceived, true); + QCOMPARE(ic->openInputPanelReceived, true); } - ic.openInputPanelReceived = false; + ic->openInputPanelReceived = false; // focus should not cause input panels to open or close input.setFocus(false); @@ -2245,16 +2245,16 @@ void tst_qdeclarativetextinput::openInputPanelOnClick() input.setFocus(false); input.setFocus(true); input.setFocus(false); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); } void tst_qdeclarativetextinput::openInputPanelOnFocus() { QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; QSignalSpy focusOnPressSpy(&input, SIGNAL(activeFocusOnPressChanged(bool))); input.setText("Hello world"); @@ -2272,27 +2272,27 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() // test default values QVERIFY(input.focusOnPress()); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); // focus on press, input panel on focus QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QApplication::processEvents(); QVERIFY(input.hasActiveFocus()); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; // no events on release QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); - QCOMPARE(ic.openInputPanelReceived, false); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + ic->openInputPanelReceived = false; // if already focused, input panel can be opened on press QVERIFY(input.hasActiveFocus()); QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; // input method should stay enabled if focus // is lost to an item that also accepts inputs @@ -2300,8 +2300,8 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() scene.addItem(&anotherInput); anotherInput.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; QCOMPARE(view.inputContext(), (QInputContext*)&ic); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); @@ -2311,7 +2311,7 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() scene.addItem(&item); item.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QVERIFY(view.inputContext() == 0); QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled)); @@ -2326,22 +2326,22 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos())); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); // one show input panel event should // be set when openSoftwareInputPanel is called input.openSoftwareInputPanel(); - QCOMPARE(ic.openInputPanelReceived, true); - QCOMPARE(ic.closeInputPanelReceived, false); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + QCOMPARE(ic->closeInputPanelReceived, false); + ic->openInputPanelReceived = false; // one close input panel event should // be sent when closeSoftwareInputPanel is called input.closeSoftwareInputPanel(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, true); - ic.closeInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, true); + ic->closeInputPanelReceived = false; // set activeFocusOnPress back to true input.setFocusOnPress(true); @@ -2350,17 +2350,17 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() QCOMPARE(focusOnPressSpy.count(),2); input.setFocus(false); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); - QCOMPARE(ic.closeInputPanelReceived, false); - ic.closeInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, false); + QCOMPARE(ic->closeInputPanelReceived, false); + ic->closeInputPanelReceived = false; // input panel should not re-open // if focus has already been set input.setFocus(true); - QCOMPARE(ic.openInputPanelReceived, true); - ic.openInputPanelReceived = false; + QCOMPARE(ic->openInputPanelReceived, true); + ic->openInputPanelReceived = false; input.setFocus(true); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); // input method should be disabled // if TextInput loses focus @@ -2372,10 +2372,10 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus() // input method should not be enabled // if TextEdit is read only. input.setReadOnly(true); - ic.openInputPanelReceived = false; + ic->openInputPanelReceived = false; input.setFocus(true); QApplication::processEvents(); - QCOMPARE(ic.openInputPanelReceived, false); + QCOMPARE(ic->openInputPanelReceived, false); QVERIFY(view.inputContext() == 0); QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled)); } @@ -2495,8 +2495,8 @@ void tst_qdeclarativetextinput::preeditAutoScroll() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; QFontMetricsF fm(input.font()); input.setWidth(fm.width(committedText)); @@ -2513,14 +2513,14 @@ void tst_qdeclarativetextinput::preeditAutoScroll() int cursorRectangleChanges = 0; // test the text is scrolled so the preedit is visible. - ic.sendPreeditText(preeditText.mid(0, 3), 1); + ic->sendPreeditText(preeditText.mid(0, 3), 1); QEXPECT_FAIL("", "QTBUG-21017 fails", Abort); QVERIFY(input.positionAt(0) != 0); QVERIFY(input.cursorRectangle().left() < input.boundingRect().width()); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); // test the text is scrolled back when the preedit is removed. - ic.sendEvent(QInputMethodEvent()); + ic->sendEvent(QInputMethodEvent()); QCOMPARE(input.positionAt(0), 0); QCOMPARE(input.positionAt(input.width()), 5); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); @@ -2536,14 +2536,14 @@ void tst_qdeclarativetextinput::preeditAutoScroll() // character preceding the cursor is still visible. qreal x = input.positionToRectangle(0).x(); for (int i = 0; i < 3; ++i) { - ic.sendPreeditText(preeditText, i + 1); + ic->sendPreeditText(preeditText, i + 1); QVERIFY(input.cursorRectangle().right() >= fm.width(preeditText.at(i)) - error); QVERIFY(input.positionToRectangle(0).x() < x); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); x = input.positionToRectangle(0).x(); } for (int i = 1; i >= 0; --i) { - ic.sendPreeditText(preeditText, i + 1); + ic->sendPreeditText(preeditText, i + 1); QVERIFY(input.cursorRectangle().right() >= fm.width(preeditText.at(i)) - error); QVERIFY(input.positionToRectangle(0).x() > x); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); @@ -2552,38 +2552,38 @@ void tst_qdeclarativetextinput::preeditAutoScroll() // Test incrementing the preedit cursor doesn't cause further // scrolling when right most text is visible. - ic.sendPreeditText(preeditText, preeditText.length() - 3); + ic->sendPreeditText(preeditText, preeditText.length() - 3); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); x = input.positionToRectangle(0).x(); for (int i = 2; i >= 0; --i) { - ic.sendPreeditText(preeditText, preeditText.length() - i); + ic->sendPreeditText(preeditText, preeditText.length() - i); QCOMPARE(input.positionToRectangle(0).x(), x); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); } for (int i = 1; i < 3; ++i) { - ic.sendPreeditText(preeditText, preeditText.length() - i); + ic->sendPreeditText(preeditText, preeditText.length() - i); QCOMPARE(input.positionToRectangle(0).x(), x); QCOMPARE(cursorRectangleSpy.count(), ++cursorRectangleChanges); } // Test disabling auto scroll. - ic.sendEvent(QInputMethodEvent()); + ic->sendEvent(QInputMethodEvent()); input.setAutoScroll(false); - ic.sendPreeditText(preeditText.mid(0, 3), 1); + ic->sendPreeditText(preeditText.mid(0, 3), 1); QCOMPARE(input.positionAt(0), 0); QCOMPARE(input.positionAt(input.width()), 5); - ic.sendEvent(QInputMethodEvent()); + ic->sendEvent(QInputMethodEvent()); input.setAutoScroll(true); // Test committing pre-edit text at the start of the string. QTBUG-18789 input.setCursorPosition(0); - ic.sendPreeditText(input.text(), 5); + ic->sendPreeditText(input.text(), 5); QCOMPARE(input.positionAt(0), 0); QInputMethodEvent event; event.setCommitString(input.text()); - ic.sendEvent(event); + ic->sendEvent(event); QCOMPARE(input.positionAt(0), 0); QCOMPARE(input.positionAt(input.width()), 5); @@ -2595,8 +2595,8 @@ void tst_qdeclarativetextinput::preeditMicroFocus() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; input.setPos(0, 0); input.setAutoScroll(false); @@ -2612,36 +2612,36 @@ void tst_qdeclarativetextinput::preeditMicroFocus() // Verify that the micro focus rect is positioned the same for position 0 as // it would be if there was no preedit text. - ic.updateReceived = false; - ic.sendPreeditText(preeditText, 0); + ic->updateReceived = false; + ic->sendPreeditText(preeditText, 0); currentRect = input.inputMethodQuery(Qt::ImMicroFocus).toRect(); QCOMPARE(currentRect, previousRect); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, true); + QCOMPARE(ic->updateReceived, true); #endif // Verify that the micro focus rect moves to the left as the cursor position // is incremented. for (int i = 1; i <= 5; ++i) { - ic.updateReceived = false; - ic.sendPreeditText(preeditText, i); + ic->updateReceived = false; + ic->sendPreeditText(preeditText, i); currentRect = input.inputMethodQuery(Qt::ImMicroFocus).toRect(); QVERIFY(previousRect.left() < currentRect.left()); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, true); + QCOMPARE(ic->updateReceived, true); #endif previousRect = currentRect; } // Verify that if there is no preedit cursor then the micro focus rect is the // same as it would be if it were positioned at the end of the preedit text. - ic.sendPreeditText(preeditText, 0); - ic.updateReceived = false; - ic.sendEvent(QInputMethodEvent(preeditText, QList())); + ic->sendPreeditText(preeditText, 0); + ic->updateReceived = false; + ic->sendEvent(QInputMethodEvent(preeditText, QList())); currentRect = input.inputMethodQuery(Qt::ImMicroFocus).toRect(); QCOMPARE(currentRect, previousRect); #if defined(Q_WS_X11) || defined(Q_WS_QWS) - QCOMPARE(ic.updateReceived, true); + QCOMPARE(ic->updateReceived, true); #endif } @@ -2651,8 +2651,8 @@ void tst_qdeclarativetextinput::inputContextMouseHandler() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; input.setWidth(200); input.setText(text.mid(0, 12)); @@ -2677,90 +2677,90 @@ void tst_qdeclarativetextinput::inputContextMouseHandler() QPoint globalposition20 = view.viewport()->mapToGlobal(position20); QPoint globalposition27 = view.viewport()->mapToGlobal(position27); - ic.sendEvent(QInputMethodEvent(text.mid(12), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(12), QList())); QTest::mouseDClick(view.viewport(), Qt::LeftButton, Qt::NoModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonDblClick); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; QTest::mousePress(view.viewport(), Qt::LeftButton, Qt::NoModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonPress); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonPress); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position8, globalposition8, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::None); + QCOMPARE(ic->eventType, QEvent::None); { QMouseEvent mv(QEvent::MouseMove, position27, globalposition27, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::MouseMove); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); // 15 is expected but some platforms may be off by one. - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseMove); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); // 15 is expected but some platforms may be off by one. + ic->eventType = QEvent::None; QTest::mouseRelease(view.viewport(), Qt::LeftButton, Qt::NoModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonRelease); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::NoModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonRelease); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::NoModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; // And in the other direction. QTest::mouseDClick(view.viewport(), Qt::LeftButton, Qt::ControlModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::LeftButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonDblClick); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::LeftButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; QTest::mousePress(view.viewport(), Qt::RightButton, Qt::ControlModifier, position27); - QCOMPARE(ic.eventType, QEvent::MouseButtonPress); - QCOMPARE(ic.eventPosition, position27); - QCOMPARE(ic.eventGlobalPosition, globalposition27); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonPress); + QCOMPARE(ic->eventPosition, position27); + QCOMPARE(ic->eventGlobalPosition, globalposition27); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 14 && ic->cursor <= 16); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position20, globalposition20, Qt::RightButton, Qt::RightButton,Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::MouseMove); - QCOMPARE(ic.eventPosition, position20); - QCOMPARE(ic.eventGlobalPosition, globalposition20); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor >= 7 && ic.cursor <= 9); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseMove); + QCOMPARE(ic->eventPosition, position20); + QCOMPARE(ic->eventGlobalPosition, globalposition20); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor >= 7 && ic->cursor <= 9); + ic->eventType = QEvent::None; { QMouseEvent mv(QEvent::MouseMove, position2, globalPosition2, Qt::RightButton, Qt::RightButton,Qt::ControlModifier); QApplication::sendEvent(view.viewport(), &mv); } - QCOMPARE(ic.eventType, QEvent::None); + QCOMPARE(ic->eventType, QEvent::None); QTest::mouseRelease(view.viewport(), Qt::RightButton, Qt::ControlModifier, position2); - QCOMPARE(ic.eventType, QEvent::MouseButtonRelease); - QCOMPARE(ic.eventPosition, position2); - QCOMPARE(ic.eventGlobalPosition, globalPosition2); - QCOMPARE(ic.eventButton, Qt::RightButton); - QCOMPARE(ic.eventModifiers, Qt::ControlModifier); - QVERIFY(ic.cursor < 0); - ic.eventType = QEvent::None; + QCOMPARE(ic->eventType, QEvent::MouseButtonRelease); + QCOMPARE(ic->eventPosition, position2); + QCOMPARE(ic->eventGlobalPosition, globalPosition2); + QCOMPARE(ic->eventButton, Qt::RightButton); + QCOMPARE(ic->eventModifiers, Qt::ControlModifier); + QVERIFY(ic->cursor < 0); + ic->eventType = QEvent::None; } void tst_qdeclarativetextinput::inputMethodComposing() @@ -2769,8 +2769,8 @@ void tst_qdeclarativetextinput::inputMethodComposing() QGraphicsScene scene; QGraphicsView view(&scene); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); QDeclarative1TextInput input; input.setWidth(200); input.setText(text.mid(0, 12)); @@ -2787,15 +2787,15 @@ void tst_qdeclarativetextinput::inputMethodComposing() QCOMPARE(input.isInputMethodComposing(), false); - ic.sendEvent(QInputMethodEvent(text.mid(3), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(3), QList())); QCOMPARE(input.isInputMethodComposing(), true); QCOMPARE(spy.count(), 1); - ic.sendEvent(QInputMethodEvent(text.mid(12), QList())); + ic->sendEvent(QInputMethodEvent(text.mid(12), QList())); QCOMPARE(input.isInputMethodComposing(), true); QCOMPARE(spy.count(), 1); - ic.sendEvent(QInputMethodEvent()); + ic->sendEvent(QInputMethodEvent()); QCOMPARE(input.isInputMethodComposing(), false); QCOMPARE(spy.count(), 2); } -- 2.7.4