aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Grace Karanja <gracie.karanja89@gmail.com>2015-02-11 09:26:17 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-02-11 08:00:39 -0800
commitef14798d6d5e575a08aa8affc0815962813ecf29 (patch)
treec32ea22fb11a25b389344298f922081629e40271 /qt-ui
parent013da6b0af3e3dd5d074f2dbbc342d9b948717b4 (diff)
downloadsubsurface-ef14798d6d5e575a08aa8affc0815962813ecf29.tar.gz
Add undo stack
Add an instance of QUndoStack in the mainwindow, and add undo/redo actions in the edit menu. The QUndoStack will have a collection of QUndoCommands to process the undo and redo events. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/mainwindow.cpp11
-rw-r--r--qt-ui/mainwindow.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 9908e2402..a0e4f128d 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -36,6 +36,7 @@
#include "usermanual.h"
#endif
#include <QNetworkProxy>
+#include <QUndoStack>
MainWindow *MainWindow::m_Instance = NULL;
@@ -180,6 +181,16 @@ MainWindow::MainWindow() : QMainWindow(),
toolBar->setContentsMargins(zeroMargins);
updateManager = new UpdateManager(this);
+
+ undoStack = new QUndoStack(this);
+ QAction *undoAction = undoStack->createUndoAction(this, tr("&Undo"));
+ QAction *redoAction = undoStack->createRedoAction(this, tr("&Redo"));
+ undoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z));
+ redoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Z));
+ QList<QAction*>undoRedoActions;
+ undoRedoActions.append(undoAction);
+ undoRedoActions.append(redoAction);
+ ui.menu_Edit->addActions(undoRedoActions);
}
MainWindow::~MainWindow()
diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h
index 5ee085c29..25771d650 100644
--- a/qt-ui/mainwindow.h
+++ b/qt-ui/mainwindow.h
@@ -34,6 +34,7 @@ class DivePlannerWidget;
class ProfileWidget2;
class PlannerDetails;
class PlannerSettingsWidget;
+class QUndoStack;
enum MainWindowTitleFormat {
MWTF_DEFAULT,
@@ -88,6 +89,7 @@ public:
void printPlan();
void checkSurvey(QSettings *s);
void setApplicationState(const QByteArray& state);
+ QUndoStack *undoStack;
private
slots:
/* file menu action */