Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release')
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py33
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py34
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py17
3 files changed, 82 insertions, 2 deletions
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index b8b27b0e8ba..7152069972d 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -2826,6 +2826,8 @@ def km_sequencerpreview(params):
value=params.select_mouse_value_fallback,
legacy=params.legacy,
),
+ op_menu_pie("SEQUENCER_MT_pivot_pie", {"type": 'PERIOD', "value": 'PRESS'}),
+
("sequencer.view_all_preview", {"type": 'HOME', "value": 'PRESS'}, None),
("sequencer.view_all_preview", {"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'}, None),
("sequencer.view_ghost_border", {"type": 'O', "value": 'PRESS'}, None),
@@ -2862,6 +2864,18 @@ def km_sequencerpreview(params):
*_template_items_context_menu("SEQUENCER_MT_preview_context_menu", params.context_menu_event),
])
+ # 2D cursor.
+ if params.cursor_tweak_event:
+ items.extend([
+ ("sequencer.cursor_set", params.cursor_set_event, None),
+ ("transform.translate", params.cursor_tweak_event,
+ {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
+ ])
+ else:
+ items.extend([
+ ("sequencer.cursor_set", params.cursor_set_event, None),
+ ])
+
return keymap
@@ -7465,13 +7479,13 @@ def km_sequencer_editor_tool_select(params, *, fallback):
_fallback_id("Sequencer Tool: Tweak", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- # TODO: Use 2D cursor for preview region (currently `sequencer.sample`).
*([] if fallback else
- _template_items_tool_select(params, "sequencer.select", "sequencer.sample", extend="toggle")
+ _template_items_tool_select(params, "sequencer.select", "sequencer.cursor_set", extend="toggle")
),
*([] if (not params.use_fallback_tool_rmb) else _template_sequencer_generic_select(
type=params.select_mouse, value=params.select_mouse_value, legacy=params.legacy)),
+ # Ignored for preview.
*_template_items_change_frame(params),
]},
)
@@ -7490,6 +7504,7 @@ def km_sequencer_editor_tool_select_box(params, *, fallback):
*_template_sequencer_select_for_fallback(params, fallback),
# RMB select can already set the frame, match the tweak tool.
+ # Ignored for preview.
*(_template_items_change_frame(params)
if params.select_mouse == 'LEFTMOUSE' else []),
]},
@@ -7506,6 +7521,19 @@ def km_sequencer_editor_tool_generic_sample(params):
)
+def km_sequencer_editor_tool_cursor(params):
+ return (
+ "Sequencer Tool: Cursor",
+ {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
+ {"items": [
+ ("sequencer.cursor_set", {"type": params.tool_mouse, "value": 'PRESS'}, None),
+ # Don't use `tool_maybe_tweak_event` since it conflicts with `PRESS` that places the cursor.
+ ("transform.translate", params.tool_tweak_event,
+ {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
+ ]},
+ )
+
+
def km_sequencer_editor_tool_blade(_params):
return (
"Sequencer Tool: Blade",
@@ -7808,6 +7836,7 @@ def generate_keymaps(params=None):
*(km_sequencer_editor_tool_select_box(params, fallback=fallback) for fallback in (False, True)),
km_sequencer_editor_tool_blade(params),
km_sequencer_editor_tool_generic_sample(params),
+ km_sequencer_editor_tool_cursor(params),
km_sequencer_editor_tool_scale(params),
km_sequencer_editor_tool_rotate(params),
km_sequencer_editor_tool_move(params),
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 03a090255f6..58afb6d9203 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -1042,6 +1042,22 @@ class SEQUENCER_MT_preview_context_menu(Menu):
pass
+class SEQUENCER_MT_pivot_pie(Menu):
+ bl_label = "Pivot Point"
+
+ def draw(self, context):
+ layout = self.layout
+ pie = layout.menu_pie()
+
+ tool_settings = context.tool_settings
+ sequencer_tool_settings = context.tool_settings.sequencer_tool_settings
+
+ pie.prop_enum(sequencer_tool_settings, "pivot_point", value='CENTER')
+ pie.prop_enum(sequencer_tool_settings, "pivot_point", value='CURSOR')
+ pie.prop_enum(sequencer_tool_settings, "pivot_point", value='INDIVIDUAL_ORIGINS')
+ pie.prop_enum(sequencer_tool_settings, "pivot_point", value='MEDIAN')
+
+
class SequencerButtonsPanel:
bl_space_type = 'SEQUENCE_EDITOR'
bl_region_type = 'UI'
@@ -2185,6 +2201,22 @@ class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel):
col.prop(st, "show_separate_color")
+class SEQUENCER_PT_view_cursor(SequencerButtonsPanel_Output, Panel):
+ bl_category = "View"
+ bl_label = "2D Cursor"
+
+ def draw(self, context):
+ layout = self.layout
+
+ st = context.space_data
+
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ col = layout.column()
+ col.prop(st, "cursor_location", text="Location")
+
+
class SEQUENCER_PT_frame_overlay(SequencerButtonsPanel_Output, Panel):
bl_label = "Frame Overlay"
bl_category = "View"
@@ -2464,6 +2496,7 @@ classes = (
SEQUENCER_MT_color_tag_picker,
SEQUENCER_MT_context_menu,
SEQUENCER_MT_preview_context_menu,
+ SEQUENCER_MT_pivot_pie,
SEQUENCER_PT_color_tag_picker,
@@ -2500,6 +2533,7 @@ classes = (
SEQUENCER_PT_custom_props,
SEQUENCER_PT_view,
+ SEQUENCER_PT_view_cursor,
SEQUENCER_PT_frame_overlay,
SEQUENCER_PT_view_safe_areas,
SEQUENCER_PT_view_safe_areas_center_cut,
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 6478cff3597..008129cd389 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -2441,6 +2441,19 @@ class _defs_node_edit:
class _defs_sequencer_generic:
@ToolDef.from_fn
+ def cursor():
+ return dict(
+ idname="builtin.cursor",
+ label="Cursor",
+ description=(
+ "Set the cursor location, drag to transform"
+ ),
+ icon="ops.generic.cursor",
+ keymap="Sequencer Tool: Cursor",
+ options={'KEYMAP_FALLBACK'},
+ )
+
+ @ToolDef.from_fn
def blade():
def draw_settings(_context, layout, tool):
props = tool.operator_properties("sequencer.split")
@@ -3094,6 +3107,8 @@ class SEQUENCER_PT_tools_active(ToolSelectPanelHelper, Panel):
],
'PREVIEW': [
*_tools_select,
+ _defs_sequencer_generic.cursor,
+ None,
_defs_sequencer_generic.translate,
_defs_sequencer_generic.rotate,
_defs_sequencer_generic.scale,
@@ -3106,6 +3121,8 @@ class SEQUENCER_PT_tools_active(ToolSelectPanelHelper, Panel):
],
'SEQUENCER_PREVIEW': [
*_tools_select,
+ _defs_sequencer_generic.cursor,
+ None,
_defs_sequencer_generic.translate,
_defs_sequencer_generic.rotate,
_defs_sequencer_generic.scale,