]> granicus.if.org Git - handbrake/commitdiff
WinGui: Added some additional sanity checking around preset import/export code.
authorsr55 <sr55.hb@outlook.com>
Sun, 21 Apr 2013 14:28:52 +0000 (14:28 +0000)
committersr55 <sr55.hb@outlook.com>
Sun, 21 Apr 2013 14:28:52 +0000 (14:28 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5405 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrake.ApplicationServices/Factories/PlistPresetFactory.cs
win/CS/HandBrakeWPF/ViewModels/AddPresetViewModel.cs

index 9179f38872ea8785f87c3066cd70f6c7d919f8dc..6e738351a3799e3687e103c49a0d0d696711bfed 100644 (file)
@@ -127,10 +127,10 @@ namespace HandBrake.ApplicationServices.Factories
                     preset.Task.Cropping.Right = kvp.Value;\r
                     break;\r
                 case "PictureHeight":\r
-                    preset.Task.Height = kvp.Value;\r
+                    preset.Task.Height = kvp.Value == null || kvp.Value == 0 ? null : kvp.Value;\r
                     break;\r
                 case "PictureWidth":\r
-                    preset.Task.Width = kvp.Value;\r
+                    preset.Task.Width = kvp.Value == null || kvp.Value == 0 ? null : kvp.Value;\r
                     break;\r
                 case "PictureKeepRatio":\r
                     preset.Task.KeepDisplayAspect = kvp.Value == 1;\r
index aa447e2e23ffd5dc2dda487ca916a82f46f82727..f4f496fcb24cc0112b2b6dc90518a3853bf2793c 100644 (file)
@@ -12,8 +12,6 @@ namespace HandBrakeWPF.ViewModels
     using System.Collections.Generic;\r
     using System.Windows;\r
 \r
-    using Caliburn.Micro;\r
-\r
     using HandBrake.ApplicationServices.Model;\r
     using HandBrake.ApplicationServices.Services;\r
     using HandBrake.ApplicationServices.Services.Interfaces;\r
@@ -27,6 +25,8 @@ namespace HandBrakeWPF.ViewModels
     /// </summary>\r
     public class AddPresetViewModel : ViewModelBase, IAddPresetViewModel\r
     {\r
+        /* TODO this window is up for redesign. Quite a few nippy edge cases that can cause odd behaviour with importing presets. */\r
+\r
         /// <summary>\r
         /// Backing field for the Preset Service\r
         /// </summary>\r
@@ -50,16 +50,13 @@ namespace HandBrakeWPF.ViewModels
         /// <summary>\r
         /// Initializes a new instance of the <see cref="AddPresetViewModel"/> class.\r
         /// </summary>\r
-        /// <param name="windowManager">\r
-        /// The window manager.\r
-        /// </param>\r
         /// <param name="presetService">\r
         /// The Preset Service\r
         /// </param>\r
         /// <param name="errorService">\r
         /// The Error Service\r
         /// </param>\r
-        public AddPresetViewModel(IWindowManager windowManager, IPresetService presetService, IErrorService errorService)\r
+        public AddPresetViewModel(IPresetService presetService, IErrorService errorService)\r
         {\r
             this.presetService = presetService;\r
             this.errorService = errorService;\r
@@ -151,6 +148,12 @@ namespace HandBrakeWPF.ViewModels
                }\r
             }\r
 \r
+            if (this.SelectedPictureSettingMode == PresetPictureSettingsMode.SourceMaximum && (this.Preset.Task.Width == null || this.Preset.Task.Width == 0))\r
+            {\r
+                this.errorService.ShowMessageBox("You must first scan a source to use the 'Source Maximum' Option.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);\r
+                return;\r
+            }\r
+\r
             this.Preset.UsePictureFilters = this.Preset.UsePictureFilters;\r
             this.Preset.PictureSettingsMode = this.SelectedPictureSettingMode;\r
 \r