From e43a948a2ca7aef365ac0e6808341215e35ee4ff Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 11 Jun 2020 16:05:40 +1000 Subject: Sequencer: view toggle no longer cycles over SEQUENCER_PREVIEW state - Remove the operator, use a generic operator instead. - Switch between PREVIEW/SEQUENCER as the mixed state isn't as useful. - Add menu item to make the shortcut discoverable. - Remove unused & broken "View Type" menu. --- .../keyconfig/keymap_data/blender_default.py | 3 +- release/scripts/startup/bl_ui/space_sequencer.py | 26 ++++++------ .../editors/space_sequencer/sequencer_intern.h | 1 - .../editors/space_sequencer/sequencer_ops.c | 1 - .../editors/space_sequencer/sequencer_view.c | 48 ---------------------- 5 files changed, 16 insertions(+), 63 deletions(-) diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index 878c3bfb01f..bbbe520441c 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -2391,7 +2391,8 @@ def km_sequencercommon(_params): ), ("wm.context_toggle", {"type": 'O', "value": 'PRESS', "shift": True}, {"properties": [("data_path", 'scene.sequence_editor.show_overlay')]}), - ("sequencer.view_toggle", {"type": 'TAB', "value": 'PRESS', "ctrl": True}, None), + ("wm.context_toggle_enum", {"type": 'TAB', "value": 'PRESS', "ctrl": True}, + {"properties": [("data_path", 'space_data.view_type'), ("value_1", 'SEQUENCER'), ("value_2", 'PREVIEW')]}), ]) if _params.select_mouse == 'LEFTMOUSE' and not _params.legacy: diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 26a150f83ef..abe6f614f28 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -176,17 +176,6 @@ class SEQUENCER_MT_editor_menus(Menu): layout.menu("SEQUENCER_MT_strip") -class SEQUENCER_MT_view_toggle(Menu): - bl_label = "View Type" - - def draw(self, _context): - layout = self.layout - - layout.operator("sequencer.view_toggle").type = 'SEQUENCER' - layout.operator("sequencer.view_toggle").type = 'PREVIEW' - layout.operator("sequencer.view_toggle").type = 'SEQUENCER_PREVIEW' - - class SEQUENCER_MT_view_cache(Menu): bl_label = "Cache" @@ -357,6 +346,20 @@ class SEQUENCER_MT_view(Menu): layout.separator() + # Note that the context is needed for the shortcut to display properly. + layout.operator_context = 'INVOKE_REGION_PREVIEW' if is_preview else 'INVOKE_REGION_WIN' + props = layout.operator( + "wm.context_toggle_enum", + text="Toggle Sequencer/Preview", + icon='SEQ_SEQUENCER' if is_preview else 'SEQ_PREVIEW', + ) + props.data_path = "space_data.view_type" + props.value_1 = 'SEQUENCER' + props.value_2 = 'PREVIEW' + layout.operator_context = 'INVOKE_DEFAULT' + + layout.separator() + layout.menu("INFO_MT_area") @@ -2201,7 +2204,6 @@ classes = ( SEQUENCER_MT_range, SEQUENCER_MT_view, SEQUENCER_MT_view_cache, - SEQUENCER_MT_view_toggle, SEQUENCER_MT_preview_zoom, SEQUENCER_MT_proxy, SEQUENCER_MT_select_handle, diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h index f5eb9e88bd5..12533dbc74f 100644 --- a/source/blender/editors/space_sequencer/sequencer_intern.h +++ b/source/blender/editors/space_sequencer/sequencer_intern.h @@ -194,7 +194,6 @@ void SEQUENCER_OT_view_all(struct wmOperatorType *ot); void SEQUENCER_OT_view_frame(struct wmOperatorType *ot); void SEQUENCER_OT_view_all_preview(struct wmOperatorType *ot); void SEQUENCER_OT_view_zoom_ratio(struct wmOperatorType *ot); -void SEQUENCER_OT_view_toggle(struct wmOperatorType *ot); void SEQUENCER_OT_view_selected(struct wmOperatorType *ot); void SEQUENCER_OT_view_ghost_border(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c index 617ec9aef7b..0a7aa1a6072 100644 --- a/source/blender/editors/space_sequencer/sequencer_ops.c +++ b/source/blender/editors/space_sequencer/sequencer_ops.c @@ -116,7 +116,6 @@ void sequencer_operatortypes(void) WM_operatortype_append(SEQUENCER_OT_view_frame); WM_operatortype_append(SEQUENCER_OT_view_all_preview); WM_operatortype_append(SEQUENCER_OT_view_zoom_ratio); - WM_operatortype_append(SEQUENCER_OT_view_toggle); WM_operatortype_append(SEQUENCER_OT_view_selected); WM_operatortype_append(SEQUENCER_OT_view_ghost_border); } diff --git a/source/blender/editors/space_sequencer/sequencer_view.c b/source/blender/editors/space_sequencer/sequencer_view.c index dcc18aad981..f91db3efef4 100644 --- a/source/blender/editors/space_sequencer/sequencer_view.c +++ b/source/blender/editors/space_sequencer/sequencer_view.c @@ -256,54 +256,6 @@ void SEQUENCER_OT_view_zoom_ratio(wmOperatorType *ot) /** \} */ -/* -------------------------------------------------------------------- */ -/** \name View Toggle Operator - * \{ */ - -#if 0 -static const EnumPropertyItem view_type_items[] = { - {SEQ_VIEW_SEQUENCE, "SEQUENCER", ICON_SEQ_SEQUENCER, "Sequencer", ""}, - {SEQ_VIEW_PREVIEW, "PREVIEW", ICON_SEQ_PREVIEW, "Image Preview", ""}, - {SEQ_VIEW_SEQUENCE_PREVIEW, - "SEQUENCER_PREVIEW", - ICON_SEQ_SEQUENCER, - "Sequencer and Image Preview", - ""}, - {0, NULL, 0, NULL, NULL}, -}; -#endif - -static int sequencer_view_toggle_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceSeq *sseq = (SpaceSeq *)CTX_wm_space_data(C); - - sseq->view++; - if (sseq->view > SEQ_VIEW_SEQUENCE_PREVIEW) { - sseq->view = SEQ_VIEW_SEQUENCE; - } - - ED_area_tag_refresh(CTX_wm_area(C)); - - return OPERATOR_FINISHED; -} - -void SEQUENCER_OT_view_toggle(wmOperatorType *ot) -{ - /* Identifiers. */ - ot->name = "View Toggle"; - ot->idname = "SEQUENCER_OT_view_toggle"; - ot->description = "Toggle between sequencer views (sequence, preview, both)"; - - /* Api callbacks. */ - ot->exec = sequencer_view_toggle_exec; - ot->poll = ED_operator_sequencer_active; - - /* Flags. */ - ot->flag = OPTYPE_REGISTER; -} - -/** \} */ - /* -------------------------------------------------------------------- */ /** \name Frame Selected Operator * \{ */ -- cgit v1.2.3