]> granicus.if.org Git - handbrake/commitdiff
WinGui: Mouse Wheel can scroll previews.
authorsr55 <sr55.hb@outlook.com>
Fri, 15 Dec 2017 21:33:57 +0000 (21:33 +0000)
committersr55 <sr55.hb@outlook.com>
Fri, 15 Dec 2017 21:33:57 +0000 (21:33 +0000)
win/CS/HandBrakeWPF/ViewModels/Interfaces/IStaticPreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/ISummaryViewModel.cs
win/CS/HandBrakeWPF/ViewModels/StaticPreviewViewModel.cs
win/CS/HandBrakeWPF/ViewModels/SummaryViewModel.cs
win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml
win/CS/HandBrakeWPF/Views/StaticPreviewView.xaml.cs
win/CS/HandBrakeWPF/Views/SummaryView.xaml
win/CS/HandBrakeWPF/Views/SummaryView.xaml.cs

index 919a62170021903011ec8b800a2e161c678d2cf8..06a22ae0168e23724cbe00915320038e4011bb3e 100644 (file)
@@ -33,5 +33,8 @@ namespace HandBrakeWPF.ViewModels.Interfaces
         /// Gets or sets a value indicating whether is open.\r
         /// </summary>\r
         bool IsOpen { get; set; }\r
+\r
+        void PreviousPreview();\r
+        void NextPreview();\r
     }\r
 }\r
index 8ed5deb7842d964b3759bf670c2dc92028064115..67d51a823289b6338eaa38a17c73dec09b61b4df 100644 (file)
@@ -19,5 +19,8 @@ namespace HandBrakeWPF.ViewModels.Interfaces
         event EventHandler<OutputFormatChangedEventArgs> OutputFormatChanged;
         void SetContainer(OutputFormat container);
         void UpdateDisplayedInfo();
+
+        void PreviousPreview();
+        void NextPreview();
     }
 }
\ No newline at end of file
index 7359d2fd689e09b770f1495ed5a715f8175729ec..6f5fc6e5d49e1cd5db80ff8c641480a9e92fecc4 100644 (file)
@@ -426,6 +426,27 @@ namespace HandBrakeWPF.ViewModels
         /// </summary>\r
         public bool IsOpen { get; set; }\r
 \r
+        public void NextPreview()\r
+        {\r
+            int maxPreview = this.userSettingService.GetUserSetting<int>(UserSettingConstants.PreviewScanCount);\r
+            if ((this.SelectedPreviewImage + 1) == maxPreview)\r
+            {\r
+                return;\r
+            }\r
+\r
+            this.SelectedPreviewImage = this.SelectedPreviewImage + 1;\r
+        }\r
+\r
+        public void PreviousPreview()\r
+        {\r
+            if (this.SelectedPreviewImage < 1)\r
+            {\r
+                return;\r
+            }\r
+\r
+            this.SelectedPreviewImage = this.SelectedPreviewImage - 1;\r
+        }\r
+\r
         /// <summary>\r
         ///     The update preview frame.\r
         /// </summary>\r
@@ -667,6 +688,7 @@ namespace HandBrakeWPF.ViewModels
             this.encodeService.Start(((QueueTask)state).Task, ((QueueTask)state).Configuration);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.LastPreviewDuration, this.Duration);\r
         }\r
+\r
         #endregion\r
 \r
         #region Event Handlers\r
