VSE: Implement Select Circle
This feature works like the select circle in any other modes. The user can press "C" in preview or timeline and then select or deselect strips by pressing the left or middle mouse button. It’s an enhancement for the VSE preview because: 1. It makes it more similar to other editors in Blender 2. This behavior makes it easier to select specific overlapping strips in preview, that is because the select circle only checks for the origin of the strip. Pull Request: https://projects.blender.org/blender/blender/pulls/141422
This commit is contained in:
committed by
Richard Antalik
parent
ede8e3af91
commit
098be390ca
@@ -3031,6 +3031,7 @@ def km_sequencer(params):
|
||||
("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
|
||||
("sequencer.select_box", {"type": 'B', "value": 'PRESS', "ctrl": True},
|
||||
{"properties": [("include_handles", True)]}),
|
||||
("sequencer.select_circle", {"type": 'C', "value": 'PRESS'}, None),
|
||||
("sequencer.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
|
||||
*_template_items_select_actions(params, "sequencer.select_all"),
|
||||
("sequencer.split", {"type": 'K', "value": 'PRESS'},
|
||||
@@ -3099,7 +3100,7 @@ def km_sequencer(params):
|
||||
)
|
||||
),
|
||||
op_menu("SEQUENCER_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
|
||||
op_menu("SEQUENCER_MT_change", {"type": 'C', "value": 'PRESS'}),
|
||||
op_menu("SEQUENCER_MT_change", {"type": 'C', "value": 'PRESS', "shift": True}),
|
||||
op_menu_pie("SEQUENCER_MT_view_pie", {"type": 'ACCENT_GRAVE', "value": 'PRESS'}),
|
||||
("sequencer.slip", {"type": 'S', "value": 'PRESS'}, {"properties": [("use_cursor_position", False)]}),
|
||||
("wm.context_set_int", {"type": 'O', "value": 'PRESS'},
|
||||
@@ -3199,6 +3200,7 @@ def km_sequencer_preview(params):
|
||||
),
|
||||
*_template_items_select_actions(params, "sequencer.select_all"),
|
||||
("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
|
||||
("sequencer.select_circle", {"type": 'C', "value": 'PRESS'}, None),
|
||||
|
||||
# View.
|
||||
("sequencer.view_selected", {"type": 'NUMPAD_PERIOD', "value": 'PRESS'}, None),
|
||||
@@ -8448,6 +8450,18 @@ def km_sequencer_tool_generic_select_box(params, *, fallback):
|
||||
]},
|
||||
)
|
||||
|
||||
def km_sequencer_tool_generic_select_circle(params, *, fallback):
|
||||
return (
|
||||
_fallback_id("Sequencer Tool: Select Circle", fallback),
|
||||
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
|
||||
{"items": [
|
||||
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
|
||||
"sequencer.select_circle",
|
||||
**(params.select_tweak_event if (fallback and params.use_fallback_tool_select_mouse) else
|
||||
{"type": params.tool_mouse, "value": 'PRESS'}),
|
||||
properties=[("wait_for_input", False)])),
|
||||
]},
|
||||
)
|
||||
|
||||
def km_sequencer_preview_tool_generic_select(params, *, fallback):
|
||||
return (
|
||||
@@ -8482,6 +8496,20 @@ def km_sequencer_preview_tool_generic_select_box(params, *, fallback):
|
||||
)
|
||||
|
||||
|
||||
def km_sequencer_preview_tool_generic_select_circle(params, *, fallback):
|
||||
return (
|
||||
_fallback_id("Preview Tool: Select Circle", fallback),
|
||||
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
|
||||
{"items": [
|
||||
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
|
||||
"sequencer.select_circle",
|
||||
**(params.select_tweak_event if (fallback and params.use_fallback_tool_select_mouse) else
|
||||
{"type": params.tool_mouse, "value": 'PRESS'}),
|
||||
properties=[("wait_for_input", False)])),
|
||||
]},
|
||||
)
|
||||
|
||||
|
||||
def km_sequencer_preview_tool_generic_cursor(params):
|
||||
return (
|
||||
"Preview Tool: Cursor",
|
||||
@@ -8867,6 +8895,10 @@ def generate_keymaps(params=None):
|
||||
for fallback in (False, True)),
|
||||
*(km_sequencer_preview_tool_generic_select_box(params, fallback=fallback)
|
||||
for fallback in (False, True)),
|
||||
*(km_sequencer_preview_tool_generic_select_circle(params, fallback=fallback)
|
||||
for fallback in (False, True)),
|
||||
*(km_sequencer_tool_generic_select_circle(params, fallback=fallback)
|
||||
for fallback in (False, True)),
|
||||
km_3d_view_tool_paint_grease_pencil_trim(params),
|
||||
km_3d_view_tool_edit_grease_pencil_texture_gradient(params),
|
||||
km_sequencer_tool_blade(params),
|
||||
|
||||
Reference in New Issue
Block a user