From eb7ac3146e1cee6c1246c3772e11538c253559a0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 3 Jan 2010 04:21:40 +0000 Subject: - disallow the change the layer operator in localview. - toggle setting the layers (mainly useful when accessed from the keys) --- source/blender/editors/space_view3d/view3d_header.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'source/blender/editors/space_view3d/view3d_header.c') diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 9b6cfc6cbd0..98f0f2fec65 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -173,6 +173,7 @@ static int layers_exec(bContext *C, wmOperator *op) ScrArea *sa= CTX_wm_area(C); View3D *v3d= sa->spacedata.first; int nr= RNA_int_get(op->ptr, "nr"); + int toggle= RNA_boolean_get(op->ptr, "toggle"); if(nr < 0) return OPERATOR_CANCELLED; @@ -188,9 +189,12 @@ static int layers_exec(bContext *C, wmOperator *op) else { nr--; - if(RNA_boolean_get(op->ptr, "extend")) - v3d->lay |= (1<ptr, "extend")) { + if(toggle && v3d->lay & (1<lay & ~(1<lay &= ~(1<lay |= (1<lay = (1<localvd==NULL); +} + void VIEW3D_OT_layers(wmOperatorType *ot) { /* identifiers */ @@ -248,13 +257,14 @@ void VIEW3D_OT_layers(wmOperatorType *ot) /* api callbacks */ ot->invoke= layers_invoke; ot->exec= layers_exec; - ot->poll= ED_operator_view3d_active; + ot->poll= layers_poll; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; RNA_def_int(ot->srna, "nr", 1, 0, 20, "Number", "The layer number to set, zero for all layers", 0, 20); RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Add this layer to the current view layers"); + RNA_def_boolean(ot->srna, "toggle", 1, "Toggle", "Toggle the layer"); } static char *view3d_modeselect_pup(Scene *scene) -- cgit v1.2.3