summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPekka Vuorela <pekka.ta.vuorela@nokia.com>2011-09-23 15:28:19 +0300
committerQt by Nokia <qt-info@nokia.com>2011-09-28 14:02:08 +0200
commit3d71266fea91628d28ae4e55cd105a0bd5d8b457 (patch)
tree97dd3a62e57ca0e605571aab90d49fb4ca4418a3 /tests
parentd0968472c6fc3a9648caa864db39c67db57cef0d (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.cpp13
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp10
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp26
-rw-r--r--tests/auto/qinputcontext/tst_qinputcontext.cpp66
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp14
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);