From 26901a8dbd91a18689199361541f9d1f90d56e4e Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Mon, 30 Jul 2018 11:15:08 +0200 Subject: Undo: disable undo- and redo-actions in edit mode We have to avoid that undo/redo removes the currently edited dive from under our feet. This code can be removed once proper undo/redo (including editing) is implemented. Signed-off-by: Berthold Stoeger --- desktop-widgets/mainwindow.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'desktop-widgets/mainwindow.cpp') diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 05839824a..376d2e7f3 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -260,14 +260,11 @@ MainWindow::MainWindow() : QMainWindow(), memset(&what, 0, sizeof(what)); updateManager = new UpdateManager(this); - QAction *undoAction = Command::undoAction(this); - QAction *redoAction = Command::redoAction(this); + undoAction = Command::undoAction(this); + redoAction = Command::redoAction(this); undoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z)); redoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Z)); - QListundoRedoActions; - undoRedoActions.append(undoAction); - undoRedoActions.append(redoAction); - ui.menu_Edit->addActions(undoRedoActions); + ui.menu_Edit->addActions({ undoAction, redoAction }); ReverseGeoLookupThread *geoLookup = ReverseGeoLookupThread::instance(); connect(geoLookup, SIGNAL(started()),information(), SLOT(disableGeoLookupEdition())); @@ -1184,6 +1181,8 @@ void MainWindow::on_actionViewAll_triggered() void MainWindow::enterEditState() { + undoAction->setEnabled(false); + redoAction->setEnabled(false); stateBeforeEdit = state; if (state == VIEWALL || state == INFO_MAXIMIZED) return; @@ -1207,6 +1206,8 @@ void MainWindow::enterEditState() void MainWindow::exitEditState() { + undoAction->setEnabled(true); + redoAction->setEnabled(true); if (stateBeforeEdit == state) return; enterState(stateBeforeEdit); -- cgit v1.2.3-70-g09d2