Properly position groups and nodes once ungrouped

CURA-273 #Review
This commit is contained in:
Arjen Hiemstra 2015-10-16 17:40:36 +02:00
parent 886083d2eb
commit 63765eb522

View File

@ -471,12 +471,15 @@ class CuraApplication(QtApplication):
group_decorator = GroupDecorator() group_decorator = GroupDecorator()
group_node.addDecorator(group_decorator) group_node.addDecorator(group_decorator)
group_node.setParent(self.getController().getScene().getRoot()) group_node.setParent(self.getController().getScene().getRoot())
center = Selection.getSelectionCenter()
group_node.setPosition(center)
group_node.setCenterPosition(center)
for node in Selection.getAllSelectedObjects(): for node in Selection.getAllSelectedObjects():
world = node.getWorldPosition()
node.setParent(group_node) node.setParent(group_node)
group_node.setCenterPosition(group_node.getBoundingBox().center) node.setPosition(world - center)
#group_node.translate(Vector(0,group_node.getBoundingBox().center.y,0))
group_node.translate(group_node.getBoundingBox().center)
for node in group_node.getChildren(): for node in group_node.getChildren():
Selection.remove(node) Selection.remove(node)
@ -494,10 +497,9 @@ class CuraApplication(QtApplication):
children_to_move.append(child) children_to_move.append(child)
for child in children_to_move: for child in children_to_move:
position = child.getWorldPosition()
child.setParent(node.getParent()) child.setParent(node.getParent())
print(node.getPosition()) child.setPosition(position - node.getParent().getWorldPosition())
child.translate(node.getPosition())
child.setPosition(child.getPosition().scale(node.getScale()))
child.scale(node.getScale()) child.scale(node.getScale())
child.rotate(node.getOrientation()) child.rotate(node.getOrientation())