From f0a12083473c8bff6764a9ee8dea25e4d9cda0b4 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 b5f0166d5d..3cd5c5e61e 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)