ui: Added close window shortcut and menu action to close the active window

This commit is contained in:
Eberhard Graether
2014-07-28 02:33:08 +02:00
parent 95929db6e0
commit ecd17c17a0
2 changed files with 24 additions and 11 deletions
+22 -10
View File
@@ -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);
+2 -1
View File
@@ -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;