From ce0c9d8f59559048818233c09b73366a3177f8e2 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 13 Nov 2020 12:33:59 +0100 Subject: [PATCH] Part: [skip ci] show dialog directly when creating a tube feature --- src/Mod/Part/BasicShapes/CommandShapes.py | 4 ++-- src/Mod/Part/BasicShapes/ViewProviderShapes.py | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Mod/Part/BasicShapes/CommandShapes.py b/src/Mod/Part/BasicShapes/CommandShapes.py index 3663814cde..1b2601f2f5 100644 --- a/src/Mod/Part/BasicShapes/CommandShapes.py +++ b/src/Mod/Part/BasicShapes/CommandShapes.py @@ -52,9 +52,9 @@ class CommandTube: FreeCAD.ActiveDocument.openTransaction(text) tube = FreeCAD.ActiveDocument.addObject("Part::FeaturePython","Tube") Shapes.TubeFeature(tube) - ViewProviderShapes.ViewProviderTube(tube.ViewObject) - FreeCAD.ActiveDocument.commitTransaction() + vp = ViewProviderShapes.ViewProviderTube(tube.ViewObject) FreeCAD.ActiveDocument.recompute() + vp.startDefaultEditMode(tube.ViewObject) def IsActive(self): return not FreeCAD.ActiveDocument is None diff --git a/src/Mod/Part/BasicShapes/ViewProviderShapes.py b/src/Mod/Part/BasicShapes/ViewProviderShapes.py index 6261e3af0f..787d6ae011 100644 --- a/src/Mod/Part/BasicShapes/ViewProviderShapes.py +++ b/src/Mod/Part/BasicShapes/ViewProviderShapes.py @@ -47,9 +47,10 @@ class ViewProviderTube: return False def startDefaultEditMode(self, viewObject): - text = FreeCAD.Qt.translate("QObject", "Edit %1").replace("%1", viewObject.Object.Label) document = viewObject.Document.Document - document.openTransaction(text) + if not document.HasPendingTransaction: + text = FreeCAD.Qt.translate("QObject", "Edit %1").replace("%1", viewObject.Object.Label) + document.openTransaction(text) viewObject.Document.setEdit(viewObject.Object, 0) def setEdit(self, viewObject, mode): @@ -117,8 +118,9 @@ class TaskTubeUI: return True def reject(self): - document = self.viewObject.Document.Document + guidocument = self.viewObject.Document + document = guidocument.Document document.abortTransaction() document.recompute() - self.viewObject.Document.resetEdit() + guidocument.resetEdit() return True