From 1c82ce41279bb0a2bb1efef73814b1e1099379cb Mon Sep 17 00:00:00 2001 From: sr55 Date: Sat, 24 Nov 2012 11:24:43 +0000 Subject: [PATCH] WinGui: Couple of Audio and Advanced Panel bug fixes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5080 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- .../Utilities/QueryGeneratorUtility.cs | 8 +--- .../ViewModels/AdvancedViewModel.cs | 37 +++++++++++++------ win/CS/HandBrakeWPF/Views/AdvancedView.xaml | 2 +- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs b/win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs index 25d59529b..83e551b42 100644 --- a/win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs +++ b/win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs @@ -723,12 +723,8 @@ namespace HandBrake.ApplicationServices.Utilities if (!string.IsNullOrEmpty(fallbackEncoders)) { - // Special Case, The CLI alredy defaults to ALL, so if all area selected, then just set copy-mask to none - if (fallbackEncoders == "aac,ac3,dtshd,dts,mp3") - { - query += string.Format(" --audio-copy-mask none"); - } - else + // Special Case, The CLI alredy defaults to ALL, so if all area selected, then don't need to set copy mask + if (fallbackEncoders != "aac,ac3,dtshd,dts,mp3") { query += string.Format(" --audio-copy-mask {0}", fallbackEncoders); } diff --git a/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs index 5cfa1f413..e66ea0920 100644 --- a/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs @@ -14,11 +14,8 @@ namespace HandBrakeWPF.ViewModels using System.Globalization; using System.Linq; - using Caliburn.Micro; - using HandBrake.ApplicationServices.Model; using HandBrake.ApplicationServices.Parsing; - using HandBrake.ApplicationServices.Services.Interfaces; using HandBrake.Interop.Model.Encoding; using HandBrakeWPF.Helpers; @@ -32,6 +29,11 @@ namespace HandBrakeWPF.ViewModels { #region Constants and Fields + /// + /// AdvancedOptionsCache; + /// + private string optionsCache = string.Empty; + /// /// Backing field for displaying x264 options /// @@ -164,13 +166,7 @@ namespace HandBrakeWPF.ViewModels /// /// Initializes a new instance of the class. /// - /// - /// The window manager. - /// - /// - /// The user Setting Service. - /// - public AdvancedViewModel(IWindowManager windowManager, IUserSettingService userSettingService) + public AdvancedViewModel() { this.Task = new EncodeTask(); this.UpdateUIFromAdvancedOptions(); @@ -913,11 +909,28 @@ namespace HandBrakeWPF.ViewModels /// public void SetEncoder(VideoEncoder encoder) { - this.DisplayX264Options = encoder == VideoEncoder.X264; - if (encoder == VideoEncoder.Theora) + // If we are switching from x264, cache it's settings. + if (this.DisplayX264Options.HasValue && this.DisplayX264Options.Value ) { + this.optionsCache = this.AdvancedOptionsString; + } + + // UI Set for new encoder. + if (encoder == VideoEncoder.X264) + { + this.AdvancedOptionsString = optionsCache; + this.DisplayX264Options = true; + } + else if (encoder == VideoEncoder.Theora) + { + this.AdvancedOptionsString = string.Empty; this.DisplayX264Options = null; } + else + { + this.AdvancedOptionsString = string.Empty; + this.DisplayX264Options = false; + } } #endregion diff --git a/win/CS/HandBrakeWPF/Views/AdvancedView.xaml b/win/CS/HandBrakeWPF/Views/AdvancedView.xaml index 674c86eca..f1a48b91f 100644 --- a/win/CS/HandBrakeWPF/Views/AdvancedView.xaml +++ b/win/CS/HandBrakeWPF/Views/AdvancedView.xaml @@ -224,7 +224,7 @@