summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsr55 <[email protected]>2018-09-15 20:04:44 +0100
committersr55 <[email protected]>2018-09-15 20:04:44 +0100
commit5446a69b0dd658ecfe1a954c9839a2e12e077adf (patch)
tree6415d0b544f3b204476343d535291d4c8091ac77
parent683505eb8228641be1d206f9a1e0a5c060bb0ed9 (diff)
WinGui: Add Experimental Features preferences to toggle ideas we are experimenting with. Re-enabled in-line queue experiment
-rw-r--r--win/CS/HandBrakeWPF/Converters/Queue/InlineQueueConverter.cs46
-rw-r--r--win/CS/HandBrakeWPF/HandBrakeWPF.csproj1
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs20
-rw-r--r--win/CS/HandBrakeWPF/Properties/ResourcesUI.resx8
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs1
-rw-r--r--win/CS/HandBrakeWPF/Views/MainView.xaml31
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml11
7 files changed, 99 insertions, 19 deletions
diff --git a/win/CS/HandBrakeWPF/Converters/Queue/InlineQueueConverter.cs b/win/CS/HandBrakeWPF/Converters/Queue/InlineQueueConverter.cs
new file mode 100644
index 000000000..36088cf1c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Converters/Queue/InlineQueueConverter.cs
@@ -0,0 +1,46 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="InlineQueueConverter.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>
+// A Converter to handle the UI re-arrangement for in-line queue.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Converters.Queue
+{
+ using System;
+ using System.Globalization;
+ using System.Windows;
+ using System.Windows.Data;
+
+ public class InlineQueueConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ // Parameter = True is Flipped logic.
+ if (parameter is string && "true".Equals(parameter))
+ {
+ if (value is bool && (bool)value)
+ {
+ return new GridLength(1, GridUnitType.Star);
+ }
+
+ return GridLength.Auto;
+ }
+
+ // Parameter = False
+ if (value is bool && (bool)value)
+ {
+ return GridLength.Auto;
+ }
+
+ return new GridLength(1, GridUnitType.Star);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return new GridLength(1, GridUnitType.Star);
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
index 393e3ad68..7b9e55dac 100644
--- a/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
+++ b/win/CS/HandBrakeWPF/HandBrakeWPF.csproj
@@ -136,6 +136,7 @@
<Compile Include="Converters\Options\LogLevelConverter.cs" />
<Compile Include="Converters\OptionTabConverter.cs" />
<Compile Include="Converters\PresetsMenuConverter.cs" />
+ <Compile Include="Converters\Queue\InlineQueueConverter.cs" />
<Compile Include="Converters\Queue\PictureSettingsDescConveter.cs" />
<Compile Include="Converters\Subtitles\CanBurnSubtitleConverter.cs" />
<Compile Include="Converters\Subtitles\SubtitleBurnInBehaviourConverter.cs" />
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs b/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
index 30e22c278..90cc311ab 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesUI.Designer.cs
@@ -1375,6 +1375,24 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Experimental Features.
+ /// </summary>
+ public static string Options_Experimental {
+ get {
+ return ResourceManager.GetString("Options_Experimental", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Experimental features are ideas we are working on. These may or may not make it into a final release and may not work!.
+ /// </summary>
+ public static string Options_ExperimentalFeatures {
+ get {
+ return ResourceManager.GetString("Options_ExperimentalFeatures", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to File Format:.
/// </summary>
public static string Options_Format {
@@ -1600,7 +1618,7 @@ namespace HandBrakeWPF.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Show Queue in place of the tab controls when toggled on..
+ /// Looks up a localized string similar to Show Queue in line with the main UI..
/// </summary>
public static string Options_ShowQueueInline {
get {
diff --git a/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx b/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
index 804475873..9a136949b 100644
--- a/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
+++ b/win/CS/HandBrakeWPF/Properties/ResourcesUI.resx
@@ -823,7 +823,7 @@
<value>Constant quality fractional granularity:</value>
</data>
<data name="Options_ShowQueueInline" xml:space="preserve">
- <value>Show Queue in place of the tab controls when toggled on.</value>
+ <value>Show Queue in line with the main UI.</value>
</data>
<data name="Options_PauseQueueOnLowDiskSpace" xml:space="preserve">
<value>Pause queue if disk space is low before starting a job.</value>
@@ -1046,4 +1046,10 @@ This will not affect your current settings in the Subtitle tab.</value>
<data name="MainView_StopEncodeConfirm" xml:space="preserve">
<value>Are you sure you wish to stop thie encode?</value>
</data>
+ <data name="Options_Experimental" xml:space="preserve">
+ <value>Experimental Features</value>
+ </data>
+ <data name="Options_ExperimentalFeatures" xml:space="preserve">
+ <value>Experimental features are ideas we are working on. These may or may not make it into a final release and may not work!</value>
+ </data>
</root> \ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index e31a8bb98..917fadd69 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -1396,7 +1396,6 @@ namespace HandBrakeWPF.ViewModels
public void OpenQueueWindow()
{
bool showQueueInline = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowQueueInline);
- showQueueInline = false; // Disabled until it's evaluated.
if (showQueueInline)
{
diff --git a/win/CS/HandBrakeWPF/Views/MainView.xaml b/win/CS/HandBrakeWPF/Views/MainView.xaml
index 1e701dd8c..d9cea5db9 100644
--- a/win/CS/HandBrakeWPF/Views/MainView.xaml
+++ b/win/CS/HandBrakeWPF/Views/MainView.xaml
@@ -10,6 +10,7 @@
xmlns:commands="clr-namespace:HandBrakeWPF.Commands"
xmlns:helpers="clr-namespace:HandBrakeWPF.Helpers"
xmlns:loc="clr-namespace:HandBrakeWPF.Services.Presets.Model"
+ xmlns:queue="clr-namespace:HandBrakeWPF.Converters.Queue"
AllowDrop="True"
FontSize="11"
cal:Message.Attach="[Event Loaded] = [Action Load]"
@@ -20,6 +21,7 @@
<Converters:BooleanConverter x:Key="booleanConverter" />
<Converters:PresetsMenuConverter x:Key="presetsMenuConverter"/>
<Converters:LongToIntConverter x:Key="longToIntConverter" />
+ <queue:InlineQueueConverter x:Key="InlineQueueConverter" />
<Style TargetType="Button">
<Setter Property="Padding" Value="8,2" />
@@ -292,8 +294,9 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
+ <RowDefinition x:Name="tabContentArea" Height="{Binding IsQueueShowingInLine, Converter={StaticResource InlineQueueConverter}}" />
<RowDefinition Height="Auto" />
+ <RowDefinition Height="{Binding IsQueueShowingInLine, Converter={StaticResource InlineQueueConverter}, ConverterParameter=true}"/>
</Grid.RowDefinitions>
<!-- Main Controls -->
@@ -400,8 +403,6 @@
</StackPanel>
</Grid>
-
-
</Grid>
<!-- Presets Options -->
@@ -512,17 +513,6 @@
</TabItem>
</TabControl>
- <!-- Queue in-line display if enabled -->
- <Grid Grid.Row="2" Grid.Column="0" Margin="10,10,10,5" Visibility="{Binding IsQueueShowingInLine, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <Label Content="Queue" FontWeight="Bold" Grid.Row="0"/>
- <ContentControl x:Name="QueueViewModel" cal:View.Context="Embedded" Margin="5,0,0,0" Grid.Row="1" />
- </Grid>
-
<!-- Destination -->
<StackPanel Grid.Row="3" IsEnabled="{Binding HasSource, Converter={StaticResource booleanConverter}, ConverterParameter=false}"
Margin="10,5,10,15"
@@ -556,8 +546,19 @@
</Grid>
</StackPanel>
+ <!-- Queue in-line display if enabled -->
+ <Grid Grid.Row="4" Grid.Column="0" Margin="10,0,10,10" Visibility="{Binding IsQueueShowingInLine, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}"
+ HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="*" />
+ </Grid.RowDefinitions>
+ <Label Content="Queue" FontWeight="Bold" Grid.Row="0"/>
+ <ContentControl x:Name="QueueViewModel" cal:View.Context="Embedded" Grid.Row="1" />
+ </Grid>
+
<!-- Presets -->
- <GroupBox Grid.Row="0" Grid.RowSpan="4"
+ <GroupBox Grid.Row="0" Grid.RowSpan="5"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
index aa728d6c3..5e865e5a1 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -173,11 +173,20 @@
<CheckBox Content="{x:Static Properties:ResourcesUI.Options_MinimiseTray}" IsChecked="{Binding MinimiseToTray}" />
<CheckBox Content="{x:Static Properties:ResourcesUI.Options_ClearCompleted}" IsChecked="{Binding ClearQueueOnEncodeCompleted}" />
<CheckBox Content="{x:Static Properties:ResourcesUI.Options_AdvancedTab}" IsChecked="{Binding ShowAdvancedTab}" />
- <CheckBox Content="{x:Static Properties:ResourcesUI.Options_ShowQueueInline}" IsChecked="{Binding ShowQueueInline}" Visibility="Collapsed" />
<CheckBox Content="{x:Static Properties:ResourcesUI.OptionsView_ShowStatusInTitleBar}" IsChecked="{Binding ShowStatusInTitleBar}" />
<CheckBox Content="{x:Static Properties:ResourcesUI.OptionsView_ShowPreviewOnSummaryTab}" IsChecked="{Binding ShowPreviewOnSummaryTab}" />
</StackPanel>
</StackPanel>
+
+ <StackPanel Orientation="Vertical" Margin="0,0,0,20">
+
+ <TextBlock Text="{x:Static Properties:ResourcesUI.Options_Experimental}" FontSize="14" Margin="0,0,0,10"/>
+
+ <StackPanel Orientation="Vertical" Margin="20,0,0,0">
+ <TextBlock Text="{x:Static Properties:ResourcesUI.Options_ExperimentalFeatures}"></TextBlock>
+ <CheckBox Content="{x:Static Properties:ResourcesUI.Options_ShowQueueInline}" IsChecked="{Binding ShowQueueInline}" />
+ </StackPanel>
+ </StackPanel>
</StackPanel>
<StackPanel Name="Output" Orientation="Vertical" Margin="10,5,0,0"