diff options
-rw-r--r-- | win/CS/HandBrakeWPF/HandBrakeWPF.csproj | 9 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Properties/Resources.Designer.cs | 11 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Properties/Resources.resx | 5 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs | 1 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs | 43 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/EncoderOptionsViewModel.cs | 159 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/ViewModels/Interfaces/IEncoderOptionsViewModel.cs | 32 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/AdvancedView.xaml | 6 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml | 28 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml.cs | 27 | ||||
-rw-r--r-- | win/CS/HandBrakeWPF/Views/VideoView.xaml | 24 |
11 files changed, 33 insertions, 312 deletions
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj index d42ef184b..d8739f472 100644 --- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj +++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj @@ -234,9 +234,7 @@ <Compile Include="Services\UpdateService.cs" />
<Compile Include="Services\PrePostActionService.cs" />
<Compile Include="ViewModels\AdvancedViewModel.cs" />
- <Compile Include="ViewModels\EncoderOptionsViewModel.cs" />
<Compile Include="ViewModels\InstantViewModel.cs" />
- <Compile Include="ViewModels\Interfaces\IEncoderOptionsViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IInstantViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IX264ViewModel.cs" />
<Compile Include="ViewModels\Interfaces\IQueueSelectionViewModel.cs" />
@@ -244,9 +242,6 @@ <Compile Include="Views\AdvancedView.xaml.cs">
<DependentUpon>AdvancedView.xaml</DependentUpon>
</Compile>
- <Compile Include="Views\EncoderOptionsView.xaml.cs">
- <DependentUpon>EncoderOptionsView.xaml</DependentUpon>
- </Compile>
<Compile Include="Views\InstantView.xaml.cs">
<DependentUpon>InstantView.xaml</DependentUpon>
</Compile>
@@ -425,10 +420,6 @@ <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\EncoderOptionsView.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
<Page Include="Views\InstantView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs index b098b2075..1bcbbbae1 100644 --- a/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs +++ b/win/CS/HandBrakeWPF/Properties/Resources.Designer.cs @@ -237,6 +237,17 @@ namespace HandBrakeWPF.Properties { }
/// <summary>
+ /// Looks up a localized string similar to There is no options pane available for this encoder.
+ ///
+ ///Please use the 'Extra Options' box on the 'Video' tab to input any additional encoder parameters you may need..
+ /// </summary>
+ public static string Advanced_NoOptionsPaneAvailable {
+ get {
+ return ResourceManager.GetString("Advanced_NoOptionsPaneAvailable", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to The x264 Preset / Tune / Profile and Level options are currently in use on the Video Tab.
///
///To enable this tab, check the "Use Advanced Tab instead" option on the Video Tab.
diff --git a/win/CS/HandBrakeWPF/Properties/Resources.resx b/win/CS/HandBrakeWPF/Properties/Resources.resx index 54cb3ab98..aa554ffa9 100644 --- a/win/CS/HandBrakeWPF/Properties/Resources.resx +++ b/win/CS/HandBrakeWPF/Properties/Resources.resx @@ -544,4 +544,9 @@ Not both at the same time!</value> <value>The preset may be corrupted or from an older version of HandBrake which is not supported.
Presets from older versions must be re-created in the current version.</value>
</data>
+ <data name="Advanced_NoOptionsPaneAvailable" xml:space="preserve">
+ <value>There is no options pane available for this encoder.
+
+Please use the 'Extra Options' box on the 'Video' tab to input any additional encoder parameters you may need.</value>
+ </data>
</root>
\ No newline at end of file diff --git a/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs b/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs index 8ece8c41a..a812e4f08 100644 --- a/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs +++ b/win/CS/HandBrakeWPF/Startup/CastleBootstrapper.cs @@ -93,7 +93,6 @@ namespace HandBrakeWPF.Startup this.windsorContainer.Register(Component.For<IAudioViewModel>().ImplementedBy<AudioViewModel>().LifeStyle.Is(LifestyleType.Singleton));
this.windsorContainer.Register(Component.For<IX264ViewModel>().ImplementedBy<X264ViewModel>().LifeStyle.Is(LifestyleType.Singleton));
this.windsorContainer.Register(Component.For<IAdvancedViewModel>().ImplementedBy<AdvancedViewModel>().LifeStyle.Is(LifestyleType.Singleton));
- this.windsorContainer.Register(Component.For<IEncoderOptionsViewModel>().ImplementedBy<EncoderOptionsViewModel>().LifeStyle.Is(LifestyleType.Singleton));
this.windsorContainer.Register(Component.For<IPictureSettingsViewModel>().ImplementedBy<PictureSettingsViewModel>().LifeStyle.Is(LifestyleType.Singleton));
this.windsorContainer.Register(Component.For<IChaptersViewModel>().ImplementedBy<ChaptersViewModel>().LifeStyle.Is(LifestyleType.Singleton));
this.windsorContainer.Register(Component.For<ISubtitlesViewModel>().ImplementedBy<SubtitlesViewModel>().LifeStyle.Is(LifestyleType.Singleton));
diff --git a/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs index e01a38210..18606bfa0 100644 --- a/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs +++ b/win/CS/HandBrakeWPF/ViewModels/AdvancedViewModel.cs @@ -24,11 +24,6 @@ namespace HandBrakeWPF.ViewModels #region Constants and Fields
/// <summary>
- /// Backing field for displaying x264 options
- /// </summary>
- private bool? displayX264Options;
-
- /// <summary>
/// The show x 264 panel.
/// </summary>
private bool showX264Panel;
@@ -43,11 +38,6 @@ namespace HandBrakeWPF.ViewModels public IX264ViewModel X264ViewModel { get; set; }
/// <summary>
- /// Gets or sets the encoder options view model.
- /// </summary>
- public IEncoderOptionsViewModel EncoderOptionsViewModel { get; set; }
-
- /// <summary>
/// Gets or sets a value indicating whether show x 264 panel.
/// </summary>
public bool ShowX264Panel
@@ -63,22 +53,6 @@ namespace HandBrakeWPF.ViewModels }
}
- /// <summary>
- /// Gets or sets a value indicating whether DisplayX264Options.
- /// </summary>
- public bool? ShowSimplePanel
- {
- get
- {
- return this.displayX264Options;
- }
- set
- {
- this.displayX264Options = value;
- this.NotifyOfPropertyChange(() => this.ShowSimplePanel);
- }
- }
-
#endregion
#region Implemented Interfaces
@@ -91,19 +65,8 @@ namespace HandBrakeWPF.ViewModels /// </param>
public void SetEncoder(VideoEncoder encoder)
{
- this.EncoderOptionsViewModel.SetEncoder(encoder);
this.X264ViewModel.SetEncoder(encoder);
-
- if (encoder == VideoEncoder.X264)
- {
- this.ShowX264Panel = true;
- this.ShowSimplePanel = false;
- }
- else
- {
- this.ShowX264Panel = false;
- this.ShowSimplePanel = true;
- }
+ this.ShowX264Panel = encoder == VideoEncoder.X264;
}
/// <summary>
@@ -111,7 +74,6 @@ namespace HandBrakeWPF.ViewModels /// </summary>
public void Clear()
{
- this.EncoderOptionsViewModel.Clear();
this.X264ViewModel.Clear();
}
@@ -126,7 +88,6 @@ namespace HandBrakeWPF.ViewModels /// </param>
public void SetPreset(Preset preset, EncodeTask task)
{
- this.EncoderOptionsViewModel.SetPreset(preset, task);
this.X264ViewModel.SetPreset(preset, task);
}
@@ -138,7 +99,6 @@ namespace HandBrakeWPF.ViewModels /// </param>
public void UpdateTask(EncodeTask task)
{
- this.EncoderOptionsViewModel.UpdateTask(task);
this.X264ViewModel.UpdateTask(task);
this.SetEncoder(task.VideoEncoder);
@@ -161,7 +121,6 @@ namespace HandBrakeWPF.ViewModels /// </param>
public void SetSource(Source source, Title title, Preset preset, EncodeTask task)
{
- this.EncoderOptionsViewModel.SetSource(source, title, preset, task);
this.X264ViewModel.SetSource(source, title, preset, task);
}
diff --git a/win/CS/HandBrakeWPF/ViewModels/EncoderOptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/EncoderOptionsViewModel.cs deleted file mode 100644 index ae9cc386f..000000000 --- a/win/CS/HandBrakeWPF/ViewModels/EncoderOptionsViewModel.cs +++ /dev/null @@ -1,159 +0,0 @@ -// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="EncoderOptionsViewModel.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// <summary>
-// The Simple Encoder options screen
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.ViewModels
-{
- using System.Collections.Generic;
-
- using HandBrake.ApplicationServices.Services.Encode.Model;
- using HandBrake.ApplicationServices.Services.Scan.Model;
- using HandBrake.Interop.Model.Encoding;
-
- using HandBrakeWPF.Services.Presets.Model;
- using HandBrakeWPF.ViewModels.Interfaces;
-
- /// <summary>
- /// The Simple Encoder options screen
- /// </summary>
- public class EncoderOptionsViewModel : ViewModelBase, IEncoderOptionsViewModel
- {
- /// <summary>
- /// The cached options.
- /// </summary>
- private readonly Dictionary<VideoEncoder, string> cachedOptions = new Dictionary<VideoEncoder, string>();
-
- /// <summary>
- /// Initializes a new instance of the <see cref="EncoderOptionsViewModel"/> class.
- /// </summary>
- public EncoderOptionsViewModel()
- {
- this.Task = new EncodeTask();
- }
-
- /// <summary>
- /// Gets or sets the task.
- /// </summary>
- public EncodeTask Task { get; set; }
-
- /// <summary>
- /// Gets or sets the preset.
- /// </summary>
- public Preset Preset { get; set; }
-
- /// <summary>
- /// Gets or sets the current video encoder.
- /// </summary>
- public VideoEncoder CurrentVideoEncoder { get; set; }
-
- /// <summary>
- /// Gets or sets the options string.
- /// </summary>
- public string AdvancedOptionsString
- {
- get
- {
- return this.Task.AdvancedEncoderOptions;
- }
- set
- {
- this.Task.AdvancedEncoderOptions = value;
- this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);
- }
- }
-
- /// <summary>
- /// The set source.
- /// </summary>
- /// <param name="source">
- /// The source.
- /// </param>
- /// <param name="selectedTitle">
- /// The selected title.
- /// </param>
- /// <param name="currentPreset">
- /// The current preset.
- /// </param>
- /// <param name="task">
- /// The task.
- /// </param>
- public void SetSource(Source source, Title selectedTitle, Preset currentPreset, EncodeTask task)
- {
- this.Task = task;
- this.Preset = currentPreset;
- this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);
- }
-
- /// <summary>
- /// The set preset.
- /// </summary>
- /// <param name="preset">
- /// The preset.
- /// </param>
- /// <param name="task">
- /// The task.
- /// </param>
- public void SetPreset(Preset preset, EncodeTask task)
- {
- this.Task = task;
- this.Preset = preset;
- this.AdvancedOptionsString = preset.Task.AdvancedEncoderOptions;
- }
-
- /// <summary>
- /// The update task.
- /// </summary>
- /// <param name="task">
- /// The task.
- /// </param>
- public void UpdateTask(EncodeTask task)
- {
- this.Task = task;
- this.NotifyOfPropertyChange(() => this.AdvancedOptionsString);
- }
-
- /// <summary>
- /// The set encoder.
- /// </summary>
- /// <param name="encoder">
- /// The encoder.
- /// </param>
- public void SetEncoder(VideoEncoder encoder)
- {
- // Cache the existing string so it can be reused if the user changes the encoder back.
- if (!string.IsNullOrEmpty(this.AdvancedOptionsString))
- {
- this.cachedOptions[CurrentVideoEncoder] = this.AdvancedOptionsString;
- }
-
- this.CurrentVideoEncoder = encoder;
-
- // Set the option from the cached version if we have one.
- string advacnedOptionsString;
- if (cachedOptions.TryGetValue(encoder, out advacnedOptionsString)
- && !string.IsNullOrEmpty(advacnedOptionsString))
- {
- this.AdvancedOptionsString = advacnedOptionsString;
- }
- else
- {
- this.AdvancedOptionsString = this.Preset != null && this.Preset.Task != null
- && !string.IsNullOrEmpty(this.Preset.Task.AdvancedEncoderOptions)
- ? this.Preset.Task.AdvancedEncoderOptions
- : string.Empty;
- }
- }
-
- /// <summary>
- /// The clear.
- /// </summary>
- public void Clear()
- {
- }
- }
-}
diff --git a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IEncoderOptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/Interfaces/IEncoderOptionsViewModel.cs deleted file mode 100644 index 10f1270d4..000000000 --- a/win/CS/HandBrakeWPF/ViewModels/Interfaces/IEncoderOptionsViewModel.cs +++ /dev/null @@ -1,32 +0,0 @@ -// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="IEncoderOptionsViewModel.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// <summary>
-// The Simple Encoder Options Tab
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.ViewModels.Interfaces
-{
- using HandBrake.Interop.Model.Encoding;
-
- /// <summary>
- /// The Simple Encoder Options Tab
- /// </summary>
- public interface IEncoderOptionsViewModel : ITabInterface
- {
- /// <summary>
- /// Set the currently selected encoder.
- /// </summary>
- /// <param name="encoder">
- /// The Video Encoder.
- /// </param>
- void SetEncoder(VideoEncoder encoder);
-
- /// <summary>
- /// Clear out the settings.
- /// </summary>
- void Clear();
- }
-}
diff --git a/win/CS/HandBrakeWPF/Views/AdvancedView.xaml b/win/CS/HandBrakeWPF/Views/AdvancedView.xaml index 99d05b099..a4fa3ca27 100644 --- a/win/CS/HandBrakeWPF/Views/AdvancedView.xaml +++ b/win/CS/HandBrakeWPF/Views/AdvancedView.xaml @@ -4,6 +4,7 @@ xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"
x:Name="advancedView"
mc:Ignorable="d"
>
@@ -21,8 +22,9 @@ <ContentControl x:Name="X264ViewModel"
Visibility="{Binding ShowX264Panel, Converter={StaticResource BooleanVisibilityConverter}}" />
- <ContentControl x:Name="EncoderOptionsViewModel"
- Visibility="{Binding ShowSimplePanel, Converter={StaticResource BooleanVisibilityConverter}}" />
+ <TextBlock Text="{x:Static Properties:Resources.Advanced_NoOptionsPaneAvailable}" Grid.Row="0"
+ TextWrapping="Wrap" Width="480" Margin="0, 100, 0, 0" FontSize="12"
+ Visibility="{Binding ShowX264Panel, Converter={StaticResource BooleanVisibilityConverter}, ConverterParameter=true}" />
</Grid>
diff --git a/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml b/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml deleted file mode 100644 index c4e64d6a8..000000000 --- a/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml +++ /dev/null @@ -1,28 +0,0 @@ -<UserControl x:Class="HandBrakeWPF.Views.EncoderOptionsView"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- x:Name="x264View"
- mc:Ignorable="d"
- >
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="100" />
- </Grid.RowDefinitions>
-
- <TextBlock Margin="10,5,10,0" Grid.Row="0"
- VerticalAlignment="Center"
- FontWeight="Bold"
- Text="Advanced Query"
- />
- <TextBox Grid.Row="1"
- Margin="10,5,10,5"
- HorizontalAlignment="Stretch"
- VerticalAlignment="Stretch"
- Text="{Binding AdvancedOptionsString, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
- TextWrapping="Wrap"
- />
- </Grid>
-</UserControl>
\ No newline at end of file diff --git a/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml.cs b/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml.cs deleted file mode 100644 index 003d8274e..000000000 --- a/win/CS/HandBrakeWPF/Views/EncoderOptionsView.xaml.cs +++ /dev/null @@ -1,27 +0,0 @@ -// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="EncoderOptionsView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// <summary>
-// Interaction logic for EncoderOptionsView.xaml
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.Views
-{
- using System.Windows.Controls;
-
- /// <summary>
- /// Interaction logic for AdvancedView.xaml
- /// </summary>
- public partial class EncoderOptionsView : UserControl
- {
- /// <summary>
- /// Initializes a new instance of the <see cref="EncoderOptionsView"/> class.
- /// </summary>
- public EncoderOptionsView()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/win/CS/HandBrakeWPF/Views/VideoView.xaml b/win/CS/HandBrakeWPF/Views/VideoView.xaml index 99a589aa4..6aca9a1d4 100644 --- a/win/CS/HandBrakeWPF/Views/VideoView.xaml +++ b/win/CS/HandBrakeWPF/Views/VideoView.xaml @@ -119,19 +119,19 @@ </StackPanel>
<!-- H264 settings -->
- <Grid Grid.Row="1" Grid.ColumnSpan="2" Margin="0,10,0,0" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}">
+ <Grid Grid.Row="1" Grid.ColumnSpan="2" Margin="0,10,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
- <TextBlock Text="Optimise Video:" Margin="0,0,0,8" Grid.Row="0" Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />
+ <TextBlock Text="Optimise Video:" Margin="0,0,0,0" Grid.Row="0" Grid.ColumnSpan="2" FontWeight="Bold" VerticalAlignment="Center" />
- <CheckBox Content="Use Advanced Tab instead" Grid.Row="1" IsChecked="{Binding UseAdvancedTab}"
+ <CheckBox Content="Use Advanced Tab instead" Grid.Row="1" IsChecked="{Binding UseAdvancedTab}" Margin="0,5,0,0"
Visibility="{Binding ShowAdvancedTab, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />
- <Grid Grid.Row="2" Margin="0,5,0,0" IsEnabled="{Binding UseAdvancedTab, Converter={StaticResource inverseConverter}}">
+ <Grid Grid.Row="2" Margin="0,8,0,0" IsEnabled="{Binding UseAdvancedTab, Converter={StaticResource inverseConverter}}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -151,8 +151,8 @@ <!-- Row 1 -->
- <TextBlock Text="Encoder Preset:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" />
- <StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Orientation="Horizontal" >
+ <TextBlock Text="Encoder Preset:" Grid.Row="1" Grid.Column="0" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}" />
+ <StackPanel Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Orientation="Horizontal" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}">
<Slider Minimum="0" Maximum="{Binding VideoPresetMaxValue}" Width="150" Value="{Binding VideoPresetValue, Mode=Default, UpdateSourceTrigger=PropertyChanged}"
IsSnapToTickEnabled="True" TickFrequency="1" TickPlacement="BottomRight" ToolTip="{x:Static Properties:Resources.Video_EncoderPreset}"
Style="{StaticResource LongToolTipHolder}" />
@@ -170,19 +170,19 @@ <!-- Row 2-->
- <TextBlock Text="H.264 Profile:" Grid.Row="3" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" />
- <ComboBox Width="100" Grid.Row="3" Grid.Column="1" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"
+ <TextBlock Text="H.264 Profile:" Grid.Row="3" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}"/>
+ <ComboBox Width="100" Grid.Row="3" Grid.Column="1" Margin="5,10,5,0" Height="22" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}"
ItemsSource="{Binding VideoProfiles}" DisplayMemberPath="DisplayName" SelectedItem="{Binding VideoProfile}"
Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:Resources.Video_EncoderProfile}" />
- <TextBlock Text="H.264 Level:" Grid.Row="3" Grid.Column="2" Margin="10,10,0,0" VerticalAlignment="Center" />
- <ComboBox Width="100" Grid.Row="3" Grid.Column="3" Margin="5,10,5,0" Height="22" VerticalAlignment="Center"
+ <TextBlock Text="H.264 Level:" Grid.Row="3" Grid.Column="2" Margin="10,10,0,0" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}" />
+ <ComboBox Width="100" Grid.Row="3" Grid.Column="3" Margin="5,10,5,0" Height="22" VerticalAlignment="Center" Visibility="{Binding DisplayOptimiseOptions, Converter={StaticResource boolToVisConverter}}"
ItemsSource="{Binding VideoLevels}" DisplayMemberPath="DisplayName" SelectedItem="{Binding VideoLevel}"
Style="{StaticResource LongToolTipHolder}" ToolTip="{x:Static Properties:Resources.Video_EncoderLevel}"/>
<!-- Row 3 -->
- <TextBlock Text="Extra Options:" Grid.Row="4" Grid.Column="0" Margin="0,10,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" />
- <TextBox Text="{Binding ExtraArguments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
+ <TextBlock Text="Extra Options:" Grid.Row="4" Grid.Column="0" Margin="0,5,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" />
+ <TextBox Text="{Binding ExtraArguments, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MinWidth="200"
Height="30" MaxLines="2" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3" Margin="5,10,0,0" VerticalAlignment="Center"
ToolTip="{Binding FullOptionsTooltip}" Style="{StaticResource LongToolTipHolder}" >
<TextBox.ContextMenu>
|