Fix T86208: copy node group button is inconsistent in geometry nodes
Differential Revision: https://developer.blender.org/D10740
This commit is contained in:
parent
de296e8429
commit
ae650b016f
Notes:
blender-bot
2023-02-14 02:22:07 +01:00
Referenced by issue #86208, Geometry nodes. New/Copy button inconsistent behavior
|
@ -91,7 +91,32 @@ class NewGeometryNodeTreeAssign(bpy.types.Operator):
|
|||
return {'FINISHED'}
|
||||
|
||||
|
||||
class CopyGeometryNodeTreeAssign(bpy.types.Operator):
|
||||
"""Copy the active geometry node group and assign it to the active modifier"""
|
||||
|
||||
bl_idname = "node.copy_geometry_node_group_assign"
|
||||
bl_label = "Copy Geometry Node Group"
|
||||
bl_options = {'REGISTER', 'UNDO'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return geometry_modifier_poll(context)
|
||||
|
||||
def execute(self, context):
|
||||
modifier = context.object.modifiers.active
|
||||
if modifier is None:
|
||||
return {'CANCELLED'}
|
||||
|
||||
group = modifier.node_group
|
||||
if group is None:
|
||||
return {'CANCELLED'}
|
||||
|
||||
modifier.node_group = group.copy()
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
classes = (
|
||||
NewGeometryNodesModifier,
|
||||
NewGeometryNodeTreeAssign,
|
||||
CopyGeometryNodeTreeAssign,
|
||||
)
|
||||
|
|
|
@ -164,7 +164,10 @@ class NODE_HT_header(Header):
|
|||
elif ob:
|
||||
active_modifier = ob.modifiers.active
|
||||
if active_modifier and active_modifier.type == "NODES":
|
||||
row.template_ID(active_modifier, "node_group", new="node.new_geometry_node_group_assign")
|
||||
if active_modifier.node_group:
|
||||
row.template_ID(active_modifier, "node_group", new="node.copy_geometry_node_group_assign")
|
||||
else:
|
||||
row.template_ID(active_modifier, "node_group", new="node.new_geometry_node_group_assign")
|
||||
else:
|
||||
row.template_ID(snode, "node_tree", new="node.new_geometry_nodes_modifier")
|
||||
|
||||
|
|
Loading…
Reference in New Issue