diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2012-06-28 21:04:54 +0400 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-13 19:28:31 +0200 |
commit | 252bad7c589e03d3e12df02354b00a84d8e3159a (patch) | |
tree | 9e572c1704028e4c0d343c63801f4a5d0e8a9627 /tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp | |
parent | 91e86688fc119e1bb67fd40ab30101015ddb638b (diff) |
Add useful signals to QTabBar and QTabWidget
In this patch we introduce tabBarClicked and tabBarDoubleClicked to get
a finer grained information on the user interaction with the tab bar.
Done-with: kevin.ottens@kdab.com
Change-Id: I7be76a556ca09186e98f2e076fe2512d6c5e6773
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp index a188e3bfe1..0dac7d85e4 100644 --- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp +++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp @@ -97,6 +97,8 @@ private slots: void changeTitleWhileDoubleClickingTab(); void taskQTBUG_10052_widgetLayoutWhenMoving(); + + void tabBarClicked(); }; // Testing get/set functions @@ -652,5 +654,45 @@ void tst_QTabBar::taskQTBUG_10052_widgetLayoutWhenMoving() QVERIFY(w2.moved); } +void tst_QTabBar::tabBarClicked() +{ + QTabBar tabBar; + tabBar.addTab("0"); + QSignalSpy clickSpy(&tabBar, SIGNAL(tabBarClicked(int))); + QSignalSpy doubleClickSpy(&tabBar, SIGNAL(tabBarDoubleClicked(int))); + + QCOMPARE(clickSpy.count(), 0); + QCOMPARE(doubleClickSpy.count(), 0); + + Qt::MouseButton button = Qt::LeftButton; + while (button <= Qt::MaxMouseButton) { + const QPoint tabPos = tabBar.tabRect(0).center(); + + QTest::mouseClick(&tabBar, button, 0, tabPos); + QCOMPARE(clickSpy.count(), 1); + QCOMPARE(clickSpy.takeFirst().takeFirst().toInt(), 0); + QCOMPARE(doubleClickSpy.count(), 0); + + QTest::mouseDClick(&tabBar, button, 0, tabPos); + QCOMPARE(clickSpy.count(), 0); + QCOMPARE(doubleClickSpy.count(), 1); + QCOMPARE(doubleClickSpy.takeFirst().takeFirst().toInt(), 0); + + const QPoint barPos(tabBar.tabRect(0).right() + 5, tabBar.tabRect(0).center().y()); + + QTest::mouseClick(&tabBar, button, 0, barPos); + QCOMPARE(clickSpy.count(), 1); + QCOMPARE(clickSpy.takeFirst().takeFirst().toInt(), -1); + QCOMPARE(doubleClickSpy.count(), 0); + + QTest::mouseDClick(&tabBar, button, 0, barPos); + QCOMPARE(clickSpy.count(), 0); + QCOMPARE(doubleClickSpy.count(), 1); + QCOMPARE(doubleClickSpy.takeFirst().takeFirst().toInt(), -1); + + button = Qt::MouseButton(button << 1); + } +} + QTEST_MAIN(tst_QTabBar) #include "tst_qtabbar.moc" |