tests/auto/qtabbar/tst_qtabbar.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
    93     void moveTab_data();
    93     void moveTab_data();
    94     void moveTab();
    94     void moveTab();
    95 
    95 
    96     void task251184_removeTab();
    96     void task251184_removeTab();
    97     void changeTitleWhileDoubleClickingTab();
    97     void changeTitleWhileDoubleClickingTab();
       
    98 
       
    99     void taskQTBUG_10052_widgetLayoutWhenMoving();
    98 };
   100 };
    99 
   101 
   100 // Testing get/set functions
   102 // Testing get/set functions
   101 void tst_QTabBar::getSetCheck()
   103 void tst_QTabBar::getSetCheck()
   102 {
   104 {
   271     QFETCH(int, tabElideMode);
   273     QFETCH(int, tabElideMode);
   272     QTabBar tabBar;
   274     QTabBar tabBar;
   273     if (tabElideMode != -128)
   275     if (tabElideMode != -128)
   274         tabBar.setElideMode(Qt::TextElideMode(tabElideMode));
   276         tabBar.setElideMode(Qt::TextElideMode(tabElideMode));
   275     QTEST(int(tabBar.elideMode()), "expectedMode");
   277     QTEST(int(tabBar.elideMode()), "expectedMode");
       
   278     // Make sure style sheet does not override user set mode
       
   279     tabBar.setStyleSheet("QWidget { background-color: #ABA8A6;}");
       
   280     QTEST(int(tabBar.elideMode()), "expectedMode");
   276 }
   281 }
   277 
   282 
   278 void tst_QTabBar::setUsesScrollButtons_data()
   283 void tst_QTabBar::setUsesScrollButtons_data()
   279 {
   284 {
   280     QTest::addColumn<int>("usesArrows");
   285     QTest::addColumn<int>("usesArrows");
   571 
   576 
   572     for(int i=0; i < 10; i++)
   577     for(int i=0; i < 10; i++)
   573         QTest::mouseDClick(&bar, Qt::LeftButton, 0, tabPos);
   578         QTest::mouseDClick(&bar, Qt::LeftButton, 0, tabPos);
   574 }
   579 }
   575 
   580 
       
   581 class Widget10052 : public QWidget
       
   582 {
       
   583 public:
       
   584     Widget10052(QWidget *parent) : QWidget(parent), moved(false)
       
   585     { }
       
   586 
       
   587     void moveEvent(QMoveEvent *e)
       
   588     {
       
   589         moved = e->oldPos() != e->pos();
       
   590         QWidget::moveEvent(e);
       
   591     }
       
   592 
       
   593     bool moved;
       
   594 };
       
   595 
       
   596 void tst_QTabBar::taskQTBUG_10052_widgetLayoutWhenMoving()
       
   597 {
       
   598     QTabBar tabBar;
       
   599     tabBar.insertTab(0, "My first tab");
       
   600     Widget10052 w1(&tabBar);
       
   601     tabBar.setTabButton(0, QTabBar::RightSide, &w1);
       
   602     tabBar.insertTab(1, "My other tab");
       
   603     Widget10052 w2(&tabBar);
       
   604     tabBar.setTabButton(1, QTabBar::RightSide, &w2);
       
   605 
       
   606     tabBar.show();
       
   607     QTest::qWaitForWindowShown(&tabBar);
       
   608     w1.moved = w2.moved = false;
       
   609     tabBar.moveTab(0, 1);
       
   610     QTRY_VERIFY(w1.moved);
       
   611     QVERIFY(w2.moved);
       
   612 }
       
   613 
   576 QTEST_MAIN(tst_QTabBar)
   614 QTEST_MAIN(tst_QTabBar)
   577 #include "tst_qtabbar.moc"
   615 #include "tst_qtabbar.moc"