Skip to content

Commit 22d38ea

Browse files
author
Fabien Servant
committed
Manual align
1 parent 11aae7e commit 22d38ea

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

meshroom/ui/graph.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -690,6 +690,29 @@ def moveSelectedNodesBy(self, offset: QPoint):
690690
position = Position(node.x + offset.x(), node.y + offset.y())
691691
self.moveNode(node, position)
692692

693+
@Slot()
694+
def alignVertically(self):
695+
""" All nodes are moved vertically to the same position than the firstly selected node """
696+
selectedNodes = self.getSelectedNodes()
697+
698+
if len(selectedNodes) < 2:
699+
return
700+
701+
for selectedNode in selectedNodes:
702+
self.moveNode(selectedNode, Position(selectedNode.x, selectedNodes[0].y))
703+
704+
@Slot()
705+
def alignHorizontally(self):
706+
""" All nodes are moved horizontally to the same position than the firstly selected node """
707+
708+
selectedNodes = self.getSelectedNodes()
709+
710+
if len(selectedNodes) < 2:
711+
return
712+
713+
for selectedNode in selectedNodes:
714+
self.moveNode(selectedNode, Position(selectedNodes[0].x, selectedNode.y))
715+
693716
@Slot()
694717
def removeSelectedNodes(self):
695718
"""Remove selected nodes from the graph."""

meshroom/ui/qml/GraphEditor/GraphEditor.qml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,12 @@ Item {
130130
}
131131
} else if (event.key === Qt.Key_V && event.modifiers === Qt.ControlModifier) {
132132
pasteNodes()
133-
} else if (event.key === Qt.Key_Tab) {
133+
} else if (event.key === Qt.Key_V && event.modifiers === Qt.ShiftModifier) {
134+
uigraph.alignVertically()
135+
} else if (event.key === Qt.Key_H && event.modifiers === Qt.ShiftModifier) {
136+
uigraph.alignHorizontally()
137+
}
138+
else if (event.key === Qt.Key_Tab) {
134139
event.accepted = true
135140
if (mouseArea.containsMouse) {
136141
newNodeMenu.spawnPosition = mouseArea.mapToItem(draggable, mouseArea.mouseX, mouseArea.mouseY)

0 commit comments

Comments
 (0)