From 58e459cde1a60365510f308d94405ce58c9b008d Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Thu, 11 Jun 2020 20:09:02 +0200 Subject: [PATCH] TaskDlgEditSketch: Remove unnecessary recompute =============================================== On Undo/Redo there should not be an unconditional recompute. The need for this recompute is probably related to the fact that PropertyConstraintList has invalid geometry keys. --- src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp | 22 +--------------------- src/Mod/Sketcher/Gui/TaskDlgEditSketch.h | 4 +--- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp index c61cbf241eab..f32a3f6f6385 100644 --- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp +++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp @@ -32,7 +32,6 @@ #include using namespace SketcherGui; -namespace bp = boost::placeholders; //************************************************************************** @@ -73,19 +72,10 @@ TaskDlgEditSketch::TaskDlgEditSketch(ViewProviderSketch *sketchView) Constraints->hideGroupBox(); if (!hGrp->GetBool("ExpandedElementsWidget",true)) Elements->hideGroupBox(); - - App::Document* document = sketchView->getObject()->getDocument(); - connectUndoDocument = - document->signalUndo.connect(boost::bind(&TaskDlgEditSketch::slotUndoDocument, this, bp::_1)); - connectRedoDocument = - document->signalRedo.connect(boost::bind(&TaskDlgEditSketch::slotRedoDocument, this, bp::_1)); } TaskDlgEditSketch::~TaskDlgEditSketch() { - connectUndoDocument.disconnect(); - connectRedoDocument.disconnect(); - // to make sure to delete the advanced solver panel // it must be part to the 'Content' array std::vector::iterator it = std::find(Content.begin(), Content.end(), SolverAdvanced); @@ -93,16 +83,6 @@ TaskDlgEditSketch::~TaskDlgEditSketch() Content.push_back(SolverAdvanced); } -void TaskDlgEditSketch::slotUndoDocument(const App::Document& doc) -{ - const_cast(doc).recomputeFeature(sketchView->getObject()); -} - -void TaskDlgEditSketch::slotRedoDocument(const App::Document& doc) -{ - const_cast(doc).recomputeFeature(sketchView->getObject()); -} - //==== calls from the TaskView =============================================================== @@ -129,7 +109,7 @@ bool TaskDlgEditSketch::reject() hGrp->SetBool("ExpandedEditControlWidget",General->isGroupVisible()); hGrp->SetBool("ExpandedConstraintsWidget",Constraints->isGroupVisible()); hGrp->SetBool("ExpandedElementsWidget",Elements->isGroupVisible()); - + std::string document = getDocumentName(); // needed because resetEdit() deletes this instance Gui::Command::doCommand(Gui::Command::Gui,"Gui.getDocument('%s').resetEdit()", document.c_str()); Gui::Command::doCommand(Gui::Command::Doc,"App.getDocument('%s').recompute()", document.c_str()); diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h index 9417ec383813..6138dab26df9 100644 --- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h +++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.h @@ -62,7 +62,7 @@ class SketcherGuiExport TaskDlgEditSketch : public Gui::TaskView::TaskDialog virtual bool isAllowedAlterDocument(void) const { return false; } - /// returns for Close and Help button + /// returns for Close and Help button virtual QDialogButtonBox::StandardButtons getStandardButtons(void) const { return QDialogButtonBox::Close; } @@ -77,8 +77,6 @@ class SketcherGuiExport TaskDlgEditSketch : public Gui::TaskView::TaskDialog TaskSketcherGeneral *General; TaskSketcherMessages *Messages; TaskSketcherSolverAdvanced *SolverAdvanced; - Connection connectUndoDocument; - Connection connectRedoDocument; };