diff options
author | Pekka Vuorela <pekka.ta.vuorela@nokia.com> | 2011-09-23 15:28:19 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-28 14:02:08 +0200 |
commit | 3d71266fea91628d28ae4e55cd105a0bd5d8b457 (patch) | |
tree | 97dd3a62e57ca0e605571aab90d49fb4ca4418a3 /tests | |
parent | d0968472c6fc3a9648caa864db39c67db57cef0d (diff) |
Remove support for QWidget specific input contexts
QInputContext is migrated to QInputPanel, which allows only one
instance.
Change-Id: I4912164790d5a6bdff41e11cbe4bc4e2f9f111ec
Reviewed-on: http://codereview.qt-project.org/5641
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 13 | ||||
-rw-r--r-- | tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 10 | ||||
-rw-r--r-- | tests/auto/qgraphicsview/tst_qgraphicsview.cpp | 26 | ||||
-rw-r--r-- | tests/auto/qinputcontext/tst_qinputcontext.cpp | 66 | ||||
-rw-r--r-- | tests/auto/qwidget/tst_qwidget.cpp | 14 |
5 files changed, 37 insertions, 92 deletions
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 79dd2bdd7d..2d629176f3 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -10411,10 +10411,8 @@ void tst_QGraphicsItem::updateMicroFocus() QGraphicsView view2(&scene); layout.addWidget(&view, 0, 0); layout.addWidget(&view2, 0, 1); - MyInputContext ic2; - view2.setInputContext(&ic2); - MyInputContext ic; - view.setInputContext(&ic); + MyInputContext *ic = new MyInputContext; + qApp->setInputContext(ic); MyInputWidget input; input.setPos(0, 0); input.resize(150, 150); @@ -10427,13 +10425,10 @@ void tst_QGraphicsItem::updateMicroFocus() QTest::qWaitForWindowShown(&parent); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&parent)); //We reset the number of updates that happened previously (initialisation) - ic.nbUpdates = 0; - ic2.nbUpdates = 0; + ic->nbUpdates = 0; input.doUpdateMicroFocus(); QApplication::processEvents(); - QTRY_COMPARE(ic.nbUpdates, 1); - //No update since view2 does not have the focus. - QTRY_COMPARE(ic2.nbUpdates, 0); + QTRY_COMPARE(ic->nbUpdates, 1); } void tst_QGraphicsItem::textItem_shortcuts() diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index 910f0bb688..b4c419a4f6 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -3867,21 +3867,21 @@ void tst_QGraphicsScene::inputMethod() QGraphicsScene scene; QGraphicsView view(&scene); - TestInputContext inputContext; - view.setInputContext(&inputContext); + TestInputContext *inputContext = new TestInputContext; + qApp->setInputContext(inputContext); view.show(); QApplication::setActiveWindow(&view); view.setFocus(); QTest::qWaitForWindowShown(&view); QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view)); - inputContext.resetCalls = 0; + inputContext->resetCalls = 0; scene.addItem(item); QInputMethodEvent event; scene.setFocusItem(item); QCOMPARE(!!(item->flags() & QGraphicsItem::ItemIsFocusable), scene.focusItem() == item); - QCOMPARE(inputContext.resetCalls, 0); + QCOMPARE(inputContext->resetCalls, 0); item->eventCalls = 0; qApp->sendEvent(&scene, &event); @@ -3894,7 +3894,7 @@ void tst_QGraphicsScene::inputMethod() scene.setFocusItem(0); // the input context is reset twice, once because an item has lost focus and again because // the Qt::WA_InputMethodEnabled flag is cleared because no item has focus. - QCOMPARE(inputContext.resetCalls, callFocusItem ? 2 : 0); + QCOMPARE(inputContext->resetCalls, callFocusItem ? 2 : 0); QCOMPARE(item->eventCalls, callFocusItem ? 2 : 0); // verify correct delivery of "reset" event QCOMPARE(item->queryCalls, callFocusItem ? 1 : 0); // verify that value is unaffected diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp index d6bc8ff3e8..d1ccd7cae5 100644 --- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp +++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp @@ -4124,8 +4124,8 @@ void tst_QGraphicsView::inputContextReset() QGraphicsView view(&scene); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); - InputContextTester inputContext; - view.setInputContext(&inputContext); + InputContextTester *inputContext = new InputContextTester; + qApp->setInputContext(inputContext); view.show(); QTest::qWaitForWindowShown(&view); @@ -4135,39 +4135,39 @@ void tst_QGraphicsView::inputContextReset() QGraphicsItem *item1 = new QGraphicsRectItem; item1->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemAcceptsInputMethod); - inputContext.resets = 0; + inputContext->resets = 0; scene.addItem(item1); - QCOMPARE(inputContext.resets, 0); + QCOMPARE(inputContext->resets, 0); - inputContext.resets = 0; + inputContext->resets = 0; scene.setFocusItem(item1); QCOMPARE(scene.focusItem(), (QGraphicsItem *)item1); QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled)); - QCOMPARE(inputContext.resets, 0); + QCOMPARE(inputContext->resets, 0); - inputContext.resets = 0; + inputContext->resets = 0; scene.setFocusItem(0); // the input context is reset twice, once because an item has lost focus and again because // the Qt::WA_InputMethodEnabled flag is cleared because no item has focus. - QCOMPARE(inputContext.resets, 2); + QCOMPARE(inputContext->resets, 2); // introduce another item that is focusable but does not accept input methods QGraphicsItem *item2 = new QGraphicsRectItem; item2->setFlags(QGraphicsItem::ItemIsFocusable); scene.addItem(item2); - inputContext.resets = 0; + inputContext->resets = 0; scene.setFocusItem(item2); - QCOMPARE(inputContext.resets, 0); + QCOMPARE(inputContext->resets, 0); - inputContext.resets = 0; + inputContext->resets = 0; scene.setFocusItem(item1); - QCOMPARE(inputContext.resets, 0); + QCOMPARE(inputContext->resets, 0); // test changing between between items that accept input methods. item2->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemAcceptsInputMethod); scene.setFocusItem(item2); - QCOMPARE(inputContext.resets, 1); + QCOMPARE(inputContext->resets, 1); } void tst_QGraphicsView::indirectPainting() diff --git a/tests/auto/qinputcontext/tst_qinputcontext.cpp b/tests/auto/qinputcontext/tst_qinputcontext.cpp index 27aea904f2..2f74988954 100644 --- a/tests/auto/qinputcontext/tst_qinputcontext.cpp +++ b/tests/auto/qinputcontext/tst_qinputcontext.cpp @@ -88,7 +88,6 @@ private slots: void closeSoftwareInputPanel(); void selections(); void focusProxy(); - void contextInheritance(); void symbianTestCoeFepInputContext_data(); void symbianTestCoeFepInputContext(); void symbianTestCoeFepAutoCommit_data(); @@ -306,12 +305,10 @@ void tst_QInputContext::filterMouseEvents() QApplication::setActiveWindow(&le); QFilterInputContext *ic = new QFilterInputContext; - le.setInputContext(ic); + qApp->setInputContext(ic); QTest::mouseClick(&le, Qt::LeftButton); QVERIFY(ic->lastTypes.indexOf(QEvent::MouseButtonRelease) >= 0); - - le.setInputContext(0); } class RequestSoftwareInputPanelStyle : public QWindowsStyle @@ -357,11 +354,8 @@ void tst_QInputContext::requestSoftwareInputPanel() layout->addWidget(le2); w.setLayout(layout); - QFilterInputContext *ic1, *ic2; - ic1 = new QFilterInputContext; - ic2 = new QFilterInputContext; - le1->setInputContext(ic1); - le2->setInputContext(ic2); + QFilterInputContext *ic = new QFilterInputContext; + qApp->setInputContext(ic); w.show(); QApplication::setActiveWindow(&w); @@ -369,20 +363,20 @@ void tst_QInputContext::requestSoftwareInputPanel() // Testing single click panel activation. newStyle->m_rsipBehavior = QStyle::RSIP_OnMouseClick; QTest::mouseClick(le2, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic2->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) >= 0); - ic2->lastTypes.clear(); + QVERIFY(ic->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) >= 0); + ic->lastTypes.clear(); // Testing double click panel activation. newStyle->m_rsipBehavior = QStyle::RSIP_OnMouseClickAndAlreadyFocused; QTest::mouseClick(le1, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic1->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) < 0); + QVERIFY(ic->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) < 0); QTest::mouseClick(le1, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic1->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) >= 0); - ic1->lastTypes.clear(); + QVERIFY(ic->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) >= 0); + ic->lastTypes.clear(); // Testing right mouse button QTest::mouseClick(le1, Qt::RightButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic1->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) < 0); + QVERIFY(ic->lastTypes.indexOf(QEvent::RequestSoftwareInputPanel) < 0); qApp->setStyle(oldStyle); oldStyle->setParent(qApp); @@ -402,11 +396,8 @@ void tst_QInputContext::closeSoftwareInputPanel() layout->addWidget(rb); w.setLayout(layout); - QFilterInputContext *ic1, *ic2; - ic1 = new QFilterInputContext; - ic2 = new QFilterInputContext; - le1->setInputContext(ic1); - le2->setInputContext(ic2); + QFilterInputContext *ic = new QFilterInputContext; + qApp->setInputContext(ic); w.show(); QApplication::setActiveWindow(&w); @@ -414,11 +405,11 @@ void tst_QInputContext::closeSoftwareInputPanel() // Testing that panel doesn't close between two input methods aware widgets. QTest::mouseClick(le1, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); QTest::mouseClick(le2, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic2->lastTypes.indexOf(QEvent::CloseSoftwareInputPanel) < 0); + QVERIFY(ic->lastTypes.indexOf(QEvent::CloseSoftwareInputPanel) < 0); // Testing that panel closes when focusing non-aware widget. QTest::mouseClick(rb, Qt::LeftButton, Qt::NoModifier, QPoint(5, 5)); - QVERIFY(ic2->lastTypes.indexOf(QEvent::CloseSoftwareInputPanel) >= 0); + QVERIFY(ic->lastTypes.indexOf(QEvent::CloseSoftwareInputPanel) >= 0); } void tst_QInputContext::selections() @@ -474,37 +465,6 @@ void tst_QInputContext::focusProxy() QCOMPARE(gic->focusWidget(), &proxy); } -void tst_QInputContext::contextInheritance() -{ - QWidget parent; - QWidget child(&parent); - - parent.setAttribute(Qt::WA_InputMethodEnabled, true); - child.setAttribute(Qt::WA_InputMethodEnabled, true); - - QCOMPARE(parent.inputContext(), qApp->inputContext()); - QCOMPARE(child.inputContext(), qApp->inputContext()); - - QInputContext *qic = new QFilterInputContext; - parent.setInputContext(qic); - QCOMPARE(parent.inputContext(), qic); - QCOMPARE(child.inputContext(), qic); - - parent.setAttribute(Qt::WA_InputMethodEnabled, false); - QVERIFY(!parent.inputContext()); - QCOMPARE(child.inputContext(), qic); - parent.setAttribute(Qt::WA_InputMethodEnabled, true); - - parent.setInputContext(0); - QCOMPARE(parent.inputContext(), qApp->inputContext()); - QCOMPARE(child.inputContext(), qApp->inputContext()); - - qic = new QFilterInputContext; - qApp->setInputContext(qic); - QCOMPARE(parent.inputContext(), qic); - QCOMPARE(child.inputContext(), qic); -} - #ifdef QT_WEBKIT_LIB class AutoWebView : public QWebView { diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp index 1414123296..f7d3e465df 100644 --- a/tests/auto/qwidget/tst_qwidget.cpp +++ b/tests/auto/qwidget/tst_qwidget.cpp @@ -589,21 +589,11 @@ void tst_QWidget::getSetCheck() QCOMPARE(true, obj1.acceptDrops()); // QInputContext * QWidget::inputContext() - // void QWidget::setInputContext(QInputContext *) MyInputContext *var13 = new MyInputContext; - obj1.setInputContext(var13); + qApp->setInputContext(var13); QCOMPARE((QInputContext *)0, obj1.inputContext()); // The widget by default doesn't have the WA_InputMethodEnabled attribute obj1.setAttribute(Qt::WA_InputMethodEnabled); - obj1.setInputContext(var13); QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext()); - // QWidget takes ownership, so check parent - QCOMPARE(var13->parent(), static_cast<QObject *>(&obj1)); - // Check self assignment - obj1.setInputContext(obj1.inputContext()); - QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext()); - obj1.setInputContext((QInputContext *)0); - QCOMPARE(qApp->inputContext(), obj1.inputContext()); - QVERIFY(qApp->inputContext() != var13); // bool QWidget::autoFillBackground() // void QWidget::setAutoFillBackground(bool) @@ -9937,7 +9927,7 @@ void tst_QWidget::focusProxyAndInputMethods() InputContextTester *inputContext = new InputContextTester; QWidget *toplevel = new QWidget(0, Qt::X11BypassWindowManagerHint); toplevel->setAttribute(Qt::WA_InputMethodEnabled, true); - toplevel->setInputContext(inputContext); // ownership is transferred + qApp->setInputContext(inputContext); // ownership is transferred QWidget *child = new QWidget(toplevel); child->setFocusProxy(toplevel); |