Commit c6393ddce6fc9df8f52039089cc67699eb95aada
- Diff rendering mode:
- inline
- side by side
src/gui/widgets/qmenu.cpp
(1 / 3)
|   | |||
| 2302 | 2302 | QAction *action = d->actionAt(e->pos()); | |
| 2303 | 2303 | ||
| 2304 | 2304 | if (action && action == d->currentAction) { | |
| 2305 | if (action->menu()) | ||
| 2306 | action->menu()->d_func()->setFirstActionActive(); | ||
| 2307 | else { | ||
| 2305 | if (!action->menu()){ | ||
| 2308 | 2306 | #if defined(Q_WS_WIN) | |
| 2309 | 2307 | //On Windows only context menus can be activated with the right button | |
| 2310 | 2308 | if (e->button() == Qt::LeftButton || d->topCausedWidget() == 0) |
tests/auto/qmenu/tst_qmenu.cpp
(17 / 0)
|   | |||
| 104 | 104 | void setFixedWidth(); | |
| 105 | 105 | void deleteActionInTriggered(); | |
| 106 | 106 | void pushButtonPopulateOnAboutToShow(); | |
| 107 | void QTBUG7907_submenus_autoselect(); | ||
| 107 | 108 | protected slots: | |
| 108 | 109 | void onActivated(QAction*); | |
| 109 | 110 | void onHighlighted(QAction*); | |
| … | … | ||
| 930 | 930 | QTest::mouseClick(&b, Qt::LeftButton, Qt::NoModifier, b.rect().center()); | |
| 931 | 931 | QVERIFY(!lastMenu->geometry().intersects(b.geometry())); | |
| 932 | 932 | ||
| 933 | } | ||
| 934 | void tst_QMenu::QTBUG7907_submenus_autoselect() | ||
| 935 | { | ||
| 936 | QMenu menu("Test Menu"); | ||
| 937 | QMenu set1("Setting1"); | ||
| 938 | QMenu set2("Setting2"); | ||
| 939 | QMenu subset("Subsetting"); | ||
| 940 | subset.addAction("Values"); | ||
| 941 | set1.addMenu(&subset); | ||
| 942 | menu.addMenu(&set1); | ||
| 943 | menu.addMenu(&set2); | ||
| 944 | menu.show(); | ||
| 945 | QTest::qWaitForWindowShown(&menu); | ||
| 946 | QTest::mouseClick(&menu, Qt::LeftButton, Qt::NoModifier, QPoint(5,5) ); | ||
| 947 | QTest::qWait(500); | ||
| 948 | QVERIFY(!subset.isVisible()); | ||
| 933 | 949 | } | |
| 934 | 950 | ||
| 935 | 951 |

