diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2019-10-02 14:15:37 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2019-10-02 14:15:37 +0300 |
commit | 386ba094988fc793f8e060d15438566e5e2d2cae (patch) | |
tree | 4cbde50b5d1d7a45c89ee99c29dd1b86d1d97b59 /source/blender/editors/space_action/action_select.c | |
parent | 6129e20cec4639aebf335ff13b2ba0c59670662d (diff) | |
parent | f97a64aa9b7b384f8221a1ef4f2eef9cde1238db (diff) |
Merge branch 'master' into temp-gpencil-drw-engine
Conflicts:
source/blender/draw/engines/gpencil/gpencil_engine.c
Diffstat (limited to 'source/blender/editors/space_action/action_select.c')
-rw-r--r-- | source/blender/editors/space_action/action_select.c | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c index 9e2634b183a..4a4ff5f5605 100644 --- a/source/blender/editors/space_action/action_select.c +++ b/source/blender/editors/space_action/action_select.c @@ -339,7 +339,9 @@ static int actkeys_deselectall_exec(bContext *C, wmOperator *op) /* set notifier that keyframe selection have changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -572,7 +574,9 @@ static int actkeys_box_select_exec(bContext *C, wmOperator *op) /* set notifier that keyframe selection have changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -805,7 +809,9 @@ static int actkeys_lassoselect_exec(bContext *C, wmOperator *op) /* send notifier that keyframe selection has changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -871,7 +877,9 @@ static int action_circle_select_exec(bContext *C, wmOperator *op) /* send notifier that keyframe selection has changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -1099,7 +1107,9 @@ static int actkeys_columnselect_exec(bContext *C, wmOperator *op) /* set notifier that keyframe selection have changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -1159,7 +1169,9 @@ static int actkeys_select_linked_exec(bContext *C, wmOperator *UNUSED(op)) /* set notifier that keyframe selection has changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -1243,7 +1255,9 @@ static int actkeys_select_more_exec(bContext *C, wmOperator *UNUSED(op)) /* set notifier that keyframe selection has changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -1278,7 +1292,9 @@ static int actkeys_select_less_exec(bContext *C, wmOperator *UNUSED(op)) /* set notifier that keyframe selection has changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_SELECTED, NULL); - + if (ac.datatype == ANIMCONT_GPENCIL) { + WM_event_add_notifier(C, NC_ANIMATION | ND_ANIMCHAN | NA_SELECTED, NULL); + } return OPERATOR_FINISHED; } @@ -1717,22 +1733,26 @@ static void mouse_action_keys(bAnimContext *ac, /* Highlight GPencil Layer */ if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_GPLAYER) { + bGPdata *gpd = (bGPdata *)ale->id; bGPDlayer *gpl = ale->data; gpl->flag |= GP_LAYER_SELECT; - // gpencil_layer_setactive(gpd, gpl); + /* Update other layer status. */ + if (BKE_gpencil_layer_getactive(gpd) != gpl) { + BKE_gpencil_layer_setactive(gpd, gpl); + BKE_gpencil_layer_autolock_set(gpd, false); + WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, NULL); + } } } else if (ac->datatype == ANIMCONT_MASK) { /* deselect all other channels first */ ANIM_deselect_anim_channels(ac, ac->data, ac->datatype, 0, ACHANNEL_SETFLAG_CLEAR); - /* Highlight GPencil Layer */ if (ale != NULL && ale->data != NULL && ale->type == ANIMTYPE_MASKLAYER) { MaskLayer *masklay = ale->data; masklay->flag |= MASK_LAYERFLAG_SELECT; - // gpencil_layer_setactive(gpd, gpl); } } } |