index a0e4b2a783fb8c219c331008b852d98513549b2c..90676cc0ec0105b63dc73777dd303d15b02e197b 100644 (file)
@@ -358,6 +358,11 @@ namespace HandBrakeWPF.ViewModels
         public void NextPreview()
         {
             int maxPreview = this.userSettingService.GetUserSetting<int>(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<int>(UserSettingConstants.PreviewScanCount);
+            if (this.selectedPreview <= 1)
+            {
+                return;
+            }
+
             this.selectedPreview = this.selectedPreview - 1;
             this.UpdatePreviewFrame();
             this.PreviewInfo = string.Format(ResourcesUI.SummaryView_PreviewInfo, this.selectedPreview, maxPreview);
index 517ae13f962f0137354a87668795a01abaf37ce4..c7eb5fb09178eb3bf605a46e658d45a27649f616 100644 (file)
@@ -21,7 +21,7 @@
             <TextBlock Text="No Preview Available" VerticalAlignment="Center" Padding="60,60,60,60" FontWeight="Bold" FontSize="25" Foreground="DarkGray" />\r
         </StackPanel>\r
 \r
-        <Image Source="{Binding PreviewImage}" MaxWidth="{Binding Width}" MaxHeight="{Binding Height}" />\r
+        <Image Source="{Binding PreviewImage}" MaxWidth="{Binding Width}" MaxHeight="{Binding Height}" MouseWheel="PreviewImage_OnMouseWheel" />\r
 \r
 \r
         <Border BorderBrush="WhiteSmoke" BorderThickness="1,1,1,1" CornerRadius="8,8,8,8" Padding="8"\r
                     <ProgressBar MinHeight="5" Maximum="100" Minimum="0" Value="{Binding PercentageValue}" Grid.Column="0" Grid.ColumnSpan="2" />\r
                     <TextBlock Margin="5,0,0,0" Text="{Binding Percentage}" Grid.Column="2" HorizontalAlignment="Right" Foreground="White" />\r
                 </Grid>\r
-\r
-\r
-\r
-\r
             </Grid>\r
 \r
         </Border>\r
index 8c2c559910dbaabb2bd6aaef6848813b61211a0f..17ef64928a0eedddddb6401e15d10b32a6fa4e8a 100644 (file)
@@ -10,6 +10,9 @@
 namespace HandBrakeWPF.Views\r
 {\r
     using System.Windows;\r
+    using System.Windows.Input;\r
+\r
+    using HandBrakeWPF.ViewModels.Interfaces;\r
 \r
     /// <summary>\r
     /// Interaction logic for StaticPreviewView.xaml\r
@@ -23,5 +26,17 @@ namespace HandBrakeWPF.Views
         {\r
             InitializeComponent();\r
         }\r
+\r
+        private void PreviewImage_OnMouseWheel(object sender, MouseWheelEventArgs e)\r
+        {\r
+            if (e.Delta > 1)\r
+            {\r
+                ((IStaticPreviewViewModel)this.DataContext).NextPreview();\r
+            }\r
+            else\r
+            {\r
+                ((IStaticPreviewViewModel)this.DataContext).PreviousPreview();\r
+            }\r
+        }\r
     }\r
 }\r
index e2d6385542caab80c6071267f84dc30a2239a150..cb3ed220b9d7d441d637fac58718556931efc493 100644 (file)
                 </Grid.ColumnDefinitions>
 
                 <Image Source="{Binding PreviewImage}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0,5,10,0" x:Name="previewImage" Panel.ZIndex="0" Grid.ColumnSpan="2"
-                       MaxWidth="{Binding MaxWidth}" MaxHeight="{Binding MaxHeight}" />
+                       MaxWidth="{Binding MaxWidth}" MaxHeight="{Binding MaxHeight}" MouseWheel="PreviewImage_OnMouseWheel" />
 
                 <Border Grid.Row="1" Grid.ColumnSpan="2" VerticalAlignment="Bottom" HorizontalAlignment="Center" Background="Transparent" Margin="0,5,0,5">
                     <TextBlock Text="{Binding PreviewInfo}" TextAlignment="Center" Visibility="{Binding IsPreviewInfoVisible, Converter={StaticResource boolToVisConverter}}" />
                         <ColumnDefinition Width="42" />
                         <ColumnDefinition Width="42" />
                     </Grid.ColumnDefinitions>
+                    
                     <Border BorderThickness="1,1,1,1" CornerRadius="4,0,0,4" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Column="0" cal:Message.Attach="[Event MouseDown] = [Action PreviousPreview]"
                             Visibility="{Binding IsPreviousPreviewControlVisible,Converter={StaticResource boolToVisConverter}}"
                             Background="Black" Opacity="0.5" Margin="0,0,0,0" >
index e3c35b48e8f4163e64423fc9e05cd883fd597337..8c21fc3da8d19696064e7ac74478aedff939f6d1 100644 (file)
@@ -10,6 +10,9 @@
 namespace HandBrakeWPF.Views
 {
     using System.Windows.Controls;
+    using System.Windows.Input;
+
+    using HandBrakeWPF.ViewModels.Interfaces;
 
     /// <summary>
     /// 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();
+            }
+        }
     }
 }