From add6e2ac430652a96ff6fd1a72824796064e259f Mon Sep 17 00:00:00 2001 From: sr55 Date: Fri, 15 Dec 2017 21:33:57 +0000 Subject: [PATCH] WinGui: Mouse Wheel can scroll previews. --- .../Interfaces/IStaticPreviewViewModel.cs | 3 +++ .../Interfaces/ISummaryViewModel.cs | 3 +++ .../ViewModels/StaticPreviewViewModel.cs | 22 +++++++++++++++++++ .../ViewModels/SummaryViewModel.cs | 10 +++++++++ .../HandBrakeWPF/Views/StaticPreviewView.xaml | 6 +---- .../Views/StaticPreviewView.xaml.cs | 15 +++++++++++++ win/CS/HandBrakeWPF/Views/SummaryView.xaml | 3 ++- win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs | 15 +++++++++++++ 8 files changed, 71 insertions(+), 6 deletions(-) diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs index 919a62170..06a22ae01 100644 --- a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs @@ -33,5 +33,8 @@ namespace HandBrakeWPF.ViewModels.Interfaces /// Gets or sets a value indicating whether is open. /// bool IsOpen { get; set; } + + void PreviousPreview(); + void NextPreview(); } } diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/ISummaryViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/ISummaryViewModel.cs index 8ed5deb78..67d51a823 100644 --- a/win/CS/HandBrakeWPF/ViewModels/Interfaces/ISummaryViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/Interfaces/ISummaryViewModel.cs @@ -19,5 +19,8 @@ namespace HandBrakeWPF.ViewModels.Interfaces event EventHandler OutputFormatChanged; void SetContainer(OutputFormat container); void UpdateDisplayedInfo(); + + void PreviousPreview(); + void NextPreview(); } } \ No newline at end of file diff --git a/win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs index 7359d2fd6..6f5fc6e5d 100644 --- a/win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs @@ -426,6 +426,27 @@ namespace HandBrakeWPF.ViewModels /// public bool IsOpen { get; set; } + public void NextPreview() + { + int maxPreview = this.userSettingService.GetUserSetting(UserSettingConstants.PreviewScanCount); + if ((this.SelectedPreviewImage + 1) == maxPreview) + { + return; + } + + this.SelectedPreviewImage = this.SelectedPreviewImage + 1; + } + + public void PreviousPreview() + { + if (this.SelectedPreviewImage < 1) + { + return; + } + + this.SelectedPreviewImage = this.SelectedPreviewImage - 1; + } + /// /// The update preview frame. /// @@ -667,6 +688,7 @@ namespace HandBrakeWPF.ViewModels this.encodeService.Start(((QueueTask)state).Task, ((QueueTask)state).Configuration); this.userSettingService.SetUserSetting(UserSettingConstants.LastPreviewDuration, this.Duration); } + #endregion #region Event Handlers diff --git a/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs index a0e4b2a78..90676cc0e 100644 --- a/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs @@ -358,6 +358,11 @@ namespace HandBrakeWPF.ViewModels public void NextPreview() { int maxPreview = this.userSettingService.GetUserSetting(UserSettingConstants.PreviewScanCount); + if (this.selectedPreview == maxPreview) + { + return; + } + this.selectedPreview = this.selectedPreview + 1; this.UpdatePreviewFrame(); this.PreviewInfo = string.Format(ResourcesUI.SummaryView_PreviewInfo, this.selectedPreview, maxPreview); @@ -369,6 +374,11 @@ namespace HandBrakeWPF.ViewModels public void PreviousPreview() { int maxPreview = this.userSettingService.GetUserSetting(UserSettingConstants.PreviewScanCount); + if (this.selectedPreview <= 1) + { + return; + } + this.selectedPreview = this.selectedPreview - 1; this.UpdatePreviewFrame(); this.PreviewInfo = string.Format(ResourcesUI.SummaryView_PreviewInfo, this.selectedPreview, maxPreview); diff --git a/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml b/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml index 517ae13f9..c7eb5fb09 100644 --- a/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml +++ b/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml @@ -21,7 +21,7 @@ - + - - - - diff --git a/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml.cs b/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml.cs index 8c2c55991..17ef64928 100644 --- a/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml.cs +++ b/win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml.cs @@ -10,6 +10,9 @@ namespace HandBrakeWPF.Views { using System.Windows; + using System.Windows.Input; + + using HandBrakeWPF.ViewModels.Interfaces; /// /// Interaction logic for StaticPreviewView.xaml @@ -23,5 +26,17 @@ namespace HandBrakeWPF.Views { InitializeComponent(); } + + private void PreviewImage_OnMouseWheel(object sender, MouseWheelEventArgs e) + { + if (e.Delta > 1) + { + ((IStaticPreviewViewModel)this.DataContext).NextPreview(); + } + else + { + ((IStaticPreviewViewModel)this.DataContext).PreviousPreview(); + } + } } } diff --git a/win/CS/HandBrakeWPF/Views/SummaryView.xaml b/win/CS/HandBrakeWPF/Views/SummaryView.xaml index e2d638554..cb3ed220b 100644 --- a/win/CS/HandBrakeWPF/Views/SummaryView.xaml +++ b/win/CS/HandBrakeWPF/Views/SummaryView.xaml @@ -118,7 +118,7 @@ + MaxWidth="{Binding MaxWidth}" MaxHeight="{Binding MaxHeight}" MouseWheel="PreviewImage_OnMouseWheel" /> @@ -129,6 +129,7 @@ + diff --git a/win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs b/win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs index e3c35b48e..8c21fc3da 100644 --- a/win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs +++ b/win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs @@ -10,6 +10,9 @@ namespace HandBrakeWPF.Views { using System.Windows.Controls; + using System.Windows.Input; + + using HandBrakeWPF.ViewModels.Interfaces; /// /// Interaction logic for SummaryView.xaml @@ -20,5 +23,17 @@ namespace HandBrakeWPF.Views { this.InitializeComponent(); } + + private void PreviewImage_OnMouseWheel(object sender, MouseWheelEventArgs e) + { + if (e.Delta > 1) + { + ((ISummaryViewModel)this.DataContext).NextPreview(); + } + else + { + ((ISummaryViewModel)this.DataContext).PreviousPreview(); + } + } } } -- 2.40.0