diff --git a/src/libresrc/default_config.json b/src/libresrc/default_config.json index e177379b2..6b7766218 100644 --- a/src/libresrc/default_config.json +++ b/src/libresrc/default_config.json @@ -612,6 +612,7 @@ "Show Keyframes" : true }, "Subtitle Sync" : true, - "Video Pan": false + "Video Pan": false, + "Default to Video Zoom": false } } diff --git a/src/libresrc/osx/default_config.json b/src/libresrc/osx/default_config.json index c6408ec67..f30b5176d 100644 --- a/src/libresrc/osx/default_config.json +++ b/src/libresrc/osx/default_config.json @@ -612,6 +612,7 @@ "Show Keyframes" : true }, "Subtitle Sync" : true, - "Video Pan": false + "Video Pan": false, + "Default to Video Zoom": false } } diff --git a/src/preferences.cpp b/src/preferences.cpp index 1eb906c3a..813598900 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -435,6 +435,8 @@ void Advanced_Video(wxTreebook *book, Preferences *parent) { p->OptionChoice(expert, _("Subtitles provider"), sp_choice, "Subtitle/Provider"); p->OptionAdd(expert, _("Video Panning"), "Video/Video Pan"); + p->OptionAdd(expert, _("Default to Video Zoom"), "Video/Default to Video Zoom") + ->SetToolTip("Reverses the behavior of Ctrl while scrolling the video display. If not set, scrolling will default to UI zoom and Ctrl+scrolling will zoom the video. If set, this will be reversed."); #ifdef WITH_AVISYNTH diff --git a/src/video_display.cpp b/src/video_display.cpp index ebee959be..319a51c72 100644 --- a/src/video_display.cpp +++ b/src/video_display.cpp @@ -409,11 +409,13 @@ void VideoDisplay::OnMouseLeave(wxMouseEvent& event) { void VideoDisplay::OnMouseWheel(wxMouseEvent& event) { bool videoPan = OPT_GET("Video/Video Pan")->GetBool(); if (int wheel = event.GetWheelRotation()) { - if (ForwardMouseWheelEvent(this, event)) - if (event.ControlDown() || !videoPan) + if (ForwardMouseWheelEvent(this, event)) { + if (!videoPan || (event.ControlDown() == OPT_GET("Video/Default to Video Zoom")->GetBool())) { SetWindowZoom(windowZoomValue + .125 * (wheel / event.GetWheelDelta())); - else + } else { SetVideoZoom(wheel / event.GetWheelDelta()); + } + } } }