From 93e56689673d86be0c8a1b890fa82cc11c6e814b Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 26 Dec 2014 22:46:02 +0100 Subject: [PATCH] + make undo/redo accessible from drawing view --- src/Mod/Drawing/Gui/DrawingView.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/Mod/Drawing/Gui/DrawingView.cpp b/src/Mod/Drawing/Gui/DrawingView.cpp index b5f0166d5d3b..3cd5c5e61e72 100644 --- a/src/Mod/Drawing/Gui/DrawingView.cpp +++ b/src/Mod/Drawing/Gui/DrawingView.cpp @@ -327,6 +327,20 @@ bool DrawingView::onMsg(const char* pMsg, const char** ppReturn) return true; } } + else if(strcmp("Undo",pMsg) == 0 ) { + Gui::Document *doc = getGuiDocument(); + if (doc) { + doc->undo(1); + return true; + } + } + else if(strcmp("Redo",pMsg) == 0 ) { + Gui::Document *doc = getGuiDocument(); + if (doc) { + doc->redo(1); + return true; + } + } return false; } @@ -338,6 +352,14 @@ bool DrawingView::onHasMsg(const char* pMsg) const return getGuiDocument() != 0; else if (strcmp("SaveAs",pMsg) == 0) return getGuiDocument() != 0; + else if (strcmp("Undo",pMsg) == 0) { + App::Document* doc = getAppDocument(); + return doc && doc->getAvailableUndos() > 0; + } + else if (strcmp("Redo",pMsg) == 0) { + App::Document* doc = getAppDocument(); + return doc && doc->getAvailableRedos() > 0; + } else if (strcmp("Print",pMsg) == 0) return true; else if (strcmp("PrintPreview",pMsg) == 0)