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
path: root/source
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2017-01-19 15:04:56 +0300
committerAntonio Vazquez <blendergit@gmail.com>2017-01-19 15:05:23 +0300
commit446ed355a56441de3031e3bcc756ec462a874439 (patch)
treef12da560fd4054c16e25524ca62de0edbe9fcdf0 /source
parent666cb5ddd9a11e88853e012bf57ba05fca09c60f (diff)
GPencil: Add option to create blank frame in active layer only
Now it is possible to select if the blank frame is created in active layer only or in all layers.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index ccccd6381b2..5b011b679a6 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -703,12 +703,14 @@ static int UNUSED_FUNCTION(gp_blank_frame_add_poll)(bContext *C)
return 0;
}
-static int gp_blank_frame_add_exec(bContext *C, wmOperator *UNUSED(op))
+static int gp_blank_frame_add_exec(bContext *C, wmOperator *op)
{
Scene *scene = CTX_data_scene(C);
bGPdata *gpd = ED_gpencil_data_get_active(C);
bGPDlayer *active_gpl = BKE_gpencil_layer_getactive(gpd);
-
+
+ const bool all_layers = RNA_boolean_get(op->ptr, "all_layers");
+
/* Initialise datablock and an active layer if nothing exists yet */
if (ELEM(NULL, gpd, active_gpl)) {
/* let's just be lazy, and call the "Add New Layer" operator, which sets everything up as required */
@@ -720,6 +722,10 @@ static int gp_blank_frame_add_exec(bContext *C, wmOperator *UNUSED(op))
*/
CTX_DATA_BEGIN(C, bGPDlayer *, gpl, editable_gpencil_layers)
{
+ if ((all_layers == false) && (gpl != active_gpl)) {
+ continue;
+ }
+
/* 1) Check for an existing frame on the current frame */
bGPDframe *gpf = BKE_gpencil_layer_find_frame(gpl, CFRA);
if (gpf) {
@@ -754,6 +760,7 @@ void GPENCIL_OT_blank_frame_add(wmOperatorType *ot)
/* properties */
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
+ RNA_def_boolean(ot->srna, "all_layers", false, "All Layers", "Create blank frame in all layers, not only active");
}
/* ******************* Delete Active Frame ************************ */