From 9846bbc014d0b311307cd3647284f7abf3898b2a Mon Sep 17 00:00:00 2001 From: Andreas Stallinger Date: Wed, 22 Mar 2017 17:49:47 +0100 Subject: [PATCH] ui: Enable/Disable undo/redo contextmenu --- src/lib_gui/qt/element/QtUndoRedo.cpp | 4 ++++ src/lib_gui/qt/utility/QtContextMenu.cpp | 10 ++++++++++ src/lib_gui/qt/utility/QtContextMenu.h | 3 +++ 3 files changed, 17 insertions(+) diff --git a/src/lib_gui/qt/element/QtUndoRedo.cpp b/src/lib_gui/qt/element/QtUndoRedo.cpp index ea372091..043ece44 100644 --- a/src/lib_gui/qt/element/QtUndoRedo.cpp +++ b/src/lib_gui/qt/element/QtUndoRedo.cpp @@ -8,6 +8,7 @@ #include "utility/ResourcePaths.h" #include "qt/utility/utilityQt.h" +#include "qt/utility/QtContextMenu.h" #include "settings/ApplicationSettings.h" QtUndoRedo::QtUndoRedo() @@ -57,11 +58,14 @@ void QtUndoRedo::redo() void QtUndoRedo::setUndoButtonEnabled(bool enabled) { m_undoButton->setEnabled(enabled); + QtContextMenu::enableUndo(enabled); + } void QtUndoRedo::setRedoButtonEnabled(bool enabled) { m_redoButton->setEnabled(enabled); + QtContextMenu::enableRedo(enabled); } void QtUndoRedo::refreshStyle() diff --git a/src/lib_gui/qt/utility/QtContextMenu.cpp b/src/lib_gui/qt/utility/QtContextMenu.cpp index 489a9582..177de73a 100644 --- a/src/lib_gui/qt/utility/QtContextMenu.cpp +++ b/src/lib_gui/qt/utility/QtContextMenu.cpp @@ -56,6 +56,16 @@ void QtContextMenu::addAction(QAction* action) m_menu.addAction(action); } +void QtContextMenu::enableUndo(bool enabled) +{ + s_undoAction->setEnabled(enabled); +} + +void QtContextMenu::enableRedo(bool enabled) +{ + s_redoAction->setEnabled(enabled); +} + void QtContextMenu::addUndoActions() { addAction(s_undoAction); diff --git a/src/lib_gui/qt/utility/QtContextMenu.h b/src/lib_gui/qt/utility/QtContextMenu.h index e5be6781..8440da6d 100644 --- a/src/lib_gui/qt/utility/QtContextMenu.h +++ b/src/lib_gui/qt/utility/QtContextMenu.h @@ -25,6 +25,9 @@ public: void show(); + static void enableUndo(bool enabled); + static void enableRedo(bool enabled); + private slots: void undoActionTriggered(); void redoActionTriggered();