- Restrict channel selection to similar types. Channels that matches with the type of
shift-clicked channel are selected (Example: Fcurve only). This prevents selection
of Gpencil and fcurve channel at once. But for now its better to not
allow both at once, see: #106116
- Change selection mode when no active element is found. Otherwise all channels below
the clicked channel would get selected.
Group-channels are only included in selection when the channel type
of clicked element matches. That is, groups are selected along with the
general channels when clicked on group.
- `is_selection_allowed` decides whether to include group channels or
not
- Clear general channels when object-channel is selected
(`ANIM_anim_channels_select_set` added). Otherwise there would be two
active channels.
- Ran clang format
- Add code comments
- Rename `selected` to `in_selection_range`
- Move condition of "active flag check" outside of for loop (now added
in `click_select_channel` functions of individual channels)
- Tooltip for `extend_range` property
Patch will allow range selection similar to outliner.
New function ANIM_animchannel_select_range created for range selection.
Similar to outliner, active fcurve remains unchanged when this operation is called.
New keymap is created to separate extend and extend range functionality.
Old Differential revision: https://archive.blender.org/developer/D17079