tests/auto/qmenu/tst_qmenu.cpp
changeset 30 5dc02b23752f
parent 29 b72c6db6890b
child 33 3e2da88830cd
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
   103     void menuSizeHint();
   103     void menuSizeHint();
   104     void task258920_mouseBorder();
   104     void task258920_mouseBorder();
   105     void setFixedWidth();
   105     void setFixedWidth();
   106     void deleteActionInTriggered();
   106     void deleteActionInTriggered();
   107     void pushButtonPopulateOnAboutToShow();
   107     void pushButtonPopulateOnAboutToShow();
       
   108     void QTBUG7907_submenus_autoselect();
       
   109     void QTBUG7411_submenus_activate();
   108     void QTBUG_10735_crashWithDialog();
   110     void QTBUG_10735_crashWithDialog();
   109 protected slots:
   111 protected slots:
   110     void onActivated(QAction*);
   112     void onActivated(QAction*);
   111     void onHighlighted(QAction*);
   113     void onHighlighted(QAction*);
   112     void onStatusMessageChanged(const QString &);
   114     void onStatusMessageChanged(const QString &);
   930     QTimer::singleShot(300,lastMenu, SLOT(hide()));
   932     QTimer::singleShot(300,lastMenu, SLOT(hide()));
   931     QTest::mouseClick(&b, Qt::LeftButton, Qt::NoModifier, b.rect().center());
   933     QTest::mouseClick(&b, Qt::LeftButton, Qt::NoModifier, b.rect().center());
   932     QVERIFY(!lastMenu->geometry().intersects(b.geometry()));
   934     QVERIFY(!lastMenu->geometry().intersects(b.geometry()));
   933 
   935 
   934 }
   936 }
       
   937 void tst_QMenu::QTBUG7907_submenus_autoselect()
       
   938 {
       
   939     QMenu menu("Test Menu");
       
   940     QMenu set1("Setting1");
       
   941     QMenu set2("Setting2");
       
   942     QMenu subset("Subsetting");
       
   943     subset.addAction("Values");
       
   944     set1.addMenu(&subset);
       
   945     menu.addMenu(&set1);
       
   946     menu.addMenu(&set2);
       
   947     menu.show();
       
   948     QTest::qWaitForWindowShown(&menu);
       
   949     QTest::mouseClick(&menu, Qt::LeftButton, Qt::NoModifier, QPoint(5,5) );
       
   950     QTest::qWait(500);
       
   951     QVERIFY(!subset.isVisible());
       
   952 }
       
   953 
       
   954 void tst_QMenu::QTBUG7411_submenus_activate()
       
   955 {
       
   956     QMenu menu("Test Menu");
       
   957     QAction *act = menu.addAction("foo");
       
   958     QMenu sub1("&sub1");
       
   959     sub1.addAction("foo");
       
   960     sub1.setTitle("&sub1");
       
   961     QAction *act1 = menu.addMenu(&sub1);
       
   962     menu.show();
       
   963     QTest::qWaitForWindowShown(&menu);
       
   964     menu.setActiveAction(act);
       
   965     QTest::keyPress(&menu, Qt::Key_Down);
       
   966     QCOMPARE(menu.activeAction(), act1);
       
   967     QVERIFY(!sub1.isVisible());
       
   968     QTest::keyPress(&menu, Qt::Key_S);
       
   969     QTRY_VERIFY(sub1.isVisible());
       
   970 }
       
   971 
   935 
   972 
   936 
   973 
   937 class MyMenu : public QMenu
   974 class MyMenu : public QMenu
   938 {
   975 {
   939     Q_OBJECT
   976     Q_OBJECT