diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-01-31 12:58:38 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-01-31 12:58:38 +0300 |
commit | b5230890ecfe3c81d4714c9ce5b367b612307293 (patch) | |
tree | ec0afd636ec420a791e463801368a0d27986669a /source/blender/editors/space_sequencer/sequencer_select.c | |
parent | a60413abd177604f05e360383e3a9c2a9862529b (diff) |
- sequencer select handle menu functions back
- sequencer border zoom (Shift+B) or from the header.
- added includes for blender.c and outliner.c
- editfont.c got rid of warning
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_select.c')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_select.c | 59 |
1 files changed, 54 insertions, 5 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c index 40535eb0f74..93c5026d327 100644 --- a/source/blender/editors/space_sequencer/sequencer_select.c +++ b/source/blender/editors/space_sequencer/sequencer_select.c @@ -631,21 +631,20 @@ void SEQUENCER_OT_select_pick_linked(wmOperatorType *ot) } - /* select linked operator */ static int sequencer_select_linked_exec(bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); int selected; - + selected = 1; while (selected) { selected = select_more_less_seq__internal(scene, 1, 1); } - + ED_undo_push(C, "Select linked, Sequencer"); ED_area_tag_redraw(CTX_wm_area(C)); - + return OPERATOR_FINISHED; } @@ -654,7 +653,7 @@ void SEQUENCER_OT_select_linked(wmOperatorType *ot) /* identifiers */ ot->name= "Select linked"; ot->idname= "SEQUENCER_OT_select_linked"; - + /* api callbacks */ ot->exec= sequencer_select_linked_exec; ot->poll= ED_operator_sequencer_active; @@ -663,6 +662,56 @@ void SEQUENCER_OT_select_linked(wmOperatorType *ot) } +/* select linked operator */ +static int sequencer_select_handles_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Editing *ed= seq_give_editing(scene, 0); + Sequence *seq; + int sel_side= RNA_enum_get(op->ptr, "side"); + + if (ed==NULL) + return OPERATOR_CANCELLED; + + for(seq= ed->seqbasep->first; seq; seq=seq->next) { + if (seq->flag & SELECT) { + switch(sel_side) { + case SEQ_SIDE_LEFT: + seq->flag &= ~SEQ_RIGHTSEL; + seq->flag |= SEQ_LEFTSEL; + break; + case SEQ_SIDE_RIGHT: + seq->flag &= ~SEQ_LEFTSEL; + seq->flag |= SEQ_RIGHTSEL; + break; + case SEQ_SIDE_BOTH: + seq->flag |= SEQ_LEFTSEL+SEQ_RIGHTSEL; + break; + } + } + } + + ED_undo_push(C, "Select Handles, Sequencer"); + ED_area_tag_redraw(CTX_wm_area(C)); + + return OPERATOR_FINISHED; +} + +void SEQUENCER_OT_select_handles(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Select Handles"; + ot->idname= "SEQUENCER_OT_select_handles"; + + /* api callbacks */ + ot->exec= sequencer_select_handles_exec; + ot->poll= ED_operator_sequencer_active; + + /* properties */ + RNA_def_enum(ot->srna, "side", prop_side_types, SEQ_SIDE_BOTH, "Side", "The side of the handle that is selected"); +} + + /* borderselect operator */ static int sequencer_borderselect_exec(bContext *C, wmOperator *op) { |