From 79d3351855ea055bed0b5b752a4a6fed51a27f9b Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Tue, 2 Jan 2018 16:57:39 +0300 Subject: QMenuBar: Add overloads of addAction() using Qt 5 signals and slots [ChangeLog][QtWidgets][QMenuBar] Add overloads of addAction() using Qt 5 signals and slots Change-Id: Ief21974213b80111f0ca87df490eb72dd6b9c9b9 Reviewed-by: Martin Smith --- .../auto/widgets/widgets/qmenubar/tst_qmenubar.cpp | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'tests') diff --git a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp index 96a64b18c1..26ef228130 100644 --- a/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp +++ b/tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp @@ -153,6 +153,8 @@ private slots: void platformMenu(); + void addActionQt5connect(); + protected slots: void onSimpleActivated( QAction*); void onComplexActionTriggered(); @@ -1595,6 +1597,42 @@ void tst_QMenuBar::platformMenu() QVERIFY(menu->platformMenu()); } +class TestObject : public QObject +{ + Q_OBJECT +public: + bool flag = false; + void setFlag() + { + flag = true; + } +}; + +void tst_QMenuBar::addActionQt5connect() +{ + bool flag = false; + auto functor = [&flag](){ flag = true; }; + + TestObject obj; + + QMenuBar menuBar; + + auto action1 = menuBar.addAction(QStringLiteral("1"), &obj, &TestObject::setFlag); + auto action2 = menuBar.addAction(QStringLiteral("2"), functor); + + action1->activate(QAction::Trigger); + action2->activate(QAction::Trigger); + + QVERIFY(obj.flag); + QVERIFY(flag); + + flag = false; + + auto action3 = menuBar.addAction(QStringLiteral("3"), this, functor); + action3->activate(QAction::Trigger); + QVERIFY(flag); +} + void tst_QMenuBar::slotForTaskQTBUG53205() { QWidget *parent = taskQTBUG53205MenuBar->parentWidget(); -- cgit v1.2.3