Merge branch 'blender-v3.0-release'
This commit is contained in:
commit
e1cb2a226c
|
@ -41,7 +41,7 @@ def _space_view_types(st):
|
|||
view_type = st.view_type
|
||||
return (
|
||||
view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'},
|
||||
view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'},
|
||||
view_type == 'PREVIEW',
|
||||
)
|
||||
|
||||
|
||||
|
@ -196,10 +196,6 @@ class SEQUENCER_HT_header(Header):
|
|||
row = layout.row(align=True)
|
||||
row.prop(sequencer_tool_settings, "overlap_mode", text="")
|
||||
|
||||
if st.view_type == 'SEQUENCER_PREVIEW':
|
||||
row = layout.row(align=True)
|
||||
row.prop(sequencer_tool_settings, "pivot_point", text="", icon_only=True)
|
||||
|
||||
if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
|
||||
row = layout.row(align=True)
|
||||
row.prop(tool_settings, "use_snap_sequencer", text="")
|
||||
|
@ -248,7 +244,8 @@ class SEQUENCER_MT_editor_menus(Menu):
|
|||
|
||||
layout.menu("SEQUENCER_MT_strip")
|
||||
|
||||
layout.menu("SEQUENCER_MT_image")
|
||||
if st.view_type in {'SEQUENCER', 'PREVIEW'}:
|
||||
layout.menu("SEQUENCER_MT_image")
|
||||
|
||||
|
||||
class SEQUENCER_PT_gizmo_display(Panel):
|
||||
|
@ -576,10 +573,6 @@ class SEQUENCER_MT_select(Menu):
|
|||
st = context.space_data
|
||||
has_sequencer, has_preview = _space_view_types(st)
|
||||
|
||||
# FIXME: this doesn't work for both preview + window region.
|
||||
if has_preview:
|
||||
layout.operator_context = 'INVOKE_REGION_PREVIEW'
|
||||
|
||||
layout.operator("sequencer.select_all", text="All").action = 'SELECT'
|
||||
layout.operator("sequencer.select_all", text="None").action = 'DESELECT'
|
||||
layout.operator("sequencer.select_all", text="Invert").action = 'INVERT'
|
||||
|
@ -821,7 +814,6 @@ class SEQUENCER_MT_strip_transform(Menu):
|
|||
else:
|
||||
layout.operator_context = 'INVOKE_REGION_WIN'
|
||||
|
||||
# FIXME: mixed preview/sequencer views.
|
||||
if has_preview:
|
||||
layout.operator("transform.translate", text="Move")
|
||||
layout.operator("transform.rotate", text="Rotate")
|
||||
|
@ -917,12 +909,6 @@ class SEQUENCER_MT_strip(Menu):
|
|||
st = context.space_data
|
||||
has_sequencer, has_preview = _space_view_types(st)
|
||||
|
||||
# FIXME: this doesn't work for both preview + window region.
|
||||
if has_preview:
|
||||
layout.operator_context = 'INVOKE_REGION_PREVIEW'
|
||||
else:
|
||||
layout.operator_context = 'INVOKE_REGION_WIN'
|
||||
|
||||
layout.menu("SEQUENCER_MT_strip_transform")
|
||||
layout.separator()
|
||||
|
||||
|
|
|
@ -3153,14 +3153,7 @@ class SEQUENCER_PT_tools_active(ToolSelectPanelHelper, Panel):
|
|||
],
|
||||
'SEQUENCER_PREVIEW': [
|
||||
*_tools_select,
|
||||
_defs_sequencer_generic.cursor,
|
||||
None,
|
||||
_defs_sequencer_generic.translate,
|
||||
_defs_sequencer_generic.rotate,
|
||||
_defs_sequencer_generic.scale,
|
||||
_defs_sequencer_generic.transform,
|
||||
None,
|
||||
_defs_sequencer_generic.sample,
|
||||
*_tools_annotate,
|
||||
None,
|
||||
_defs_sequencer_generic.blade,
|
||||
|
|
|
@ -2097,6 +2097,10 @@ static int sequencer_draw_get_transform_preview_frame(Scene *scene)
|
|||
static void seq_draw_image_origin_and_outline(const bContext *C, Sequence *seq, bool is_active_seq)
|
||||
{
|
||||
SpaceSeq *sseq = CTX_wm_space_seq(C);
|
||||
const ARegion *region = CTX_wm_region(C);
|
||||
if (region->regiontype == RGN_TYPE_PREVIEW && !sequencer_view_preview_only_poll(C)) {
|
||||
return;
|
||||
}
|
||||
if ((seq->flag & SELECT) == 0) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@ bool sequencer_strip_has_path_poll(bContext *C)
|
|||
(SEQ_HAS_PATH(seq)));
|
||||
}
|
||||
|
||||
bool sequencer_view_preview_poll(bContext *C)
|
||||
bool sequencer_view_has_preview_poll(bContext *C)
|
||||
{
|
||||
SpaceSeq *sseq = CTX_wm_space_seq(C);
|
||||
if (sseq == NULL) {
|
||||
|
@ -231,6 +231,26 @@ bool sequencer_view_preview_poll(bContext *C)
|
|||
return true;
|
||||
}
|
||||
|
||||
bool sequencer_view_preview_only_poll(const bContext *C)
|
||||
{
|
||||
SpaceSeq *sseq = CTX_wm_space_seq(C);
|
||||
if (sseq == NULL) {
|
||||
return false;
|
||||
}
|
||||
if (SEQ_editing_get(CTX_data_scene(C)) == NULL) {
|
||||
return false;
|
||||
}
|
||||
if (!(ELEM(sseq->view, SEQ_VIEW_PREVIEW) && (sseq->mainb == SEQ_DRAW_IMG_IMBUF))) {
|
||||
return false;
|
||||
}
|
||||
ARegion *region = CTX_wm_region(C);
|
||||
if (!(region && region->regiontype == RGN_TYPE_PREVIEW)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool sequencer_view_strips_poll(bContext *C)
|
||||
{
|
||||
SpaceSeq *sseq = CTX_wm_space_seq(C);
|
||||
|
@ -1710,8 +1730,11 @@ static int sequencer_delete_exec(bContext *C, wmOperator *UNUSED(op))
|
|||
|
||||
SEQ_prefetch_stop(scene);
|
||||
|
||||
const bool is_preview = sequencer_view_preview_poll(C);
|
||||
const bool is_preview = sequencer_view_has_preview_poll(C);
|
||||
if (is_preview) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
SEQ_query_rendered_strips_to_tag(seqbasep, scene->r.cfra, 0);
|
||||
}
|
||||
|
||||
|
@ -3438,7 +3461,7 @@ void SEQUENCER_OT_cursor_set(wmOperatorType *ot)
|
|||
/* api callbacks */
|
||||
ot->exec = sequencer_set_2d_cursor_exec;
|
||||
ot->invoke = sequencer_set_2d_cursor_invoke;
|
||||
ot->poll = sequencer_view_preview_poll;
|
||||
ot->poll = sequencer_view_has_preview_poll;
|
||||
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
|
|
@ -110,7 +110,8 @@ bool sequencer_edit_poll(struct bContext *C);
|
|||
/* UNUSED */
|
||||
/* bool sequencer_strip_poll(struct bContext *C); */
|
||||
bool sequencer_strip_has_path_poll(struct bContext *C);
|
||||
bool sequencer_view_preview_poll(struct bContext *C);
|
||||
bool sequencer_view_has_preview_poll(struct bContext *C);
|
||||
bool sequencer_view_preview_only_poll(const struct bContext *C);
|
||||
bool sequencer_view_strips_poll(struct bContext *C);
|
||||
|
||||
/* Externs. */
|
||||
|
|
|
@ -416,8 +416,11 @@ static int sequencer_de_select_all_exec(bContext *C, wmOperator *op)
|
|||
Editing *ed = SEQ_editing_get(scene);
|
||||
Sequence *seq;
|
||||
|
||||
const bool is_preview = sequencer_view_preview_poll(C);
|
||||
const bool is_preview = sequencer_view_has_preview_poll(C);
|
||||
if (is_preview) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
SEQ_query_rendered_strips_to_tag(ed->seqbasep, scene->r.cfra, 0);
|
||||
}
|
||||
|
||||
|
@ -494,8 +497,11 @@ static int sequencer_select_inverse_exec(bContext *C, wmOperator *UNUSED(op))
|
|||
Editing *ed = SEQ_editing_get(scene);
|
||||
Sequence *seq;
|
||||
|
||||
const bool is_preview = sequencer_view_preview_poll(C);
|
||||
const bool is_preview = sequencer_view_has_preview_poll(C);
|
||||
if (is_preview) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
SEQ_query_rendered_strips_to_tag(ed->seqbasep, scene->r.cfra, 0);
|
||||
}
|
||||
|
||||
|
@ -866,6 +872,9 @@ static int sequencer_select_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
if (region->regiontype == RGN_TYPE_PREVIEW) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
const SpaceSeq *sseq = CTX_wm_space_seq(C);
|
||||
if (sseq->mainb != SEQ_DRAW_IMG_IMBUF) {
|
||||
return OPERATOR_CANCELLED;
|
||||
|
@ -1612,6 +1621,9 @@ static int sequencer_box_select_exec(bContext *C, wmOperator *op)
|
|||
|
||||
ARegion *region = CTX_wm_region(C);
|
||||
if (region->regiontype == RGN_TYPE_PREVIEW) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
seq_box_select_seq_from_preview(C, &rectf, sel_op);
|
||||
sequencer_select_do_updates(C, scene);
|
||||
return OPERATOR_FINISHED;
|
||||
|
@ -1671,6 +1683,11 @@ static int sequencer_box_select_invoke(bContext *C, wmOperator *op, const wmEven
|
|||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
View2D *v2d = &CTX_wm_region(C)->v2d;
|
||||
ARegion *region = CTX_wm_region(C);
|
||||
|
||||
if (region->regiontype == RGN_TYPE_PREVIEW && !sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
const bool tweak = RNA_boolean_get(op->ptr, "tweak");
|
||||
|
||||
|
@ -2003,8 +2020,11 @@ static int sequencer_select_grouped_exec(bContext *C, wmOperator *op)
|
|||
ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene));
|
||||
Sequence *actseq = SEQ_select_active_get(scene);
|
||||
|
||||
const bool is_preview = sequencer_view_preview_poll(C);
|
||||
const bool is_preview = sequencer_view_has_preview_poll(C);
|
||||
if (is_preview) {
|
||||
if (!sequencer_view_preview_only_poll(C)) {
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
SEQ_query_rendered_strips_to_tag(seqbase, scene->r.cfra, 0);
|
||||
if (actseq && actseq->tmp_tag == false) {
|
||||
actseq = NULL;
|
||||
|
|
|
@ -405,7 +405,7 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
|
|||
ot->invoke = WM_gesture_box_invoke;
|
||||
ot->exec = view_ghost_border_exec;
|
||||
ot->modal = WM_gesture_box_modal;
|
||||
ot->poll = sequencer_view_preview_poll;
|
||||
ot->poll = sequencer_view_has_preview_poll;
|
||||
ot->cancel = WM_gesture_box_cancel;
|
||||
|
||||
/* Flags. */
|
||||
|
|
|
@ -118,16 +118,17 @@ static void freeSeqData(TransInfo *UNUSED(t),
|
|||
void createTransSeqImageData(TransInfo *t)
|
||||
{
|
||||
Editing *ed = SEQ_editing_get(t->scene);
|
||||
const SpaceSeq *sseq = t->area->spacedata.first;
|
||||
const ARegion *region = t->region;
|
||||
|
||||
if (ed == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
{
|
||||
const SpaceSeq *sseq = t->area->spacedata.first;
|
||||
if (sseq->mainb != SEQ_DRAW_IMG_IMBUF) {
|
||||
return;
|
||||
}
|
||||
if (sseq->mainb != SEQ_DRAW_IMG_IMBUF) {
|
||||
return;
|
||||
}
|
||||
if (region->regiontype == RGN_TYPE_PREVIEW && sseq->view == SEQ_VIEW_SEQUENCE_PREVIEW) {
|
||||
return;
|
||||
}
|
||||
|
||||
ListBase *seqbase = SEQ_active_seqbase_get(ed);
|
||||
|
|
Loading…
Reference in New Issue