ui: Added close window shortcut and menu action to close the active window
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include "qt/element/QtMainWindow.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QApplication>
|
||||
#include <QFileDialog>
|
||||
#include <QDockWidget>
|
||||
#include <QMenuBar>
|
||||
@@ -21,8 +21,8 @@ QtMainWindow::QtMainWindow()
|
||||
setCentralWidget(nullptr);
|
||||
|
||||
setupProjectMenu();
|
||||
setupFindMenu();
|
||||
setupViewMenu();
|
||||
setupFindMenu();
|
||||
setupHelpMenu();
|
||||
}
|
||||
|
||||
@@ -76,6 +76,17 @@ void QtMainWindow::find()
|
||||
MessageFind().dispatch();
|
||||
}
|
||||
|
||||
void QtMainWindow::closeWindow()
|
||||
{
|
||||
QApplication* app = dynamic_cast<QApplication*>(QCoreApplication::instance());
|
||||
|
||||
QWidget* activeWindow = app->activeWindow();
|
||||
if (activeWindow)
|
||||
{
|
||||
activeWindow->close();
|
||||
}
|
||||
}
|
||||
|
||||
void QtMainWindow::refresh()
|
||||
{
|
||||
MessageRefresh().dispatch();
|
||||
@@ -176,6 +187,15 @@ void QtMainWindow::setupProjectMenu()
|
||||
menu->addAction(tr("E&xit"), QCoreApplication::instance(), SLOT(quit()), QKeySequence::Quit);
|
||||
}
|
||||
|
||||
void QtMainWindow::setupViewMenu()
|
||||
{
|
||||
QMenu *menu = new QMenu(tr("&View"), this);
|
||||
menuBar()->addMenu(menu);
|
||||
|
||||
menu->addAction(tr("&Close Window"), this, SLOT(closeWindow()), QKeySequence::Close);
|
||||
menu->addAction(tr("&Refresh"), this, SLOT(refresh()), QKeySequence::Refresh);
|
||||
}
|
||||
|
||||
void QtMainWindow::setupFindMenu()
|
||||
{
|
||||
QMenu *menu = new QMenu(tr("&Find"), this);
|
||||
@@ -184,14 +204,6 @@ void QtMainWindow::setupFindMenu()
|
||||
menu->addAction(tr("&Find"), this, SLOT(find()), QKeySequence::Find);
|
||||
}
|
||||
|
||||
void QtMainWindow::setupViewMenu()
|
||||
{
|
||||
QMenu *menu = new QMenu(tr("&View"), this);
|
||||
menuBar()->addMenu(menu);
|
||||
|
||||
menu->addAction(tr("&Refresh"), this, SLOT(refresh()), QKeySequence::Refresh);
|
||||
}
|
||||
|
||||
void QtMainWindow::setupHelpMenu()
|
||||
{
|
||||
QMenu *menu = new QMenu(tr("&Help"), this);
|
||||
|
||||
@@ -31,12 +31,13 @@ public slots:
|
||||
void newProject();
|
||||
void openProject(const QString &path = QString());
|
||||
void find();
|
||||
void closeWindow();
|
||||
void refresh();
|
||||
|
||||
private:
|
||||
void setupProjectMenu();
|
||||
void setupFindMenu();
|
||||
void setupViewMenu();
|
||||
void setupFindMenu();
|
||||
void setupHelpMenu();
|
||||
|
||||
QDockWidget* getDockWidgetForView(View* view) const;
|
||||
|
||||
Reference in New Issue
Block a user