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:
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_select.c')
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c56
1 files changed, 23 insertions, 33 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index acabe762b3c..40535eb0f74 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -79,10 +79,8 @@
/* own include */
#include "sequencer_intern.h"
static void BIF_undo_push() {}
-static void std_rmouse_transform() {}
static void *find_nearest_marker() {return NULL;}
static void deselect_markers() {}
-static void transform_seq_nomarker() {}
@@ -90,9 +88,8 @@ static void transform_seq_nomarker() {}
void select_channel_direction(Scene *scene, Sequence *test,int lr) {
/* selects all strips in a channel to one direction of the passed strip */
Sequence *seq;
- Editing *ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
- ed= scene->ed;
if(ed==NULL) return;
seq= ed->seqbasep->first;
@@ -159,7 +156,7 @@ void select_surround_from_last(Scene *scene)
void select_single_seq(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
{
- Editing *ed= scene->ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
if(deselect_all)
deselect_all_seq(scene);
@@ -214,21 +211,17 @@ void select_neighbor_from_last(Scene *scene, int lr)
}
-
-
-
-
-
-
-
/* (de)select operator */
static int sequencer_deselect_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
- Editing *ed= scene->ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
Sequence *seq;
int desel = 0;
-
+
+ if(ed==NULL)
+ return OPERATOR_CANCELLED;
+
for(seq= ed->seqbasep->first; seq; seq=seq->next) {
if(seq->flag & SEQ_ALLSEL) {
desel= 1;
@@ -269,9 +262,11 @@ void SEQUENCER_OT_deselect_all(struct wmOperatorType *ot)
static int sequencer_select_invert_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
- Editing *ed= scene->ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
Sequence *seq;
-
+
+ if(ed==NULL)
+ return OPERATOR_CANCELLED;
for(seq= ed->seqbasep->first; seq; seq=seq->next) {
if (seq->flag & SELECT) {
@@ -314,14 +309,17 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
ARegion *ar= CTX_wm_region(C);
View2D *v2d= UI_view2d_fromcontext(C);
Scene *scene= CTX_data_scene(C);
- Editing *ed= scene->ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
short extend= RNA_enum_is_equal(op->ptr, "type", "EXTEND");
short mval[2];
Sequence *seq,*neighbor;
int hand,seldir, shift= 0; // XXX
TimeMarker *marker;
-
+
+ if(ed==NULL)
+ return OPERATOR_CANCELLED;
+
marker=find_nearest_marker(SCE_MARKERS, 1); //XXX - dummy function for now
mval[0]= event->x - ar->winrct.xmin;
@@ -432,10 +430,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
recurs_sel_seq(seq);
}
-
ED_undo_push(C,"Select Strips, Sequencer");
-
- std_rmouse_transform(transform_seq_nomarker);
}
/* marker transform */
@@ -458,7 +453,7 @@ static int sequencer_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
ED_area_tag_redraw(CTX_wm_area(C));
/* allowing tweaks */
- return OPERATOR_PASS_THROUGH;
+ return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH;
}
void SEQUENCER_OT_select(wmOperatorType *ot)
@@ -480,12 +475,11 @@ void SEQUENCER_OT_select(wmOperatorType *ot)
/* run recursivly to select linked */
static int select_more_less_seq__internal(Scene *scene, int sel, int linked) {
- Editing *ed;
+ Editing *ed= seq_give_editing(scene, FALSE);
Sequence *seq, *neighbor;
int change=0;
int isel;
- ed= scene->ed;
if(ed==NULL) return 0;
if (sel) {
@@ -673,15 +667,18 @@ void SEQUENCER_OT_select_linked(wmOperatorType *ot)
static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
View2D *v2d= UI_view2d_fromcontext(C);
Sequence *seq;
- Editing *ed=scene->ed;
rcti rect;
rctf rectf, rq;
int val;
short mval[2];
-
+
+ if(ed==NULL)
+ return OPERATOR_CANCELLED;
+
val= RNA_int_get(op->ptr, "event_type");
rect.xmin= RNA_int_get(op->ptr, "xmin");
rect.ymin= RNA_int_get(op->ptr, "ymin");
@@ -733,10 +730,3 @@ void SEQUENCER_OT_borderselect(wmOperatorType *ot)
RNA_def_enum(ot->srna, "type", prop_select_types, 0, "Type", "");
}
-
-
-
-
-
-
-