summaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.cpp
diff options
context:
space:
mode:
authorGravatar Grace Karanja <gracie.karanja89@gmail.com>2015-02-09 09:24:32 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-02-09 21:02:13 -0800
commitc5138b2090e50cf76a51af1c561a31b5e01485db (patch)
tree1b1673e4b9b9cddc95d693776c89e49a84ca0b03 /qt-ui/mainwindow.cpp
parent853dfa66735db874cc16688e6fd9ad9320474e37 (diff)
downloadsubsurface-c5138b2090e50cf76a51af1c561a31b5e01485db.tar.gz
Add menu entries for undo/redo
Add an edit menu with undo and redo submenus, and connect them to the UndoBuffer class. The submenus are only enabled when needed. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/mainwindow.cpp')
-rw-r--r--qt-ui/mainwindow.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 3142f5a82..57af5e091 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -31,6 +31,7 @@
#include "usermanual.h"
#endif
#include <QNetworkProxy>
+#include "undobuffer.h"
MainWindow *MainWindow::m_Instance = NULL;
@@ -77,6 +78,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(DivePlannerPointsModel::instance(), SIGNAL(planCreated()), this, SLOT(planCreated()));
connect(DivePlannerPointsModel::instance(), SIGNAL(planCanceled()), this, SLOT(planCanceled()));
connect(ui.printPlan, SIGNAL(pressed()), ui.divePlannerWidget, SLOT(printDecoPlan()));
+ connect(ui.menu_Edit, SIGNAL(aboutToShow()), this, SLOT(checkForUndoAndRedo()));
#ifdef NO_PRINTING
ui.printPlan->hide();
#endif
@@ -152,6 +154,7 @@ MainWindow::MainWindow() : QMainWindow(),
toolBar->setContentsMargins(zeroMargins);
updateManager = new UpdateManager(this);
+ undoBuffer = new UndoBuffer(this);
}
MainWindow::~MainWindow()
@@ -1466,3 +1469,19 @@ void MainWindow::on_actionFilterTags_triggered()
else
ui.multiFilter->setVisible(true);
}
+
+void MainWindow::on_action_Undo_triggered()
+{
+ undoBuffer->undo();
+}
+
+void MainWindow::on_action_Redo_triggered()
+{
+ undoBuffer->redo();
+}
+
+void MainWindow::checkForUndoAndRedo()
+{
+ ui.action_Undo->setEnabled(undoBuffer->canUndo());
+ ui.action_Redo->setEnabled(undoBuffer->canRedo());
+}