diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-03-02 10:50:24 +0100 |
---|---|---|
committer | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2020-04-07 00:13:35 +0200 |
commit | 3965ae2c89d30e424e52cb17cd6ecaf9e46ec0f0 (patch) | |
tree | dad70721d41cd9836cf2fc8d16a6b0a5e122e674 | |
parent | fe926d35f421af4d671f53a794941e5f936bd14f (diff) | |
download | subsurface-3965ae2c89d30e424e52cb17cd6ecaf9e46ec0f0.tar.gz |
desktop: move undo-disabling from enterEditState to disableShortcuts
When entering the edit state, we don't want the user to be able
to undo/redo lest things become inconsistent. Since the only way
to enter edit state is to edit the profile, we can simply use
the disableShortcuts() function that is used by the profile
when it goes into edit state.
This has one desirable side-effect: Undo is now also disabled in
the planner. Undo during planning likewise can lead to inconsistent
state.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
-rw-r--r-- | desktop-widgets/mainwindow.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index e1d87b7e6..bbeb61f70 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -710,6 +710,8 @@ void MainWindow::on_actionPrint_triggered() void MainWindow::disableShortcuts(bool disablePaste) { + undoAction->setEnabled(false); + redoAction->setEnabled(false); ui.actionPreviousDC->setShortcut(QKeySequence()); ui.actionNextDC->setShortcut(QKeySequence()); ui.copy->setShortcut(QKeySequence()); @@ -719,6 +721,8 @@ void MainWindow::disableShortcuts(bool disablePaste) void MainWindow::enableShortcuts() { + undoAction->setEnabled(true); + redoAction->setEnabled(true); ui.actionPreviousDC->setShortcut(Qt::Key_Left); ui.actionNextDC->setShortcut(Qt::Key_Right); ui.copy->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C)); @@ -1090,8 +1094,6 @@ void MainWindow::on_actionViewAll_triggered() void MainWindow::enterEditState() { - undoAction->setEnabled(false); - redoAction->setEnabled(false); stateBeforeEdit = state; if (state == VIEWALL || state == INFO_MAXIMIZED) return; @@ -1115,8 +1117,6 @@ void MainWindow::enterEditState() void MainWindow::exitEditState() { - undoAction->setEnabled(true); - redoAction->setEnabled(true); if (stateBeforeEdit == state) return; enterState(stateBeforeEdit); |