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