diff --git a/src/Mod/Path/PathScripts/PathPocketShape.py b/src/Mod/Path/PathScripts/PathPocketShape.py index d4c1a9ef60..f116a094f7 100644 --- a/src/Mod/Path/PathScripts/PathPocketShape.py +++ b/src/Mod/Path/PathScripts/PathPocketShape.py @@ -188,6 +188,9 @@ class ObjectPocket(PathPocketBase.ObjectPocket): obj.addProperty('App::PropertyDistance', 'ExtensionLengthDefault', 'Extension', QtCore.QT_TRANSLATE_NOOP('PathPocketShape', 'Default length of extensions.')) if not hasattr(obj, 'ExtensionFeature'): obj.addProperty('App::PropertyLinkSubListGlobal', 'ExtensionFeature', 'Extension', QtCore.QT_TRANSLATE_NOOP('PathPocketShape', 'List of features to extend.')) + if not hasattr(obj, 'ExtensionCorners'): + obj.addProperty('App::PropertyBool', 'ExtensionCorners', 'Extension', QtCore.QT_TRANSLATE_NOOP('PathPocketShape', 'When enabled connected extension edges are combined to wires.')) + obj.UseOutline = True obj.setEditorMode('ExtensionFeature', 2) diff --git a/src/Mod/Path/PathScripts/PathPocketShapeGui.py b/src/Mod/Path/PathScripts/PathPocketShapeGui.py index fc7d99176d..b2c9ed75ab 100644 --- a/src/Mod/Path/PathScripts/PathPocketShapeGui.py +++ b/src/Mod/Path/PathScripts/PathPocketShapeGui.py @@ -190,6 +190,8 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): def getFields(self, obj): PathLog.track(obj.Label, self.model.rowCount(), self.model.columnCount()) + if obj.ExtensionCorners != self.form.extendCorners.isChecked(): + obj.ExtensionCorners = self.form.extendCorners.isChecked() self.defaultLength.updateProperty() extensions = [] @@ -206,6 +208,8 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): def setFields(self, obj): PathLog.track(obj.Label) + if obj.ExtensionCorners != self.form.extendCorners.isChecked(): + self.form.extendCorners.toggle() self.defaultLength.updateSpinBox() self.extensions = obj.Proxy.getExtensions(obj) self.setExtensions(self.extensions) @@ -409,6 +413,11 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): self.forAllItemsCall(disableExtensionEdit) #self.setDirty() + def toggleExtensionCorners(self): + self.setExtensions(self.obj.Proxy.getExtensions(self.obj)) + self.selectionChanged() + self.setDirty() + def getSignalsForUpdate(self, obj): PathLog.track(obj.Label) signals = [] @@ -417,7 +426,7 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): def registerSignalHandlers(self, obj): self.form.showExtensions.clicked.connect(self.showHideExtension) - self.form.extendCorners.clicked.connect(lambda : self.setExtensions(obj.Proxy.getExtensions(obj))) + self.form.extendCorners.clicked.connect(self.toggleExtensionCorners) self.form.buttonClear.clicked.connect(self.extensionsClear) self.form.buttonDisable.clicked.connect(self.extensionsDisable) self.form.buttonEnable.clicked.connect(self.extensionsEnable)