Nodes: Add tools for "Mute Links" and "Add Reroute" operator

Expose the "Mute Links" add "Add Reroute" operator as active tools
in the node editor similar to the "Links Cut" tool.

This also works around #134153 by adding additional tools in the same
button group to the toolbar.

Pull Request: https://projects.blender.org/blender/blender/pulls/140429
This commit is contained in:
Leon Schittek
2025-09-10 15:12:37 +02:00
committed by Hans Goudey
parent 19fb5652af
commit c954d6cdfd
5 changed files with 54 additions and 0 deletions

BIN
release/datafiles/icons/ops.node.add_reroute.dat (Stored with Git LFS) Normal file

Binary file not shown.

BIN
release/datafiles/icons/ops.node.links_mute.dat (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -7214,6 +7214,26 @@ def km_node_editor_tool_links_cut(params):
)
def km_node_editor_tool_links_mute(params):
return (
"Node Tool: Mute Links",
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
("node.links_mute", {"type": params.tool_mouse, "value": 'PRESS'}, None),
]},
)
def km_node_editor_tool_add_reroute(params):
return (
"Node Tool: Add Reroute",
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
("node.add_reroute", {"type": params.tool_mouse, "value": 'PRESS'}, None),
]},
)
# ------------------------------------------------------------------------------
# Tool System (3D View, Generic)
@@ -8866,6 +8886,8 @@ def generate_keymaps(params=None):
*(km_node_editor_tool_select_lasso(params, fallback=fallback) for fallback in (False, True)),
*(km_node_editor_tool_select_circle(params, fallback=fallback) for fallback in (False, True)),
km_node_editor_tool_links_cut(params),
km_node_editor_tool_links_mute(params),
km_node_editor_tool_add_reroute(params),
km_3d_view_tool_cursor(params),
km_3d_view_tool_text_select(params),
*(km_3d_view_tool_select(params, fallback=fallback) for fallback in (False, True)),

View File

@@ -3136,6 +3136,28 @@ class _defs_node_edit:
options={'KEYMAP_FALLBACK'},
)
@ToolDef.from_fn
def links_mute():
return dict(
idname="builtin.links_mute",
label="Mute Links",
icon="ops.node.links_mute",
widget=None,
keymap="Node Tool: Mute Links",
options={'KEYMAP_FALLBACK'},
)
@ToolDef.from_fn
def add_reroute():
return dict(
idname="builtin.add_reroute",
label="Add Reroute",
icon="ops.node.add_reroute",
widget=None,
keymap="Node Tool: Add Reroute",
options={'KEYMAP_FALLBACK'},
)
class _defs_sequencer_generic:
@@ -3561,6 +3583,8 @@ class NODE_PT_tools_active(ToolSelectPanelHelper, Panel):
*_tools_annotate,
None,
_defs_node_edit.links_cut,
_defs_node_edit.links_mute,
_defs_node_edit.add_reroute,
],
}

View File

@@ -118,7 +118,9 @@ set_property(GLOBAL PROPERTY ICON_GEOM_NAMES
ops.mesh.rip_edge
ops.mesh.spin
ops.mesh.vertices_smooth
ops.node.add_reroute
ops.node.links_cut
ops.node.links_mute
ops.paint.eyedropper_add
ops.paint.vertex_color_fill
ops.paint.weight_fill