diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-08-06 14:30:47 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-07 16:40:07 +0200 |
commit | c5d7ea5badb4ccc0cd7027d8629d80809e7ec3d7 (patch) | |
tree | 1960b99e202a7e76a7298b18960c1c9201473a90 /tests | |
parent | 2ade633c0a3f5614b0c640fbc050be3d7d925abb (diff) |
Only emit the clicked() signal from views if the left button is used.
This is consistent with QAbstractButton, QCalendarWidget,
QDialogButtonBox and QGroupBox (ie, all other widgets with
a clicked signal)
Task-number: QTBUG-26105
Change-Id: Ieafe988b5c03216796b69a7cd70ac1a03fc12b0a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp index b212a6fdf2..890f30a668 100644 --- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp +++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp @@ -225,6 +225,7 @@ private slots: void QTBUG6407_extendedSelection(); void QTBUG6753_selectOnSelection(); void testDelegateDestroyEditor(); + void testClickedSignal(); }; class MyAbstractItemDelegate : public QAbstractItemDelegate @@ -1508,6 +1509,30 @@ void tst_QAbstractItemView::testDelegateDestroyEditor() QVERIFY(delegate.calledVirtualDtor); } +void tst_QAbstractItemView::testClickedSignal() +{ + QTableWidget view(5, 5); + + view.show(); + QApplication::setActiveWindow(&view); + QVERIFY(QTest::qWaitForWindowActive(&view)); + QCOMPARE(static_cast<QWidget *>(&view), QApplication::activeWindow()); + + QModelIndex index49 = view.model()->index(49,0); + QPoint p = view.visualRect(index49).center(); + QVERIFY(view.viewport()->rect().contains(p)); + + QSignalSpy clickedSpy(&view, SIGNAL(clicked(QModelIndex))); + + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, p); + QCOMPARE(clickedSpy.count(), 1); + + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, p); + // We expect that right-clicks do not cause the clicked() signal to + // be emitted. + QCOMPARE(clickedSpy.count(), 1); + +} QTEST_MAIN(tst_QAbstractItemView) #include "tst_qabstractitemview.moc" |