UI: disable scene and view layer delete buttons when not available.
Differential Revision: https://developer.blender.org/D4210
This commit is contained in:
parent
ccc48bf27e
commit
043a005269
|
@ -718,6 +718,12 @@ void SCENE_OT_view_layer_add(wmOperatorType *ot)
|
|||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL;
|
||||
}
|
||||
|
||||
static bool view_layer_remove_poll(bContext *C)
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
return (scene->view_layers.first != scene->view_layers.last);
|
||||
}
|
||||
|
||||
static int view_layer_remove_exec(bContext *C, wmOperator *UNUSED(op))
|
||||
{
|
||||
Main *bmain = CTX_data_main(C);
|
||||
|
@ -742,6 +748,7 @@ void SCENE_OT_view_layer_remove(wmOperatorType *ot)
|
|||
|
||||
/* api callbacks */
|
||||
ot->exec = view_layer_remove_exec;
|
||||
ot->poll = view_layer_remove_poll;
|
||||
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_INTERNAL;
|
||||
|
|
|
@ -238,6 +238,12 @@ static void SCENE_OT_new(wmOperatorType *ot)
|
|||
ot->prop = RNA_def_enum(ot->srna, "type", type_items, 0, "Type", "");
|
||||
}
|
||||
|
||||
static bool scene_delete_poll(bContext *C)
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
return (scene->id.prev || scene->id.next);
|
||||
}
|
||||
|
||||
static int scene_delete_exec(bContext *C, wmOperator *UNUSED(op))
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
|
@ -263,6 +269,7 @@ static void SCENE_OT_delete(wmOperatorType *ot)
|
|||
|
||||
/* api callbacks */
|
||||
ot->exec = scene_delete_exec;
|
||||
ot->poll = scene_delete_poll;
|
||||
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
|
Loading…
Reference in New Issue