summaryrefslogtreecommitdiffstats
path: root/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-04 14:03:10 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-04 14:03:11 +0200
commit464a43d43c2bb2440d4ad745bc134e0dac10872c (patch)
treeb1c27b1d1c11f9c43bd2e62e1fd955bc6f89029f /tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp
parent0208cac94fbd79fc563c903e2b973d79f9644b82 (diff)
parent877ef0594d94f48bf063446b1f8a4b5e1941a8cd (diff)
Merge 5.9 into 5.9.0v5.9.0-beta4
Diffstat (limited to 'tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp')
-rw-r--r--tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp
new file mode 100644
index 0000000000..a53eda37fa
--- /dev/null
+++ b/tests/manual/widgets/widgets/multiscreen-menus/mainwindow.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include <QtGui/QtEvents>
+
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+{
+ ui->setupUi(this);
+ setStyleSheet("QMenu { menu-scrollable: 0 }");
+
+ auto *mb = new QMenuBar(this);
+ setMenuBar(mb);
+
+ auto *m = new QMenu(mb);
+ m->setTitle("&Menu");
+ m->setTearOffEnabled(true);
+
+ for (int i = 0; i < 80; ++i)
+ m->addAction("Menu Item #" + QString::number(i));
+
+ mb->addMenu(m);
+
+ ui->menuButton->setMenu(m);
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+
+void MainWindow::contextMenuEvent(QContextMenuEvent *e)
+{
+ const auto *mb = menuBar();
+ mb->actions().first()->menu()->popup(mb->mapToGlobal(e->pos()));
+}