diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-12-02 23:33:06 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-12-02 23:33:06 +0100 |
commit | 72f5867f144cec8fc7848cbcc772683fe845652d (patch) | |
tree | 7513af27b59332bf111f406d304977adc8c8612e /tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp | |
parent | 13777097118c496391d4b9656b95097ac25e4a40 (diff) | |
parent | bf0af8b5a24de7e595929a64948a3548936aaaee (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
src/corelib/kernel/qcoreapplication.cpp
src/corelib/kernel/qeventdispatcher_blackberry.cpp
src/network/bearer/qnetworkconfiguration.cpp
src/plugins/bearer/blackberry/qbbengine.cpp
src/plugins/platforms/android/androidjnimain.cpp
src/plugins/platforms/android/qandroidplatformtheme.cpp
src/plugins/platforms/qnx/qqnxbpseventfilter.cpp
src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp
src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp
src/plugins/platforms/qnx/qqnxintegration.cpp
src/plugins/platforms/qnx/qqnxnavigatorbps.cpp
src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp
src/plugins/platforms/qnx/qqnxwindow.cpp
src/widgets/kernel/qwidgetwindow.cpp
src/widgets/styles/qwindowsvistastyle.cpp
src/widgets/styles/qwindowsxpstyle.cpp
src/widgets/widgets/qtoolbararealayout.cpp
tests/auto/corelib/global/qflags/qflags.pro
tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
tests/auto/corelib/tools/qversionnumber/qversionnumber.pro
tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp
Change-Id: I37be88c6c185bb85404823353e027a0a6acdbce4
Diffstat (limited to 'tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index baf60551c4..f787d73a02 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -117,6 +117,7 @@ private slots: // void check_mouse2(); void check_altPress(); + void check_altClosePress(); #if !defined(Q_OS_MAC) && !defined(Q_OS_WINCE) void check_shortcutPress(); void check_menuPosition(); @@ -978,6 +979,35 @@ void tst_QMenuBar::check_altPress() QTRY_VERIFY( ::qobject_cast<QMenuBar *>(qApp->focusWidget()) ); } +// QTBUG-47377: Pressing 'Alt' after opening a menu by pressing 'Alt+Accelerator' +// should close it and QMenuBar::activeAction() should be 0. +void tst_QMenuBar::check_altClosePress() +{ + const QStyle *style = QApplication::style(); + if (!style->styleHint(QStyle::SH_MenuBar_AltKeyNavigation) ) { + QSKIP(("This test is not supposed to work in the " + style->objectName().toLatin1() + + " style. Skipping.").constData()); + } + + QMainWindow w; + w.setWindowTitle(QTest::currentTestFunction()); + QMenu *menuFile = w.menuBar()->addMenu(tr("&File")); + menuFile->addAction("Quit"); + QMenu *menuEdit = w.menuBar()->addMenu(tr("&Edit")); + menuEdit->addAction("Copy"); + + w.show(); + w.move(QGuiApplication::primaryScreen()->availableGeometry().center()); + QApplication::setActiveWindow(&w); + QVERIFY(QTest::qWaitForWindowActive(&w)); + + QTest::keyClick(&w, Qt::Key_F, Qt::AltModifier); + QTRY_VERIFY(menuFile->isVisible()); + QTest::keyClick(menuFile, Qt::Key_Alt, Qt::AltModifier); + QTRY_VERIFY(!menuFile->isVisible()); + QTRY_VERIFY(!w.menuBar()->activeAction()); +} + // Qt/Mac,WinCE does not use the native popups/menubar #if !defined(Q_OS_MAC) && !defined(Q_OS_WINCE) void tst_QMenuBar::check_shortcutPress() |