diff --git a/src/Mod/Path/Path/Op/Gui/Drilling.py b/src/Mod/Path/Path/Op/Gui/Drilling.py index 67b7a3b0d8..5502c17159 100644 --- a/src/Mod/Path/Path/Op/Gui/Drilling.py +++ b/src/Mod/Path/Path/Op/Gui/Drilling.py @@ -110,6 +110,8 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): self.peckRetractSpinBox.updateProperty() self.dwellTimeSpinBox.updateProperty() + if obj.KeepToolDown != self.form.KeepToolDownEnabled.isChecked(): + obj.KeepToolDown = self.form.KeepToolDownEnabled.isChecked() if obj.DwellEnabled != self.form.dwellEnabled.isChecked(): obj.DwellEnabled = self.form.dwellEnabled.isChecked() if obj.PeckEnabled != self.form.peckEnabled.isChecked(): @@ -127,6 +129,15 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): Path.Log.track() self.updateQuantitySpinBoxes() + if not hasattr(obj,"KeepToolDown"): + obj.addProperty("App::PropertyBool", "KeepToolDown", "Drill", + QtCore.QT_TRANSLATE_NOOP("App::Property", "Apply G99 retraction: only retract to RetractHeight between holes in this operation")) + + if obj.KeepToolDown: + self.form.KeepToolDownEnabled.setCheckState(QtCore.Qt.Checked) + else: + self.form.KeepToolDownEnabled.setCheckState(QtCore.Qt.Unchecked) + if obj.DwellEnabled: self.form.dwellEnabled.setCheckState(QtCore.Qt.Checked) else: @@ -161,7 +172,8 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): signals.append(self.form.toolController.currentIndexChanged) signals.append(self.form.coolantController.currentIndexChanged) signals.append(self.form.ExtraOffset.currentIndexChanged) - + signals.append(self.form.KeepToolDownEnabled.stateChanged) + return signals def updateData(self, obj, prop):