Anim: declutter Action Editor header

The Action Editor was already getting crowded, but has become even
moreso with the addition of the new Slot selector. Part of this clutter
is due to the NLA-related buttons:

- The up/down track switching buttons.
- The Push Down button.
- The Stash button.

The latter two are currently still useful, but don't need to be directly
on the header itself. This PR moves them to the header's Action menu.

The up/down buttons have several issues:

- They are conceptually confusing: you cannot visually see what's
  happening or which track you're on without an NLA editor open anyway,
  so somewhere in the NLA Editor would be a better place for them.
- Their functionality is broken, and it seems has been for a long time:
  you can go down in the track stack, but often can't go back up,
  despite the existence of the up button. It doesn't appear that anyone
  has reported this cripplingly broken behavior, which strongly suggests
  that very few people (if anyone) is using or relying on these buttons.
- They don't make any sense when you have more than one strip on a track
  anyway (which strip do you go into tweak mode on?).

For all these reasons, this PR simply removes the up/down buttons.
This commit is contained in:
Nathan Vegdahl 2025-01-14 17:15:45 +01:00 committed by Nathan Vegdahl
parent e57172a2ee
commit 1cb25d6245

View file

@ -224,20 +224,9 @@ class DOPESHEET_HT_editor_buttons:
st = context.space_data
tool_settings = context.tool_settings
if st.mode in {'ACTION', 'SHAPEKEY'}:
# TODO: These buttons need some tidying up -
# Probably by using a popover, and bypassing the template_id() here
row = layout.row(align=True)
row.operator("action.layer_prev", text="", icon='TRIA_DOWN')
row.operator("action.layer_next", text="", icon='TRIA_UP')
row = layout.row(align=True)
row.operator("action.push_down", text="Push Down", icon='NLA_PUSHDOWN')
row.operator("action.stash", text="Stash", icon='FREEZE')
if context.object:
layout.separator_spacer()
cls._draw_action_selector(context, layout)
if st.mode in {'ACTION', 'SHAPEKEY'} and context.object:
layout.separator_spacer()
cls._draw_action_selector(context, layout)
# Layer management
if st.mode == 'GPENCIL':
@ -583,6 +572,10 @@ class DOPESHEET_MT_action(Menu):
layout.separator()
layout.operator("anim.slot_channels_move_to_new_action")
layout.separator()
layout.operator("action.push_down", text="Push Down Action", icon='NLA_PUSHDOWN')
layout.operator("action.stash", text="Stash Action", icon='FREEZE')
class DOPESHEET_MT_key(Menu):
bl_label = "Key"