diff options
Diffstat (limited to 'source/blender/editors/animation/anim_channels_edit.c')
-rw-r--r-- | source/blender/editors/animation/anim_channels_edit.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 01575bff3c2..051d9377207 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -2457,8 +2457,8 @@ static int animchannels_borderselect_exec(bContext *C, wmOperator *op) bAnimContext ac; rcti rect; short selectmode = 0; - int gesture_mode; - bool extend; + const bool select = !RNA_boolean_get(op->ptr, "deselect"); + const bool extend = RNA_boolean_get(op->ptr, "extend"); /* get editor data */ if (ANIM_animdata_get_context(C, &ac) == 0) @@ -2466,17 +2466,17 @@ static int animchannels_borderselect_exec(bContext *C, wmOperator *op) /* get settings from operator */ WM_operator_properties_border_to_rcti(op, &rect); - - gesture_mode = RNA_int_get(op->ptr, "gesture_mode"); - extend = RNA_boolean_get(op->ptr, "extend"); - if (!extend) + if (!extend) { ANIM_deselect_anim_channels(&ac, ac.data, ac.datatype, true, ACHANNEL_SETFLAG_CLEAR); + } - if (gesture_mode == GESTURE_MODAL_SELECT) + if (select) { selectmode = ACHANNEL_SETFLAG_ADD; - else + } + else { selectmode = ACHANNEL_SETFLAG_CLEAR; + } /* apply borderselect animation channels */ borderselect_anim_channels(&ac, &rect, selectmode); @@ -2495,10 +2495,10 @@ static void ANIM_OT_channels_select_border(wmOperatorType *ot) ot->description = "Select all animation channels within the specified region"; /* api callbacks */ - ot->invoke = WM_border_select_invoke; + ot->invoke = WM_gesture_border_invoke; ot->exec = animchannels_borderselect_exec; - ot->modal = WM_border_select_modal; - ot->cancel = WM_border_select_cancel; + ot->modal = WM_gesture_border_modal; + ot->cancel = WM_gesture_border_cancel; ot->poll = animedit_poll_channels_nla_tweakmode_off; @@ -2506,7 +2506,7 @@ static void ANIM_OT_channels_select_border(wmOperatorType *ot) ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; /* rna */ - WM_operator_properties_gesture_border(ot, true); + WM_operator_properties_gesture_border_select(ot); } /* ******************* Rename Operator ***************************** */ |