[Bf-blender-cvs] [053c3bd48a8] master: Tool System: add a mode option to 3D view circle select
Campbell Barton
noreply at git.blender.org
Fri Mar 1 13:22:50 CET 2019
Commit: 053c3bd48a80bc5f4b844f0739c436e82b2c7c8f
Author: Campbell Barton
Date: Fri Mar 1 23:18:34 2019 +1100
Branches: master
https://developer.blender.org/rB053c3bd48a80bc5f4b844f0739c436e82b2c7c8f
Tool System: add a mode option to 3D view circle select
Support only basic operations: new/add/subtract.
===================================================================
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
M release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M source/blender/editors/space_view3d/view3d_select.c
===================================================================
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index c88aff33fd3..05a6a5fa7c7 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -5223,8 +5223,10 @@ def km_3d_view_tool_select_circle(params):
{"items": [
("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS'},
{"properties": [("wait_for_input", False)]}),
+ ("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS', "shift": True},
+ {"properties": [("wait_for_input", False), ("mode", 'ADD')]}),
("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS', "ctrl": True},
- {"properties": [("wait_for_input", False), ("deselect", True)]}),
+ {"properties": [("wait_for_input", False), ("mode", 'SUB')]}),
]},
)
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 35d6ee5a8bc..4dfaa598c2e 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -342,6 +342,7 @@ class _defs_view3d_select:
def circle():
def draw_settings(context, layout, tool):
props = tool.operator_properties("view3d.select_circle")
+ layout.prop(props, "mode", expand=True)
layout.prop(props, "radius")
def draw_cursor(context, tool, xy):
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 70ff6065007..bf30f903929 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -3353,8 +3353,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
ViewContext vc;
const bool is_first = (op->customdata && (((wmGesture *)op->customdata)->is_active_prev == false));
const int radius = RNA_int_get(op->ptr, "radius");
- const bool select = !RNA_boolean_get(op->ptr, "deselect");
- eSelectOp sel_op = select ? SEL_OP_ADD : SEL_OP_SUB;
+ eSelectOp sel_op = RNA_enum_get(op->ptr, "mode");
const int mval[2] = {RNA_int_get(op->ptr, "x"),
RNA_int_get(op->ptr, "y")};
@@ -3436,7 +3435,8 @@ void VIEW3D_OT_select_circle(wmOperatorType *ot)
ot->flag = OPTYPE_UNDO;
/* properties */
- WM_operator_properties_gesture_circle_select(ot);
+ WM_operator_properties_gesture_circle(ot);
+ WM_operator_properties_select_operation_simple(ot);
}
/** \} */
More information about the Bf-blender-cvs
mailing list