File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -1701,6 +1701,10 @@ def cut_nodes(self, nodes=None):
17011701 """
17021702 Cut nodes to the clipboard.
17031703
1704+ Note:
1705+ This function doesn't not trigger the
1706+ :attr:`NodeGraph.nodes_deleted` signal.
1707+
17041708 See Also:
17051709 :meth:`NodeGraph.copy_nodes`
17061710
@@ -1711,7 +1715,28 @@ def cut_nodes(self, nodes=None):
17111715 nodes = nodes or self .selected_nodes ()
17121716 self .copy_nodes (nodes )
17131717 self ._undo_stack .beginMacro ('cut nodes' )
1714- [self ._undo_stack .push (NodeRemovedCmd (self , n )) for n in nodes ]
1718+
1719+ for node in nodes :
1720+ if isinstance (node , BaseNode ):
1721+ for p in node .input_ports ():
1722+ if p .locked ():
1723+ p .set_locked (False ,
1724+ connected_ports = False ,
1725+ push_undo = True )
1726+ p .clear_connections ()
1727+ for p in node .output_ports ():
1728+ if p .locked ():
1729+ p .set_locked (False ,
1730+ connected_ports = False ,
1731+ push_undo = True )
1732+ p .clear_connections ()
1733+
1734+ # collapse group node before removing.
1735+ if isinstance (node , GroupNode ) and node .is_expanded :
1736+ node .collapse ()
1737+
1738+ self ._undo_stack .push (NodeRemovedCmd (self , node ))
1739+
17151740 self ._undo_stack .endMacro ()
17161741
17171742 def paste_nodes (self ):
You can’t perform that action at this time.
0 commit comments