Merge pull request #4389 from marioalexis84/draft-close_button

[0.20] [Draft] Call finish method if Close button is pressed in dumb taskdialog
This commit is contained in:
Yorik van Havre
2021-04-20 11:36:03 +02:00
committed by GitHub
17 changed files with 28 additions and 24 deletions

View File

@@ -75,7 +75,7 @@ class Clone(gui_base_original.Modifier):
super(Clone, self).Activated(name=translate("draft","Clone"))
if not Gui.Selection.getSelection():
if self.ui:
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to clone"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -63,7 +63,7 @@ class Downgrade(gui_base_original.Modifier):
super(Downgrade, self).Activated(name=translate("draft","Downgrade"))
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to upgrade"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -62,7 +62,7 @@ class Draft2Sketch(gui_base_original.Modifier):
super(Draft2Sketch, self).Activated(name=translate("draft","Convert Draft/Sketch"))
if not Gui.Selection.getSelection():
if self.ui:
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to convert."))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -300,7 +300,7 @@ class Edit(gui_base_original.Modifier):
if Gui.Selection.getSelection():
self.proceed()
else:
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
App.Console.PrintMessage(translate("draft",
"Select a Draft object to edit")
+ "\n")

View File

@@ -67,7 +67,7 @@ class Facebinder(gui_base_original.Creator):
if not Gui.Selection.getSelection():
if self.ui:
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select faces from existing objects"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -72,7 +72,7 @@ class Join(gui_base_original.Modifier):
if not self.ui:
return
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to join"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -70,7 +70,7 @@ class Mirror(gui_base_original.Modifier):
self.ghost = None
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to mirror"))
self.call = \
self.view.addEventCallback("SoEvent",

View File

@@ -78,7 +78,7 @@ class Move(gui_base_original.Modifier):
"""Get the object selection."""
if Gui.Selection.getSelectionEx():
return self.proceed()
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to move"))
self.call = \
self.view.addEventCallback("SoEvent", gui_tool_utils.selectObject)

View File

@@ -72,7 +72,7 @@ class Offset(gui_base_original.Modifier):
self.arctrack = None
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to offset"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -75,7 +75,7 @@ class Rotate(gui_base_original.Modifier):
"""Get the object selection."""
if Gui.Selection.getSelection():
return self.proceed()
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to rotate"))
self.call = \
self.view.addEventCallback("SoEvent", gui_tool_utils.selectObject)

View File

@@ -84,7 +84,7 @@ class Scale(gui_base_original.Modifier):
"""Get object selection and proceed if successful."""
if Gui.Selection.getSelection():
return self.proceed()
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to scale"))
self.call = self.view.addEventCallback("SoEvent",
gui_tool_utils.selectObject)

View File

@@ -91,6 +91,7 @@ class Draft_SelectPlane:
# Create task panel
FreeCADGui.Control.closeDialog()
self.taskd = task_selectplane.SelectPlaneTaskPanel()
self.taskd.reject = self.reject
# Fill values
self.taskd.form.checkCenter.setChecked(self.param.GetBool("CenterPlaneOnView", False))

View File

@@ -64,7 +64,7 @@ class Shape2DView(gui_base_original.Modifier):
super(Shape2DView, self).Activated(name=translate("draft","Project 2D view"))
if not Gui.Selection.getSelection():
if self.ui:
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to project"))
self.call = self.view.addEventCallback(
"SoEvent",

View File

@@ -67,9 +67,11 @@ class Stretch(gui_base_original.Modifier):
def Activated(self):
"""Execute when the command is called."""
super(Stretch, self).Activated(name=translate("draft","Stretch"))
self.rectracker = None
self.nodetracker = None
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to stretch"))
self.call = \
self.view.addEventCallback("SoEvent",
@@ -251,9 +253,9 @@ class Stretch(gui_base_original.Modifier):
def finish(self, closed=False):
"""Terminate the operation of the command. and clean up."""
if hasattr(self, "rectracker") and self.rectracker:
if self.rectracker:
self.rectracker.finalize()
if hasattr(self, "nodetracker") and self.nodetracker:
if self.nodetracker:
for n in self.nodetracker:
n.finalize()
super(Stretch, self).finish()

View File

@@ -87,7 +87,7 @@ class Trimex(gui_base_original.Modifier):
self.width = None
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select objects to trim or extend"))
self.call = \
self.view.addEventCallback("SoEvent",

View File

@@ -63,7 +63,7 @@ class Upgrade(gui_base_original.Modifier):
super(Upgrade, self).Activated(name=translate("draft","Upgrade"))
if self.ui:
if not Gui.Selection.getSelection():
self.ui.selectUi()
self.ui.selectUi(on_close_call=self.finish)
_msg(translate("draft", "Select an object to upgrade"))
self.call = self.view.addEventCallback(
"SoEvent",