1. Strip out a lot of the old advanced tab infrastructure as it is no longer needed. Only the deprecated X264 Advacned Panel is left. All other encoders use the Video tab now.
2. Changed Option to "Allow use of 'Advanced Tab'" and only show the tab if the checkbox on the video tab is checked. It will no longer show based on the perference alone.
3. Fix the one-way communication from Video Tab to X264 Tab so preset options are reflected ont he X264 Tab. The reverse is not supported but it will retain the previous options.
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="AdvancedEncoderOptionsCommand.cs" company="HandBrake Project (http://handbrake.fr)">\r
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
-// </copyright>\r
-// <summary>\r
-// A Command for resetting the video / advnaced tabs encoder options.\r
-// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------\r
-\r
-namespace HandBrakeWPF.Commands\r
-{\r
- using Caliburn.Micro;\r
-\r
- using HandBrakeWPF.Commands.Interfaces;\r
- using HandBrakeWPF.ViewModels.Interfaces;\r
-\r
- /// <summary>\r
- /// A Command for resetting the video / advnaced tabs encoder options.\r
- /// </summary>\r
- public class AdvancedEncoderOptionsCommand : IAdvancedEncoderOptionsCommand\r
- {\r
- /// <summary>\r
- /// Clear out the advanced options\r
- /// </summary>\r
- public void ExecuteClearAdvanced()\r
- {\r
- IAdvancedViewModel advancedViewModel = IoC.Get<IAdvancedViewModel>();\r
- advancedViewModel.Clear();\r
- }\r
-\r
- /// <summary>\r
- /// Clear the advanced encoder options out on the video tab.\r
- /// </summary>\r
- public void ExecuteClearVideo()\r
- {\r
- IVideoViewModel videoViewModel = IoC.Get<IVideoViewModel>();\r
- videoViewModel.ClearAdvancedSettings();\r
- }\r
- }\r
-}\r
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="IAdvancedEncoderOptionsCommand.cs" company="HandBrake Project (http://handbrake.fr)">\r
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
-// </copyright>\r
-// <summary>\r
-// The AdvancedEncoderOptionsCommand interface.\r
-// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------\r
-\r
-namespace HandBrakeWPF.Commands.Interfaces\r
-{\r
- /// <summary>\r
- /// The AdvancedEncoderOptionsCommand interface.\r
- /// </summary>\r
- public interface IAdvancedEncoderOptionsCommand\r
- {\r
- /// <summary>\r
- /// Clear out the advanced options\r
- /// </summary>\r
- void ExecuteClearAdvanced();\r
-\r
- /// <summary>\r
- /// Clear the advanced encoder options out on the video tab.\r
- /// </summary>\r
- void ExecuteClearVideo();\r
- }\r
-}
\ No newline at end of file
<Compile Include="AttachedProperties\MenuItemExtensions.cs" />\r
<Compile Include="Collections\SerializableDictionary.cs" />\r
<Compile Include="Commands\InputBindingTrigger.cs" />\r
- <Compile Include="Commands\Interfaces\IAdvancedEncoderOptionsCommand.cs" />\r
<Compile Include="Commands\Menu\QueueCommandParams.cs" />\r
<Compile Include="Commands\Menu\QueueCommands.cs" />\r
<Compile Include="Commands\OpenOptionsScreenCommand.cs" />\r
<Compile Include="Commands\PresetMenuSelectCommand.cs" />\r
<Compile Include="Commands\ProcessShortcutCommand.cs" />\r
<Compile Include="Commands\SourceMenuCommand.cs" />\r
- <Compile Include="Commands\AdvancedEncoderOptionsCommand.cs" />\r
<Compile Include="Constants.cs" />\r
<Compile Include="Controls\SplitButton\SplitMenuButton.cs" />\r
<Compile Include="Controls\AlertPanel.xaml.cs">\r
<Compile Include="Services\Interfaces\IPrePostActionService.cs" />\r
<Compile Include="Services\UpdateService.cs" />\r
<Compile Include="Services\PrePostActionService.cs" />\r
- <Compile Include="ViewModels\AdvancedViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\IX264ViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\IQueueSelectionViewModel.cs" />\r
<Compile Include="ViewModels\QueueSelectionViewModel.cs" />\r
- <Compile Include="Views\AdvancedView.xaml.cs">\r
- <DependentUpon>AdvancedView.xaml</DependentUpon>\r
- </Compile>\r
<Compile Include="Views\QueueSelectionView.xaml.cs">\r
<DependentUpon>QueueSelectionView.xaml</DependentUpon>\r
</Compile>\r
<Compile Include="ViewModels\ChaptersViewModel.cs" />\r
<Compile Include="ViewModels\PictureSettingsViewModel.cs" />\r
<Compile Include="ViewModels\ErrorViewModel.cs" />\r
- <Compile Include="ViewModels\Interfaces\IAdvancedViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\ISubtitlesViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\IChaptersViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\IPictureSettingsViewModel.cs" />\r
<SubType>Designer</SubType>\r
<Generator>MSBuild:Compile</Generator>\r
</Page>\r
- <Page Include="Views\AdvancedView.xaml">\r
- <Generator>MSBuild:Compile</Generator>\r
- <SubType>Designer</SubType>\r
- </Page>\r
<Page Include="Views\QueueSelectionView.xaml">\r
<Generator>MSBuild:Compile</Generator>\r
<SubType>Designer</SubType>\r
}\r
\r
/// <summary>\r
- /// Looks up a localized string similar to Show Advanced Encoder Options Tab (Deprecated).\r
+ /// Looks up a localized string similar to Allow use of 'Advanced' Tab for x264 options. (Deprecated).\r
/// </summary>\r
public static string Options_AdvancedTab {\r
get {\r
<value>Advanced Options</value>\r
</data>\r
<data name="Options_AdvancedTab" xml:space="preserve">\r
- <value>Show Advanced Encoder Options Tab (Deprecated)</value>\r
+ <value>Allow use of 'Advanced' Tab for x264 options. (Deprecated)</value>\r
</data>\r
<data name="Options_Arguments" xml:space="preserve">\r
<value>Arguments:</value>\r
video.Options = job.ExtraAdvancedArguments;
video.Preset = job.VideoPreset != null ? job.VideoPreset.ShortName : null;
video.Profile = job.VideoProfile != null ? job.VideoProfile.ShortName : null;
+
+ if (job.VideoTunes != null && job.VideoTunes.Count > 0)
+ {
+ foreach (var item in job.VideoTunes)
+ {
+ video.Tune += string.IsNullOrEmpty(video.Tune) ? item.ShortName : "," + item.ShortName;
+ }
+ }
}
if (job.VideoEncodeRateType == VideoEncodeRateType.ConstantQuality) video.Quality = job.Quality;
video.Turbo = job.TurboFirstPass;
}
- if (job.VideoTunes != null && job.VideoTunes.Count > 0)
- {
- foreach (var item in job.VideoTunes)
- {
- video.Tune += string.IsNullOrEmpty(video.Tune) ? item.ShortName : "," + item.ShortName;
- }
- }
-
video.OpenCL = configuration.ScalingMode == VideoScaler.BicubicCl;
video.QSV.Decode = !configuration.DisableQuickSyncDecoding;
\r
using Caliburn.Micro;\r
\r
- using HandBrakeWPF.Commands;\r
- using HandBrakeWPF.Commands.Interfaces;\r
using HandBrakeWPF.Services;\r
using HandBrakeWPF.Services.Interfaces;\r
using HandBrakeWPF.Services.Presets;\r
this.container.Singleton<IQueueProcessor, QueueProcessor>();\r
\r
// Commands\r
- this.container.Singleton<IAdvancedEncoderOptionsCommand, AdvancedEncoderOptionsCommand>();\r
\r
// Services and Shell Components\r
this.container.Singleton<IErrorService, ErrorService>();\r
// Tab Components\r
this.container.Singleton<IAudioViewModel, AudioViewModel>();\r
this.container.Singleton<IX264ViewModel, X264ViewModel>();\r
- this.container.Singleton<IAdvancedViewModel, AdvancedViewModel>();\r
this.container.Singleton<IPictureSettingsViewModel, PictureSettingsViewModel>();\r
this.container.Singleton<IChaptersViewModel, ChaptersViewModel>();\r
this.container.Singleton<ISubtitlesViewModel, SubtitlesViewModel>();\r
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="AdvancedViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
-// </copyright>\r
-// <summary>\r
-// The Advanced View Model\r
-// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------\r
-\r
-namespace HandBrakeWPF.ViewModels\r
-{\r
- using HandBrake.ApplicationServices.Interop.Model.Encoding;\r
-\r
- using HandBrakeWPF.Services.Presets.Model;\r
- using HandBrakeWPF.Services.Scan.Model;\r
- using HandBrakeWPF.ViewModels.Interfaces;\r
-\r
- using EncodeTask = HandBrakeWPF.Services.Encode.Model.EncodeTask;\r
-\r
- /// <summary>\r
- /// The Advanced View Model\r
- /// </summary>\r
- public class AdvancedViewModel : ViewModelBase, IAdvancedViewModel\r
- {\r
- #region Constants and Fields\r
-\r
- /// <summary>\r
- /// The show x 264 panel.\r
- /// </summary>\r
- private bool showX264Panel;\r
-\r
- #endregion\r
-\r
- /// <summary>\r
- /// Initializes a new instance of the <see cref="AdvancedViewModel"/> class.\r
- /// </summary>\r
- /// <param name="x264ViewModel">\r
- /// The x 264 view model.\r
- /// </param>\r
- public AdvancedViewModel(IX264ViewModel x264ViewModel)\r
- {\r
- this.X264ViewModel = x264ViewModel;\r
- }\r
-\r
- #region Properties\r
-\r
- /// <summary>\r
- /// Gets or sets the x 264 view model.\r
- /// </summary>\r
- public IX264ViewModel X264ViewModel { get; set; }\r
-\r
- /// <summary>\r
- /// Gets or sets a value indicating whether show x 264 panel.\r
- /// </summary>\r
- public bool ShowX264Panel\r
- {\r
- get\r
- {\r
- return this.showX264Panel;\r
- }\r
- set\r
- {\r
- this.showX264Panel = value;\r
- this.NotifyOfPropertyChange(() => this.ShowX264Panel);\r
- }\r
- }\r
-\r
- #endregion\r
-\r
- #region Implemented Interfaces\r
-\r
- /// <summary>\r
- /// The set encoder.\r
- /// </summary>\r
- /// <param name="encoder">\r
- /// The encoder.\r
- /// </param>\r
- public void SetEncoder(VideoEncoder encoder)\r
- {\r
- this.X264ViewModel.SetEncoder(encoder);\r
- this.ShowX264Panel = encoder == VideoEncoder.X264 || encoder == VideoEncoder.X264_10;\r
- }\r
-\r
- /// <summary>\r
- /// The clear.\r
- /// </summary>\r
- public void Clear()\r
- {\r
- this.X264ViewModel.Clear();\r
- }\r
-\r
- /// <summary>\r
- /// Setup this tab for the specified preset.\r
- /// </summary>\r
- /// <param name="preset">\r
- /// The preset.\r
- /// </param>\r
- /// <param name="task">\r
- /// The task.\r
- /// </param>\r
- public void SetPreset(Preset preset, EncodeTask task)\r
- {\r
- this.X264ViewModel.SetPreset(preset, task);\r
- }\r
-\r
- /// <summary>\r
- /// Update all the UI controls based on the encode task passed in.\r
- /// </summary>\r
- /// <param name="task">\r
- /// The task.\r
- /// </param>\r
- public void UpdateTask(EncodeTask task)\r
- {\r
- this.X264ViewModel.UpdateTask(task);\r
-\r
- this.SetEncoder(task.VideoEncoder);\r
- }\r
-\r
- /// <summary>\r
- /// Setup this window for a new source\r
- /// </summary>\r
- /// <param name="source">\r
- /// The source.\r
- /// </param>\r
- /// <param name="title">\r
- /// The title.\r
- /// </param>\r
- /// <param name="preset">\r
- /// The preset.\r
- /// </param>\r
- /// <param name="task">\r
- /// The task.\r
- /// </param>\r
- public void SetSource(Source source, Title title, Preset preset, EncodeTask task)\r
- {\r
- this.X264ViewModel.SetSource(source, title, preset, task);\r
- }\r
-\r
- #endregion\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="IAdvancedViewModel.cs" company="HandBrake Project (http://handbrake.fr)">\r
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
-// </copyright>\r
-// <summary>\r
-// Defines the IAdvancedViewModel type.\r
-// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------\r
-\r
-namespace HandBrakeWPF.ViewModels.Interfaces\r
-{\r
- using HandBrake.ApplicationServices.Interop.Model.Encoding;\r
-\r
- /// <summary>\r
- /// The Advanced View Model Interface\r
- /// </summary>\r
- public interface IAdvancedViewModel : ITabInterface\r
- {\r
- /// <summary>\r
- /// Set the currently selected encoder.\r
- /// </summary>\r
- /// <param name="encoder">\r
- /// The Video Encoder.\r
- /// </param>\r
- void SetEncoder(VideoEncoder encoder);\r
-\r
- /// <summary>\r
- /// Clear out the settings.\r
- /// </summary>\r
- void Clear();\r
- }\r
-}\r
/// Trigger a Notify Property Changed on the Task to force various UI elements to update.\r
/// </summary>\r
void RefreshTask();\r
-\r
- /// <summary>\r
- /// Clear the advanced x264 options.\r
- /// </summary>\r
- void ClearAdvancedSettings();\r
}\r
}\r
public MainViewModel(IUserSettingService userSettingService, IScan scanService, IEncode encodeService, IPresetService presetService, \r
IErrorService errorService, IUpdateService updateService, \r
IPrePostActionService whenDoneService, IWindowManager windowManager, IPictureSettingsViewModel pictureSettingsViewModel, IVideoViewModel videoViewModel, \r
- IFiltersViewModel filtersViewModel, IAudioViewModel audioViewModel, ISubtitlesViewModel subtitlesViewModel, \r
- IAdvancedViewModel advancedViewModel, IChaptersViewModel chaptersViewModel, IStaticPreviewViewModel staticPreviewViewModel,\r
+ IFiltersViewModel filtersViewModel, IAudioViewModel audioViewModel, ISubtitlesViewModel subtitlesViewModel,\r
+ IX264ViewModel advancedViewModel, IChaptersViewModel chaptersViewModel, IStaticPreviewViewModel staticPreviewViewModel,\r
IQueueViewModel queueViewModel, IMetaDataViewModel metaDataViewModel)\r
{\r
this.scanService = scanService;\r
/// <summary>\r
/// Gets or sets AdvancedViewModel.\r
/// </summary>\r
- public IAdvancedViewModel AdvancedViewModel { get; set; }\r
+ public IX264ViewModel AdvancedViewModel { get; set; }\r
\r
/// <summary>\r
/// Gets or sets VideoViewModel.\r
using HandBrake.ApplicationServices.Interop;\r
using HandBrake.ApplicationServices.Interop.Model.Encoding;\r
\r
- using HandBrakeWPF.Commands.Interfaces;\r
using HandBrakeWPF.Properties;\r
using HandBrakeWPF.Services.Interfaces;\r
using HandBrakeWPF.Services.Presets.Model;\r
\r
private const string SameAsSource = "Same as source";\r
private readonly IUserSettingService userSettingService;\r
- private readonly IAdvancedEncoderOptionsCommand advancedEncoderOptionsCommand;\r
\r
private bool displayOptimiseOptions;\r
private int qualityMax;\r
private int qualityMin;\r
private bool showPeakFramerate;\r
private int rf;\r
- private bool canClear;\r
private bool displayTurboFirstPass;\r
private int videoPresetMaxValue;\r
private int videoPresetValue;\r
/// <param name="advancedEncoderOptionsCommand">\r
/// The advanced Encoder Options Command.\r
/// </param>\r
- public VideoViewModel(IUserSettingService userSettingService, IAdvancedEncoderOptionsCommand advancedEncoderOptionsCommand)\r
+ public VideoViewModel(IUserSettingService userSettingService)\r
{\r
this.Task = new EncodeTask { VideoEncoder = VideoEncoder.X264 };\r
this.userSettingService = userSettingService;\r
- this.advancedEncoderOptionsCommand = advancedEncoderOptionsCommand;\r
this.QualityMin = 0;\r
this.QualityMax = 51;\r
this.IsConstantQuantity = true;\r
/// <summary>\r
/// Gets a value indicating whether show advanced tab.\r
/// </summary>\r
- public bool ShowAdvancedTab\r
+ public bool IsAdvancedTabOptionEnabled\r
{\r
get\r
{\r
\r
if (this.SelectedVideoEncoder != VideoEncoder.X264 && this.SelectedVideoEncoder != VideoEncoder.X264_10)\r
{\r
+ this.UseAdvancedTab = false;\r
return false;\r
}\r
\r
{\r
// Set the Advanced Tab up with the current settings, if we can.\r
this.Task.AdvancedEncoderOptions = value ? this.GetActualx264Query() : string.Empty;\r
-\r
this.Task.ShowAdvancedTab = value;\r
+\r
this.NotifyOfPropertyChange(() => this.UseAdvancedTab);\r
}\r
}\r
\r
this.NotifyOfPropertyChange(() => this.FastDecode);\r
this.NotifyOfPropertyChange(() => this.FullOptionsTooltip);\r
- this.ResetAdvancedTab();\r
}\r
}\r
\r
this.Task.VideoPreset = value;\r
this.NotifyOfPropertyChange(() => this.VideoPreset);\r
this.NotifyOfPropertyChange(() => this.FullOptionsTooltip);\r
- this.ResetAdvancedTab();\r
}\r
}\r
\r
\r
this.NotifyOfPropertyChange(() => this.VideoTune);\r
this.NotifyOfPropertyChange(() => this.FullOptionsTooltip);\r
- this.ResetAdvancedTab();\r
}\r
}\r
\r
this.Task.VideoProfile = value;\r
this.NotifyOfPropertyChange(() => this.VideoProfile);\r
this.NotifyOfPropertyChange(() => this.FullOptionsTooltip);\r
- this.ResetAdvancedTab();\r
}\r
}\r
\r
this.Task.VideoLevel = value;\r
this.NotifyOfPropertyChange(() => this.VideoLevel);\r
this.NotifyOfPropertyChange(() => this.FullOptionsTooltip);\r
- this.ResetAdvancedTab();\r
}\r
}\r
\r
}\r
\r
this.ExtraArguments = preset.Task.ExtraAdvancedArguments;\r
- this.UseAdvancedTab = (!string.IsNullOrEmpty(preset.Task.AdvancedEncoderOptions) && this.ShowAdvancedTab) || preset.Task.ShowAdvancedTab;\r
+ this.UseAdvancedTab = (!string.IsNullOrEmpty(preset.Task.AdvancedEncoderOptions) && this.IsAdvancedTabOptionEnabled) || preset.Task.ShowAdvancedTab;\r
}\r
}\r
\r
}\r
}\r
\r
- /// <summary>\r
- /// Clear advanced settings.\r
- /// </summary>\r
- public void ClearAdvancedSettings()\r
- {\r
- this.canClear = false;\r
- this.FastDecode = false;\r
- this.VideoTune = null;\r
- this.VideoProfile = new VideoProfile("auto", "auto");\r
- this.VideoPreset = null;\r
- this.VideoPresetValue = 1;\r
- this.VideoLevel = new VideoLevel("auto", "auto");\r
-\r
- this.ExtraArguments = string.Empty;\r
- this.canClear = true;\r
- }\r
-\r
/// <summary>\r
/// The copy query.\r
/// </summary>\r
}\r
}\r
\r
- /// <summary>\r
- /// Reset advanced tab.\r
- /// </summary>\r
- private void ResetAdvancedTab()\r
- {\r
- if (canClear)\r
- {\r
- this.advancedEncoderOptionsCommand.ExecuteClearAdvanced();\r
- }\r
- }\r
\r
/// <summary>\r
/// The get actualx 264 query.\r
{\r
if (e.Key == UserSettingConstants.ShowAdvancedTab)\r
{\r
- this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+ this.NotifyOfPropertyChange(() => this.IsAdvancedTabOptionEnabled);\r
}\r
}\r
\r
}\r
\r
// Tell the Advanced Panel off the change\r
- IAdvancedViewModel advancedViewModel = IoC.Get<IAdvancedViewModel>();\r
+ IX264ViewModel advancedViewModel = IoC.Get<IX264ViewModel>();\r
advancedViewModel.SetEncoder(this.Task.VideoEncoder);\r
\r
// Update the Quality Slider. Make sure the bounds are up to date with the users settings.\r
\r
// Refresh Display\r
this.NotifyOfPropertyChange(() => this.Rfqp);\r
- this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
+ this.NotifyOfPropertyChange(() => this.IsAdvancedTabOptionEnabled);\r
this.NotifyOfPropertyChange(() => this.HighQualityLabel);\r
\r
// Handle some quicksync specific options.\r
\r
using HandBrake.ApplicationServices.Interop.Model.Encoding;\r
\r
- using HandBrakeWPF.Commands.Interfaces;\r
using HandBrakeWPF.Helpers;\r
using HandBrakeWPF.Model;\r
using HandBrakeWPF.Services.Presets.Model;\r
/// </summary>\r
public class X264ViewModel : ViewModelBase, IX264ViewModel\r
{\r
- /// <summary>\r
- /// The advanced encoder options command.\r
- /// </summary>\r
- private readonly IAdvancedEncoderOptionsCommand advancedEncoderOptionsCommand;\r
-\r
#region Constants and Fields\r
\r
/// <summary>\r
/// <summary>\r
/// Initializes a new instance of the <see cref="X264ViewModel"/> class.\r
/// </summary>\r
- /// <param name="advancedEncoderOptionsCommand">\r
- /// The advanced Encoder Options Command.\r
- /// </param>\r
- public X264ViewModel(IAdvancedEncoderOptionsCommand advancedEncoderOptionsCommand)\r
+ public X264ViewModel()\r
{\r
- this.advancedEncoderOptionsCommand = advancedEncoderOptionsCommand;\r
this.Task = new EncodeTask();\r
this.UpdateUIFromAdvancedOptions();\r
}\r
ShowX264AdvancedOptions = this.Task.ShowAdvancedTab;\r
this.NotifyOfPropertyChange(() => ShowX264AdvancedOptions);\r
this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);\r
+\r
+ if (ShowX264AdvancedOptions)\r
+ {\r
+ this.UpdateUIFromAdvancedOptions();\r
+ }\r
}\r
}\r
\r
this.Task.AdvancedEncoderOptions = value;\r
this.UpdateUIFromAdvancedOptions();\r
this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);\r
-\r
- // Reset the video tab if the user is using this tab.\r
- if (!string.IsNullOrEmpty(this.Task.AdvancedEncoderOptions))\r
- {\r
- this.advancedEncoderOptionsCommand.ExecuteClearVideo();\r
- }\r
}\r
}\r
\r
\r
this.Task.AdvancedEncoderOptions = string.Join(":", newOptions);\r
this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);\r
-\r
- // Reset the video tab if the user is using this tab.\r
- if (!string.IsNullOrEmpty(this.Task.AdvancedEncoderOptions))\r
- {\r
- this.advancedEncoderOptionsCommand.ExecuteClearVideo();\r
- }\r
}\r
\r
#endregion\r
+++ /dev/null
-<UserControl x:Class="HandBrakeWPF.Views.AdvancedView"\r
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\r
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\r
- xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"\r
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"\r
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"\r
- xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"\r
- x:Name="advancedView"\r
- mc:Ignorable="d"\r
- >\r
- <UserControl.Resources>\r
- <Converters:BooleanToVisibilityConverter x:Key="BooleanVisibilityConverter" />\r
-\r
- </UserControl.Resources>\r
- <Grid>\r
- <Grid.RowDefinitions>\r
- <RowDefinition Height="Auto" />\r
- <RowDefinition Height="Auto" />\r
- <RowDefinition Height="Auto" />\r
- </Grid.RowDefinitions>\r
-\r
- <ContentControl x:Name="X264ViewModel"\r
- Visibility="{Binding ShowX264Panel, Converter={StaticResource BooleanVisibilityConverter}}" />\r
-\r
- <TextBlock Text="{x:Static Properties:Resources.Advanced_NoOptionsPaneAvailable}" Grid.Row="0"\r
- TextWrapping="Wrap" Width="480" Margin="0, 100, 0, 0" FontSize="12"\r
- Visibility="{Binding ShowX264Panel, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=true}" />\r
-\r
-\r
- </Grid>\r
-</UserControl>
\ No newline at end of file
+++ /dev/null
-// --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="AdvancedView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
-// </copyright>\r
-// <summary>\r
-// Interaction logic for AdvancedView.xaml\r
-// </summary>\r
-// --------------------------------------------------------------------------------------------------------------------\r
-\r
-namespace HandBrakeWPF.Views\r
-{\r
- using System.Windows.Controls;\r
-\r
- /// <summary>\r
- /// Interaction logic for AdvancedView.xaml\r
- /// </summary>\r
- public partial class AdvancedView : UserControl\r
- {\r
- /// <summary>\r
- /// Initializes a new instance of the <see cref="AdvancedView"/> class.\r
- /// </summary>\r
- public AdvancedView()\r
- {\r
- InitializeComponent();\r
- }\r
- }\r
-}\r
<TabItem Name="chaptersTab" Header="{x:Static Properties:ResourcesUI.MainView_ChaptersTab}">\r
<ContentControl x:Name="ChaptersViewModel" />\r
</TabItem>\r
- <TabItem Name="advancedTab" Header="{x:Static Properties:ResourcesUI.MainView_AdvancedTab}" Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}}">\r
+ <TabItem Name="advancedTab" Header="{x:Static Properties:ResourcesUI.MainView_AdvancedTab}" Visibility="{Binding CurrentTask.ShowAdvancedTab, Converter={StaticResource boolToVisConverter}}">\r
<ContentControl x:Name="AdvancedViewModel" />\r
</TabItem>\r
</TabControl>\r
<TextBlock Text="{x:Static Properties:ResourcesUI.VideoView_OptimiseVideo}" Margin="0,0,0,0" Grid.Row="0" Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />\r
\r
<CheckBox Content="{x:Static Properties:ResourcesUI.VideoView_UseAdvancedTab}" Grid.Row="1" IsChecked="{Binding UseAdvancedTab}" Margin="0,5,0,0"\r
- Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"\r
+ Visibility="{Binding IsAdvancedTabOptionEnabled, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"\r
ToolTip="{x:Static Properties:ResourcesTooltips.Video_AdvancedOptions}" />\r
\r
<Grid Grid.Row="2" Margin="0,8,0,0" IsEnabled="{Binding UseAdvancedTab, Converter={StaticResource inverseConverter}}">\r