Commit: 799f974668004b3d2b7873f51951eb22b5fcf2f3
Author: Antony Riakiotakis
Date: Tue Sep 2 19:23:56 2014 +0200
Branches: terrible_consequencer
https://developer.blender.org/rB799f974668004b3d2b7873f51951eb22b5fcf2f3
Gooseberry feature request, allow select left-right strips operator to
select all strips independently of channel of the active strip.
===================================================================
M release/scripts/startup/bl_ui/space_sequencer.py
M source/blender/editors/space_sequencer/sequencer_select.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py
b/release/scripts/startup/bl_ui/space_sequencer.py
index 532047d..eefc1af 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -209,6 +209,13 @@ class SEQUENCER_MT_select(Menu):
layout.operator("sequencer.select_active_side", text="Strips to the
Left").side = 'LEFT'
layout.operator("sequencer.select_active_side", text="Strips to the
Right").side = 'RIGHT'
+ op = layout.operator("sequencer.select_active_side", text="All strips
to the Left")
+ op.side = 'LEFT'
+ op.all = True
+ op = layout.operator("sequencer.select_active_side", text="All strips
to the Right")
+ op.side = 'RIGHT'
+ op.all = True
+
layout.separator()
layout.operator("sequencer.select_handles", text="Surrounding
Handles").side = 'BOTH'
layout.operator("sequencer.select_handles", text="Left Handle").side =
'LEFT'
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c
b/source/blender/editors/space_sequencer/sequencer_select.c
index 8e49d56..efc097e 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -80,12 +80,12 @@ static void select_surrounding_handles(Scene *scene,
Sequence *test) /* XXX BRIN
}
/* used for mouse selection and for SEQUENCER_OT_select_active_side() */
-static void select_active_side(ListBase *seqbase, int sel_side, int channel,
int frame)
+static void select_active_side(ListBase *seqbase, int sel_side, int channel,
int frame, bool use_same_channel)
{
Sequence *seq;
for (seq = seqbase->first; seq; seq = seq->next) {
- if (channel == seq->machine) {
+ if (!use_same_channel || channel == seq->machine) {
switch (sel_side) {
case SEQ_SIDE_LEFT:
if (frame > (seq->startdisp)) {
@@ -452,7 +452,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator
*op, const wmEvent *e
if (extend ==
0) ED_sequencer_deselect_all(scene);
seq->flag |=
SELECT;
-
select_active_side(ed->seqbasep, SEQ_SIDE_LEFT, seq->machine, seq->startdisp);
+
select_active_side(ed->seqbasep, SEQ_SIDE_LEFT, seq->machine, seq->startdisp,
true);
}
else {
if (extend ==
0) ED_sequencer_deselect_all(scene);
@@ -469,7 +469,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator
*op, const wmEvent *e
if (extend ==
0) ED_sequencer_deselect_all(scene);
seq->flag |=
SELECT;
-
select_active_side(ed->seqbasep, SEQ_SIDE_RIGHT, seq->machine, seq->startdisp);
+
select_active_side(ed->seqbasep, SEQ_SIDE_RIGHT, seq->machine, seq->startdisp,
true);
}
else {
if (extend ==
0) ED_sequencer_deselect_all(scene);
@@ -485,7 +485,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator
*op, const wmEvent *e
}
else {
if (extend == 0)
ED_sequencer_deselect_all(scene);
- select_active_side(ed->seqbasep,
sel_side, seq->machine, seq->startdisp);
+ select_active_side(ed->seqbasep,
sel_side, seq->machine, seq->startdisp, true);
}
}
recurs_sel_seq(seq);
@@ -806,7 +806,7 @@ static int sequencer_select_active_side_exec(bContext *C,
wmOperator *op)
seq_act->flag |= SELECT;
- select_active_side(ed->seqbasep, RNA_enum_get(op->ptr, "side"),
seq_act->machine, seq_act->startdisp);
+ select_active_side(ed->seqbasep, RNA_enum_get(op->ptr, "side"),
seq_act->machine, seq_act->startdisp, false);
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene);
@@ -829,6 +829,7 @@ void SEQUENCER_OT_select_active_side(wmOperatorType *ot)
/* properties */
RNA_def_enum(ot->srna, "side", prop_side_types, SEQ_SIDE_BOTH, "Side",
"The side of the handle that is selected");
+ RNA_def_boolean(ot->srna, "all", false, "All", "Select in other
channels as well");
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs