[Bf-blender-cvs] [8e125f278c5] master: Sequencer: Drag outside of sequence to initiate box select

Jacques Lucke noreply at git.blender.org
Tue May 28 17:47:40 CEST 2019


Commit: 8e125f278c52b38cf3be53b2296f0dc30885bae4
Author: Jacques Lucke
Date:   Tue May 28 17:47:26 2019 +0200
Branches: master
https://developer.blender.org/rB8e125f278c52b38cf3be53b2296f0dc30885bae4

Sequencer: Drag outside of sequence to initiate box select

===================================================================

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	source/blender/editors/space_sequencer/sequencer_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 327addab1dc..b5cc573cac4 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -2330,6 +2330,8 @@ def km_sequencer(params):
         ("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_tweak, "value": 'ANY'},
+         {"properties": [("tweak", True)]}),
         ("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
         ("sequencer.select_grouped", {"type": 'G', "value": 'PRESS', "shift": True}, None),
         op_menu("SEQUENCER_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index f40514e7574..0aa27505c2d 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -937,6 +937,22 @@ static int sequencer_box_select_exec(bContext *C, wmOperator *op)
 }
 
 /* ****** Box Select ****** */
+static int sequencer_box_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+{
+  Scene *scene = CTX_data_scene(C);
+  View2D *v2d = &CTX_wm_region(C)->v2d;
+
+  const bool tweak = RNA_boolean_get(op->ptr, "tweak");
+
+  int dummy;
+  Sequence *seq = find_nearest_seq(scene, v2d, &dummy, event->mval);
+  if (tweak && seq != NULL) {
+    return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
+  }
+
+  return WM_gesture_box_invoke(C, op, event);
+}
+
 void SEQUENCER_OT_select_box(wmOperatorType *ot)
 {
   /* identifiers */
@@ -945,7 +961,7 @@ void SEQUENCER_OT_select_box(wmOperatorType *ot)
   ot->description = "Select strips using box selection";
 
   /* api callbacks */
-  ot->invoke = WM_gesture_box_invoke;
+  ot->invoke = sequencer_box_select_invoke;
   ot->exec = sequencer_box_select_exec;
   ot->modal = WM_gesture_box_modal;
   ot->cancel = WM_gesture_box_cancel;
@@ -958,6 +974,10 @@ void SEQUENCER_OT_select_box(wmOperatorType *ot)
   /* properties */
   WM_operator_properties_gesture_box(ot);
   WM_operator_properties_select_operation_simple(ot);
+
+  PropertyRNA *prop = RNA_def_boolean(
+      ot->srna, "tweak", 0, "Tweak", "Operator has been activated using a tweak event");
+  RNA_def_property_flag(prop, PROP_SKIP_SAVE);
 }
 
 /* ****** Selected Grouped ****** */



More information about the Bf-blender-cvs mailing list