Merge branch 'blender-v3.6-release'

This commit is contained in:
Campbell Barton 2023-05-25 20:34:14 +10:00
commit 1bd8745fbb
2 changed files with 26 additions and 8 deletions

@ -362,7 +362,14 @@ def load():
use_v3d_tab_menu=kc_prefs.use_v3d_tab_menu, use_v3d_tab_menu=kc_prefs.use_v3d_tab_menu,
use_v3d_shade_ex_pie=kc_prefs.use_v3d_shade_ex_pie, use_v3d_shade_ex_pie=kc_prefs.use_v3d_shade_ex_pie,
use_gizmo_drag=(is_select_left and kc_prefs.gizmo_action == 'DRAG'), use_gizmo_drag=(is_select_left and kc_prefs.gizmo_action == 'DRAG'),
use_fallback_tool=True if is_select_left else (kc_prefs.rmb_action == 'FALLBACK_TOOL'), use_fallback_tool=True,
use_fallback_tool_select_handled=(
# LMB doesn't need additional selection fallback key-map items.
False if is_select_left else
# RMB is select and RMB must trigger the fallback tool.
# Otherwise LMB activates the fallback tool and RMB always tweak-selects.
(kc_prefs.rmb_action != 'FALLBACK_TOOL')
),
use_tweak_select_passthrough=(show_developer_ui and kc_prefs.use_tweak_select_passthrough), use_tweak_select_passthrough=(show_developer_ui and kc_prefs.use_tweak_select_passthrough),
use_tweak_tool_lmb_interaction=( use_tweak_tool_lmb_interaction=(
False if is_select_left else False if is_select_left else

@ -52,6 +52,8 @@ class Params:
"use_gizmo_drag", "use_gizmo_drag",
# Use the fallback tool instead of tweak for RMB select. # Use the fallback tool instead of tweak for RMB select.
"use_fallback_tool", "use_fallback_tool",
# Selection actions are already accounted for, no need to add additional selection keys.
"use_fallback_tool_select_handled",
# Use pie menu for tab by default (swap 'Tab/Ctrl-Tab'). # Use pie menu for tab by default (swap 'Tab/Ctrl-Tab').
"use_v3d_tab_menu", "use_v3d_tab_menu",
# Use extended pie menu for shading. # Use extended pie menu for shading.
@ -78,7 +80,7 @@ class Params:
# The fallback tool is activated on the same button as selection. # The fallback tool is activated on the same button as selection.
# Shorthand for: `(True if (select_mouse == 'LEFT') else self.use_fallback_tool)` # Shorthand for: `(True if (select_mouse == 'LEFT') else self.use_fallback_tool)`
"use_fallback_tool_select_mouse", "use_fallback_tool_select_mouse",
# Shorthand for: `('CLICK' if self.use_fallback_tool and select_mouse == 'RIGHT' else self.select_mouse_value)`. # Shorthand for: `(self.select_mouse_value if self.use_fallback_tool_select_handled else 'CLICK')`.
"select_mouse_value_fallback", "select_mouse_value_fallback",
# Shorthand for: `{"type": params.select_mouse, "value": 'CLICK_DRAG'}`. # Shorthand for: `{"type": params.select_mouse, "value": 'CLICK_DRAG'}`.
"select_tweak_event", "select_tweak_event",
@ -110,6 +112,7 @@ class Params:
use_select_all_toggle=False, use_select_all_toggle=False,
use_gizmo_drag=True, use_gizmo_drag=True,
use_fallback_tool=False, use_fallback_tool=False,
use_fallback_tool_select_handled=True,
use_tweak_select_passthrough=False, use_tweak_select_passthrough=False,
use_tweak_tool_lmb_interaction=False, use_tweak_tool_lmb_interaction=False,
use_v3d_tab_menu=False, use_v3d_tab_menu=False,
@ -204,9 +207,17 @@ class Params:
self.use_fallback_tool = use_fallback_tool self.use_fallback_tool = use_fallback_tool
# Convenience variables: # Convenience variables:
self.use_fallback_tool_select_mouse = True if (select_mouse == 'LEFT') else self.use_fallback_tool self.use_fallback_tool_select_handled = (
True if (select_mouse == 'LEFT') else
use_fallback_tool_select_handled
)
self.use_fallback_tool_select_mouse = (
True if (select_mouse == 'LEFT') else
(not self.use_fallback_tool_select_handled)
)
self.select_mouse_value_fallback = ( self.select_mouse_value_fallback = (
'CLICK' if (self.use_fallback_tool and select_mouse == 'RIGHT') else self.select_mouse_value self.select_mouse_value if self.use_fallback_tool_select_handled else
'CLICK'
) )
self.select_tweak_event = {"type": self.select_mouse, "value": 'CLICK_DRAG'} self.select_tweak_event = {"type": self.select_mouse, "value": 'CLICK_DRAG'}
self.pie_value = 'CLICK_DRAG' if use_pie_click_drag else 'PRESS' self.pie_value = 'CLICK_DRAG' if use_pie_click_drag else 'PRESS'
@ -6647,7 +6658,7 @@ def km_image_editor_tool_uv_select(params, *, fallback):
{"items": [ {"items": [
*([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select( *([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select(
params, "uv.select", "uv.cursor_set", fallback=fallback)), params, "uv.select", "uv.cursor_set", fallback=fallback)),
*([] if (not (params.use_fallback_tool and params.select_mouse == 'RIGHTMOUSE')) else *([] if params.use_fallback_tool_select_handled else
_template_uv_select( _template_uv_select(
type=params.select_mouse, type=params.select_mouse,
value=params.select_mouse_value, value=params.select_mouse_value,
@ -6878,7 +6889,7 @@ def km_3d_view_tool_select(params, *, fallback):
{"items": [ {"items": [
*([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select( *([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select(
params, "view3d.select", "view3d.cursor3d", operator_props=operator_props, fallback=fallback)), params, "view3d.select", "view3d.cursor3d", operator_props=operator_props, fallback=fallback)),
*([] if (not (params.use_fallback_tool and params.select_mouse == 'RIGHTMOUSE')) else *([] if params.use_fallback_tool_select_handled else
_template_view3d_select( _template_view3d_select(
type=params.select_mouse, type=params.select_mouse,
value=params.select_mouse_value, value=params.select_mouse_value,
@ -7823,7 +7834,7 @@ def km_3d_view_tool_edit_gpencil_select(params, *, fallback):
{"items": [ {"items": [
*([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select( *([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select(
params, "gpencil.select", "view3d.cursor3d", fallback=fallback)), params, "gpencil.select", "view3d.cursor3d", fallback=fallback)),
*([] if (not (params.use_fallback_tool and params.select_mouse == 'RIGHTMOUSE')) else *([] if params.use_fallback_tool_select_handled else
_template_view3d_gpencil_select( _template_view3d_gpencil_select(
type=params.select_mouse, type=params.select_mouse,
value=params.select_mouse_value, value=params.select_mouse_value,
@ -8006,7 +8017,7 @@ def km_sequencer_editor_tool_generic_select(params, *, fallback):
*([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select( *([] if (fallback and (params.select_mouse == 'RIGHTMOUSE')) else _template_items_tool_select(
params, "sequencer.select", "sequencer.cursor_set", cursor_prioritize=True, fallback=fallback)), params, "sequencer.select", "sequencer.cursor_set", cursor_prioritize=True, fallback=fallback)),
*([] if (not (params.use_fallback_tool and params.select_mouse == 'RIGHTMOUSE')) else *([] if params.use_fallback_tool_select_handled else
_template_sequencer_preview_select( _template_sequencer_preview_select(
type=params.select_mouse, value=params.select_mouse_value, legacy=params.legacy)), type=params.select_mouse, value=params.select_mouse_value, legacy=params.legacy)),
# Ignored for preview. # Ignored for preview.