Fix T39597: Missing entries in VSE Preview menu
authorPeter Schlaile <peter@schlaile.de>
Sun, 27 Apr 2014 20:59:30 +0000 (22:59 +0200)
committerPeter Schlaile <peter@schlaile.de>
Sun, 27 Apr 2014 20:59:30 +0000 (22:59 +0200)
This adds some view ratios in the video sequencer menu, based (copied) on the UV/Image Editor. It also fixes the inverted ratio issue reported in the same task.

Reviewers: #video_sequencer, #user_interface, schlaile

Reviewed By: schlaile

CC: jta, dingto, sergey, schlaile
Differential Revision: https://developer.blender.org/D447

release/scripts/startup/bl_ui/space_sequencer.py
source/blender/editors/space_sequencer/sequencer_edit.c

index 0ce095d48e2185e281cc56a0bee32b61a82e15f5..b77078bf5d44b5a830342874d0d1fd94e2e88cff 100644 (file)
@@ -160,7 +160,16 @@ class SEQUENCER_MT_view(Menu):
         if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}:
             layout.operator_context = 'INVOKE_REGION_PREVIEW'
             layout.operator("sequencer.view_all_preview", text="Fit preview in window")
-            layout.operator("sequencer.view_zoom_ratio", text="Show preview 1:1").ratio = 1.0
+            
+            layout.separator()
+            
+            ratios = ((1, 8), (1, 4), (1, 2), (1, 1), (2, 1), (4, 1), (8, 1))
+
+            for a, b in ratios:
+                layout.operator("sequencer.view_zoom_ratio", text=iface_("Zoom %d:%d") % (a, b), translate=False).ratio = a / b
+            
+            layout.separator()
+
             layout.operator_context = 'INVOKE_DEFAULT'
 
             # # XXX, invokes in the header view
index f14eb2f1b18490e28d6a58f12be119592ac40e87..9b150366a59ed8e13b90500b1fba4238269e687f 100644 (file)
@@ -2296,7 +2296,7 @@ static int sequencer_view_zoom_ratio_exec(bContext *C, wmOperator *op)
        float facx = BLI_rcti_size_x(&v2d->mask) / winx;
        float facy = BLI_rcti_size_y(&v2d->mask) / winy;
 
-       BLI_rctf_resize(&v2d->cur, floorf(winx * facx * ratio + 0.5f), floorf(winy * facy * ratio + 0.5f));
+       BLI_rctf_resize(&v2d->cur, floorf(winx * facx / ratio + 0.5f), floorf(winy * facy / ratio + 0.5f));
 
        ED_region_tag_redraw(CTX_wm_region(C));