- Shorten menu code, add keyboard shortcuts and a quit action. - Avoid calls to setLayout(). - Pass a parent to message boxes. - Use the current screen for size calculation and consider availableGeometry(). - Prevent closing by the Escape key in docked mode. - Split the dockUndock() function into dock()/undock() for clarity Change-Id: I007da3bff86ee3f2dc8f87379e5d2ba2f0f6f3d7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 6f8398c8eb5476a6e98126d5b63421896b874271) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 734db610c3db3f00775d518b63d94695a2654389)
31 lines
894 B
C++
31 lines
894 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(this));
|
|
else
|
|
QMessageBox::information(this, tr("Cannot Add New Window"),
|
|
tr("Already occupied. Undock first."));
|
|
}
|