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:
authorCampbell Barton <ideasman42@gmail.com>2018-11-13 06:05:20 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-11-13 06:05:20 +0300
commitab2fa6d3f42a32cdbdac01d80898fe591db2fb64 (patch)
treebe51aa2d455b17ec11eafa9b2853b6c9d5c48cc7 /release
parentb323167600062feccd55d08ac383b69f6f9a4980 (diff)
Keymap: more more standard keys for select tools
This uses shift to extend, ctrl to de-select, both to intersect.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py122
1 files changed, 62 insertions, 60 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 4a028271bad..0af74da7d71 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -39,6 +39,17 @@ from .properties_grease_pencil_common import (
)
+class _km_template:
+ def select_actions(operator, *, type, value):
+ kw = {"type": type, "value": value}
+ return (
+ (operator, dict(mode='SET'), dict(**kw)),
+ (operator, dict(mode='ADD'), dict(**kw, shift=True)),
+ (operator, dict(mode='SUB'), dict(**kw, ctrl=True)),
+ (operator, dict(mode='AND'), dict(**kw, shift=True, ctrl=True)),
+ )
+
+
def generate_from_enum_ex(
context, *,
icon_prefix,
@@ -313,14 +324,20 @@ class _defs_view3d_select:
text="Select Box",
icon="ops.generic.select_box",
widget=None,
- keymap=(
- ("view3d.select_box",
- dict(mode='ADD'),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ("view3d.select_box",
- dict(mode='SUB'),
- dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
- ),
+ keymap=_km_template.select_actions("view3d.select_box", type='EVT_TWEAK_A', value='ANY'),
+ draw_settings=draw_settings,
+ )
+
+ @ToolDef.from_fn
+ def lasso():
+ def draw_settings(context, layout, tool):
+ props = tool.operator_properties("view3d.select_lasso")
+ layout.prop(props, "mode", expand=True)
+ return dict(
+ text="Select Lasso",
+ icon="ops.generic.select_lasso",
+ widget=None,
+ keymap=_km_template.select_actions("view3d.select_lasso", type='EVT_TWEAK_A', value='ANY'),
draw_settings=draw_settings,
)
@@ -352,25 +369,7 @@ class _defs_view3d_select:
draw_cursor=draw_cursor,
)
- @ToolDef.from_fn
- def lasso():
- def draw_settings(context, layout, tool):
- props = tool.operator_properties("view3d.select_lasso")
- layout.prop(props, "mode", expand=True)
- return dict(
- text="Select Lasso",
- icon="ops.generic.select_lasso",
- widget=None,
- keymap=(
- ("view3d.select_lasso",
- dict(mode='ADD'),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ("view3d.select_lasso",
- dict(mode='SUB'),
- dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
- ),
- draw_settings=draw_settings,
- )
+
# -----------------------------------------------------------------------------
# Object Modes (named based on context.mode)
@@ -1153,6 +1152,22 @@ class _defs_image_uv_select:
)
@ToolDef.from_fn
+ def lasso():
+ return dict(
+ text="Select Lasso",
+ icon="ops.generic.select_lasso",
+ widget=None,
+ keymap=(
+ ("uv.select_lasso",
+ dict(deselect=False),
+ dict(type='EVT_TWEAK_A', value='ANY')),
+ # ("uv.select_lasso",
+ # dict(deselect=True),
+ # dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
+ ),
+ )
+
+ @ToolDef.from_fn
def circle():
def draw_settings(context, layout, tool):
props = tool.operator_properties("uv.select_circle")
@@ -1172,22 +1187,6 @@ class _defs_image_uv_select:
draw_settings=draw_settings,
)
- @ToolDef.from_fn
- def lasso():
- return dict(
- text="Select Lasso",
- icon="ops.generic.select_lasso",
- widget=None,
- keymap=(
- ("uv.select_lasso",
- dict(deselect=False),
- dict(type='EVT_TWEAK_A', value='ANY')),
- # ("uv.select_lasso",
- # dict(deselect=True),
- # dict(type='EVT_TWEAK_A', value='ANY', ctrl=True)),
- ),
- )
-
class _defs_image_uv_sculpt:
@@ -1316,40 +1315,43 @@ class _defs_gpencil_edit:
@ToolDef.from_fn
def box_select():
+ def draw_settings(context, layout, tool):
+ props = tool.operator_properties("gpencil.select_box")
+ layout.prop(props, "mode", expand=True)
return dict(
text="Select Box",
icon="ops.generic.select_box",
widget=None,
- keymap=(
- ("gpencil.select_box",
- dict(),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ),
+ keymap=_km_template.select_actions("gpencil.select_box", type='EVT_TWEAK_A', value='ANY'),
+ draw_settings=draw_settings,
)
@ToolDef.from_fn
- def circle_select():
+ def lasso_select():
+ def draw_settings(context, layout, tool):
+ props = tool.operator_properties("gpencil.select_lasso")
+ layout.prop(props, "mode", expand=True)
return dict(
- text="Select Circle",
- icon="ops.generic.select_circle",
+ text="Select Lasso",
+ icon="ops.generic.select_lasso",
widget=None,
- keymap=(
- ("gpencil.select_circle",
- dict(),
- dict(type='EVT_TWEAK_A', value='ANY')),
- ),
+ keymap=_km_template.select_actions("gpencil.select_lasso", type='EVT_TWEAK_A', value='ANY'),
+ draw_settings=draw_settings,
)
@ToolDef.from_fn
- def lasso_select():
+ def circle_select():
return dict(
- text="Select Lasso",
- icon="ops.generic.select_lasso",
+ text="Select Circle",
+ icon="ops.generic.select_circle",
widget=None,
keymap=(
- ("gpencil.select_lasso",
+ ("gpencil.select_circle",
dict(),
dict(type='EVT_TWEAK_A', value='ANY')),
+ ("gpencil.select_circle",
+ dict(deselect=True),
+ dict(type='ACTIONMOUSE', value='PRESS', ctrl=True)),
),
)