Friedemann Kleint c9c585b067 hellogl2 example: Decouple mainwindow from window
The circular dependency cannot be ported to the corresponding Python
example.

Task-number: PYSIDE-2206
Change-Id: I031b3fffdd7bd677d2fc55e132975a65f66ad128
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 62eaaeb4f58388dc56cb1b23beae892e2fd6df89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6c9ecf98e1624c3eb359e76563c92429ea9c6aa1)
2023-09-25 13:35:40 +02:00

31 lines
888 B
C++

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "mainwindow.h"
#include "window.h"
#include <QApplication>
#include <QKeySequence>
#include <QMenuBar>
#include <QMenu>
#include <QMessageBox>
MainWindow::MainWindow()
{
QMenu *menuWindow = menuBar()->addMenu(tr("&Window"));
menuWindow->addAction(tr("Add new"), QKeySequence(Qt::CTRL | Qt::Key_N),
this, &MainWindow::onAddNew);
menuWindow->addAction(tr("Quit"), QKeySequence(Qt::CTRL | Qt::Key_Q),
qApp, QApplication::closeAllWindows);
onAddNew();
}
void MainWindow::onAddNew()
{
if (!centralWidget())
setCentralWidget(new Window);
else
QMessageBox::information(this, tr("Cannot Add New Window"),
tr("Already occupied. Undock first."));
}