Merge branch 'blender-v4.3-release'

This commit is contained in:
John Kiril Swenson 2024-10-17 22:56:07 -05:00
commit 9da2589f5a
4 changed files with 70 additions and 63 deletions

View file

@ -2936,6 +2936,37 @@ def km_sequencer(params):
)
items.extend([
*_template_sequencer_generic_select(
type=params.select_mouse, value=params.select_mouse_value_fallback, legacy=params.legacy,
),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
{"properties": [("linked_time", True)]}),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True, "shift": True},
{"properties": [("linked_time", True), ("extend", True)]}),
("sequencer.select", {"type": params.select_mouse, "value": 'CLICK', "ctrl": True},
{"properties": [("side_of_frame", True)]}),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
{"properties": [("deselect_all", True), ("ignore_connections", True)]}),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True, "shift": True},
{"properties": [("toggle", True), ("ignore_connections", True)]}),
("sequencer.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
("sequencer.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
("sequencer.select_linked_pick", {"type": 'L', "value": 'PRESS'}, None),
("sequencer.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
{"properties": [("extend", True)]}),
("sequencer.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG'},
{"properties": [("mode", 'SET')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "shift": True},
{"properties": [("mode", 'ADD')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "ctrl": True},
{"properties": [("mode", 'SUB')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "alt": True},
{"properties": [("ignore_connections", True), ("mode", 'SET')]}),
("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
("sequencer.select_box", {"type": 'B', "value": 'PRESS', "ctrl": True},
{"properties": [("include_handles", True)]}),
("sequencer.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
*_template_items_select_actions(params, "sequencer.select_all"),
("sequencer.split", {"type": 'K', "value": 'PRESS'},
{"properties": [("type", 'SOFT')]}),
@ -3001,33 +3032,6 @@ def km_sequencer(params):
for i in range(10)
)
),
*_template_sequencer_timeline_select(
type=params.select_mouse,
value=params.select_mouse_value_fallback,
legacy=params.legacy,
),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True},
{"properties": [("deselect_all", True), ("ignore_connections", True)]}),
("sequencer.select", {"type": params.select_mouse, "value": 'PRESS', "alt": True, "shift": True},
{"properties": [("toggle", True), ("ignore_connections", True)]}),
("sequencer.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
("sequencer.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
("sequencer.select_linked_pick", {"type": 'L', "value": 'PRESS'}, None),
("sequencer.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
{"properties": [("extend", True)]}),
("sequencer.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG'},
{"properties": [("mode", 'SET')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "shift": True},
{"properties": [("mode", 'ADD')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "ctrl": True},
{"properties": [("mode", 'SUB')]}),
("sequencer.select_box", {"type": params.select_mouse, "value": 'CLICK_DRAG', "alt": True},
{"properties": [("ignore_connections", True), ("mode", 'SET')]}),
("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
("sequencer.select_box", {"type": 'B', "value": 'PRESS', "ctrl": True},
{"properties": [("include_handles", True)]}),
("sequencer.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
op_menu("SEQUENCER_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
op_menu("SEQUENCER_MT_change", {"type": 'C', "value": 'PRESS'}),
op_menu_pie("SEQUENCER_MT_view_pie", {"type": 'ACCENT_GRAVE', "value": 'PRESS'}),
@ -4682,19 +4686,6 @@ def _template_sequencer_preview_select(*, type, value, legacy):
)]
def _template_sequencer_timeline_select(*, type, value, legacy):
return _template_sequencer_generic_select(
type=type, value=value, legacy=legacy,
) + [(
"sequencer.select",
{"type": type, "value": value, **{m: True for m in mods}},
{"properties": [(c, True) for c in props]},
) for props, mods in (
(("side_of_frame", "linked_time"), ("ctrl",)),
(("side_of_frame", "linked_time", "extend"), ("ctrl", "shift")),
)]
def km_image_paint(params):
items = []
keymap = (
@ -8012,14 +8003,21 @@ def km_sequencer_editor_tool_generic_select_timeline_lcs(params):
]
def km_sequencer_editor_tool_generic_select_timeline(params, *, fallback):
def km_sequencer_editor_tool_generic_select_box_timeline(params, *, fallback):
return (
_fallback_id("Sequencer Timeline Tool: Tweak", fallback),
_fallback_id("Sequencer Timeline Tool: Select Box", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
{"items": [
# Combine the tweak functionality into the select box tool.
# This gives one standard tool for all selection and transform behavior.
*(km_sequencer_editor_tool_generic_select_timeline_rcs(params)
if (params.select_mouse == 'RIGHTMOUSE') else
km_sequencer_editor_tool_generic_select_timeline_lcs(params)),
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
"sequencer.select_box",
**(params.select_tweak_event if (fallback and params.use_fallback_tool_select_mouse) else
params.tool_tweak_event))),
]},
)
@ -8397,7 +8395,7 @@ def generate_keymaps(params=None):
km_3d_view_tool_paint_grease_pencil_primitive_circle(params),
km_3d_view_tool_paint_grease_pencil_primitive_arc(params),
km_3d_view_tool_paint_grease_pencil_primitive_curve(params),
*(km_sequencer_editor_tool_generic_select_timeline(params, fallback=fallback)
*(km_sequencer_editor_tool_generic_select_box_timeline(params, fallback=fallback)
for fallback in (False, True)),
*(km_sequencer_editor_tool_generic_select_preview(params, fallback=fallback)
for fallback in (False, True)),

View file

@ -3007,16 +3007,6 @@ class _defs_sequencer_generic:
class _defs_sequencer_select:
@ToolDef.from_fn
def select_timeline():
return dict(
idname="builtin.select",
label="Tweak",
icon="ops.generic.select",
widget=None,
keymap="Sequencer Timeline Tool: Tweak",
)
@ToolDef.from_fn
def select_preview():
return dict(
@ -3027,6 +3017,22 @@ class _defs_sequencer_select:
keymap="Sequencer Preview Tool: Tweak",
)
@ToolDef.from_fn
def box_timeline():
def draw_settings(_context, layout, tool):
props = tool.operator_properties("sequencer.select_box")
row = layout.row()
row.use_property_split = False
row.prop(props, "mode", text="", expand=True, icon_only=True)
return dict(
idname="builtin.select_box",
label="Select Box",
icon="ops.generic.select_box",
widget=None,
keymap="Sequencer Timeline Tool: Select Box",
draw_settings=draw_settings,
)
@ToolDef.from_fn
def box_preview():
def draw_settings(_context, layout, tool):
@ -3689,11 +3695,11 @@ class SEQUENCER_PT_tools_active(ToolSelectPanelHelper, Panel):
*_tools_annotate,
],
'SEQUENCER': [
_defs_sequencer_select.select_timeline,
_defs_sequencer_select.box_timeline,
_defs_sequencer_generic.blade,
],
'SEQUENCER_PREVIEW': [
_defs_sequencer_select.select_timeline,
_defs_sequencer_select.box_timeline,
*_tools_annotate,
None,
_defs_sequencer_generic.blade,

View file

@ -4975,6 +4975,17 @@ void blo_do_versions_400(FileData *fd, Library * /*lib*/, Main *bmain)
}
}
if (!MAIN_VERSION_FILE_ATLEAST(bmain, 403, 31)) {
LISTBASE_FOREACH (WorkSpace *, workspace, &bmain->workspaces) {
LISTBASE_FOREACH (bToolRef *, tref, &workspace->tools) {
if (tref->space_type != SPACE_SEQ) {
continue;
}
STRNCPY(tref->idname, "builtin.select_box");
}
}
}
if (!MAIN_VERSION_FILE_ATLEAST(bmain, 404, 1)) {
LISTBASE_FOREACH (Scene *, scene, &bmain->scenes) {
Editing *ed = SEQ_editing_get(scene);

View file

@ -983,14 +983,6 @@ static const char *toolsystem_default_tool(const bToolKey *tkey)
return "builtin.select_box";
}
case SPACE_SEQ: {
switch (tkey->mode) {
case SEQ_VIEW_SEQUENCE:
return "builtin.select";
case SEQ_VIEW_PREVIEW:
return "builtin.select_box";
case SEQ_VIEW_SEQUENCE_PREVIEW:
return "builtin.select";
}
return "builtin.select_box";
}
}