summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAnton Kudryavtsev <anton.kudryavtsev@corp.mail.ru>2018-01-02 16:57:39 +0300
committerAnton Kudryavtsev <antkudr@mail.ru>2018-01-06 18:48:54 +0000
commit79d3351855ea055bed0b5b752a4a6fed51a27f9b (patch)
treeb267a927fa48311e1a3373e095b9dd0ba4abbba3 /tests
parentf99d2b21b8fc867f0ed21dcbfa47865ad013db97 (diff)
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 <martin.smith@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp38
1 files changed, 38 insertions, 0 deletions
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();