Merge pull request #4907 from Roy-043/Draft_fix_move_alt_copy_mode
Draft: Fix Draft_Move Alt copy mode
This commit is contained in:
@@ -165,7 +165,8 @@ class Move(gui_base_original.Modifier):
|
||||
else:
|
||||
last = self.node[0]
|
||||
self.vector = self.point.sub(last)
|
||||
self.move()
|
||||
self.move(self.ui.isCopy.isChecked()
|
||||
or gui_tool_utils.hasMod(arg, gui_tool_utils.MODALT))
|
||||
if gui_tool_utils.hasMod(arg, gui_tool_utils.MODALT):
|
||||
self.extendedCopy = True
|
||||
else:
|
||||
@@ -187,17 +188,17 @@ class Move(gui_base_original.Modifier):
|
||||
or isinstance(subelement, Part.Edge)):
|
||||
self.ghosts.append(trackers.ghostTracker(subelement))
|
||||
|
||||
def move(self):
|
||||
def move(self, is_copy=False):
|
||||
"""Perform the move of the subelements or the entire object."""
|
||||
if self.ui.isSubelementMode.isChecked():
|
||||
self.move_subelements()
|
||||
self.move_subelements(is_copy)
|
||||
else:
|
||||
self.move_object()
|
||||
self.move_object(is_copy)
|
||||
|
||||
def move_subelements(self):
|
||||
def move_subelements(self, is_copy):
|
||||
"""Move the subelements."""
|
||||
try:
|
||||
if self.ui.isCopy.isChecked():
|
||||
if is_copy:
|
||||
self.commit(translate("draft", "Copy"),
|
||||
self.build_copy_subelements_command())
|
||||
else:
|
||||
@@ -263,7 +264,7 @@ class Move(gui_base_original.Modifier):
|
||||
command.append('FreeCAD.ActiveDocument.recompute()')
|
||||
return command
|
||||
|
||||
def move_object(self):
|
||||
def move_object(self, is_copy):
|
||||
"""Move the object."""
|
||||
_doc = 'FreeCAD.ActiveDocument.'
|
||||
_selected = self.selected_objects
|
||||
@@ -277,12 +278,12 @@ class Move(gui_base_original.Modifier):
|
||||
_cmd += '('
|
||||
_cmd += objects + ', '
|
||||
_cmd += DraftVecUtils.toString(self.vector) + ', '
|
||||
_cmd += 'copy=' + str(self.ui.isCopy.isChecked())
|
||||
_cmd += 'copy=' + str(is_copy)
|
||||
_cmd += ')'
|
||||
_cmd_list = [_cmd,
|
||||
'FreeCAD.ActiveDocument.recompute()']
|
||||
|
||||
_mode = "Copy" if self.ui.isCopy.isChecked() else "Move"
|
||||
_mode = "Copy" if is_copy else "Move"
|
||||
self.commit(translate("draft", _mode),
|
||||
_cmd_list)
|
||||
|
||||
@@ -303,7 +304,7 @@ class Move(gui_base_original.Modifier):
|
||||
else:
|
||||
last = self.node[-1]
|
||||
self.vector = self.point.sub(last)
|
||||
self.move()
|
||||
self.move(self.ui.isCopy.isChecked())
|
||||
self.finish()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user