Page MenuHome

Armature posemode: add mouse independent "Select Linked" operator
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on Apr 27 2020, 3:45 PM.

Details

Summary

The current "Select Linked" operator works based on mouse position and
makes no sense to call from the menus and was removed in rB536055e1ee0b.

This patch adds an operator independent from mouse position that just
selects all bones in relation to selected bones (and adds back menu
entries -- removal see D7543 --, adds keymap entry CTRL+L).

The original operator is renamed to 'select_linked_pick' internally
(this is now more in line to how "Select Linked" works for meshes,
curves etc)

ref T76071

Diff Detail

Repository
rB Blender
Branch
T76071_b (branched from master)
Build Status
Buildable 7749
Build 7749: arc lint + arc unit

Event Timeline

Philipp Oeser (lichtwerk) requested review of this revision.Apr 27 2020, 3:45 PM

Seems to be missing the menu entree?

This revision is now accepted and ready to land.Apr 28 2020, 7:35 AM

actually add back menu entry (thx @Aaron Carlisle (Blendify) noting)

Campbell Barton (campbellbarton) requested changes to this revision.EditedApr 28 2020, 10:30 AM

Minor issues otherwise LGTM.

Also, needs to be in menu:

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 6c769e3b013..d7a063d09d1 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -1469,6 +1469,7 @@ class VIEW3D_MT_select_pose(Menu):
         layout.separator()
 
         layout.operator("pose.select_constraint_target", text="Constraint Target")
+        layout.operator("pose.select_linked", text="Linked")
 
         layout.separator()
source/blender/editors/armature/pose_select.c
490

Use PBONE_SELECTABLE, as the parent may not be on a visible layer.

512

This should be cutBone->next, otherwise only one of the children can be selected.

This revision now requires changes to proceed.Apr 28 2020, 10:30 AM
  • use PBONE_SELECTABLE
  • fix Select children loop w/ multiple immediate children
This revision is now accepted and ready to land.Apr 29 2020, 10:22 AM

Hi! Ctrl+L in pose mode used to be "browse poses". It now calls "select linked" but in the keymap it is still assigned to both actions aparently. Will browse poses have a different shortcut?
Regards.

Hi! Ctrl+L in pose mode used to be "browse poses". It now calls "select linked" but in the keymap it is still assigned to both actions aparently. Will browse poses have a different shortcut?
Regards.

That is a good point, right now there is a conflict between the two [sorry for not noticing]
I assume browse poses is actually used more than select linked?
Select linked Ctrl+++L was chosen for consistency -- this is used like this every where: uv, maks, sequences, meshes, curves, armature editmode....
Since L is used for poselibs: we still have Alt+++Ctrl+L available, maybe use that?

@William Reynish (billreynish), @Sybren A. Stüvel (sybren): opinions?

Indeed it’s best to use a consistent shortcut for Select Linked. We can move Browse Poses to some other shortcut. Do we use just P?

At the moment we have

  • Ctrl+P set parent
  • +P select parent
  • Alt+P propagate pose menu

So P alone would be free for browse poselib, but is then suddenly separated from the other poselib shortcuts... For poselib atm we have

  • Ctrl+L browse poselib CONFLICTS WITH SELECT LINKED
  • +L poselib add pose
  • Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

How about

  • Alt+L browse poselib
  • +L poselib add pose
  • +Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

At the moment we have

  • Ctrl+P set parent
  • +P select parent
  • Alt+P propagate pose menu

So P alone would be free for browse poselib, but is then suddenly separated from the other poselib shortcuts... For poselib atm we have

  • Ctrl+L browse poselib CONFLICTS WITH SELECT LINKED
  • +L poselib add pose
  • Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

How about

  • Alt+L browse poselib
  • +L poselib add pose
  • +Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

Just double-checking with animation department: @Luciano Muñoz Sessarego (looch), @Hjalti Hjálmarsson (hjalti), @Sybren A. Stüvel (sybren) : are you OK with this?

At the moment we have

  • Ctrl+P set parent
  • +P select parent
  • Alt+P propagate pose menu

So P alone would be free for browse poselib, but is then suddenly separated from the other poselib shortcuts... For poselib atm we have

  • Ctrl+L browse poselib CONFLICTS WITH SELECT LINKED
  • +L poselib add pose
  • Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

How about

  • Alt+L browse poselib
  • +L poselib add pose
  • +Alt+L poselib remove pose
  • +Ctrl+L poselib rename pose

Just double-checking with animation department: @Luciano Muñoz Sessarego (looch), @Hjalti Hjálmarsson (hjalti), @Sybren A. Stüvel (sybren) : are you OK with this?

Yep, it makes sense. Thanks for taking care of it :)