]> granicus.if.org Git - handbrake/commitdiff
WinGui: Few minor features + Early access to a new "Dark" theme. It's not yet complet...
authorsr55 <sr55.hb@outlook.com>
Sun, 16 Jun 2019 19:48:07 +0000 (20:48 +0100)
committersr55 <sr55.hb@outlook.com>
Sun, 16 Jun 2019 19:48:07 +0000 (20:48 +0100)
13 files changed:
win/CS/HandBrakeWPF/App.xaml.cs
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Properties/Resources.Designer.cs
win/CS/HandBrakeWPF/Properties/Resources.resx
win/CS/HandBrakeWPF/Themes/Controls/ComboBoxDark.xaml [new file with mode: 0644]
win/CS/HandBrakeWPF/Themes/Dark.xaml [new file with mode: 0644]
win/CS/HandBrakeWPF/UserSettingConstants.cs
win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
win/CS/HandBrakeWPF/Views/AudioView.xaml
win/CS/HandBrakeWPF/Views/ChaptersView.xaml
win/CS/HandBrakeWPF/Views/OptionsView.xaml
win/CS/HandBrakeWPF/Views/SubtitlesView.xaml
win/CS/HandBrakeWPF/defaultsettings.xml

index ce31b066da9b827d320e1184c0bba1811f1390d8..a091dfaf956e359c05d7b57b739660c8c62383f1 100644 (file)
@@ -108,8 +108,7 @@ namespace HandBrakeWPF
             }\r
 \r
             // Setup the UI Language\r
-            \r
-            IUserSettingService userSettingService =  IoC.Get<IUserSettingService>();\r
+            IUserSettingService userSettingService = IoC.Get<IUserSettingService>();\r
             string culture = userSettingService.GetUserSetting<string>(UserSettingConstants.UiLanguage);\r
             if (!string.IsNullOrEmpty(culture))\r
             {\r
@@ -122,6 +121,14 @@ namespace HandBrakeWPF
                 }\r
             }\r
 \r
+            bool useDarkTheme = userSettingService.GetUserSetting<bool>(UserSettingConstants.UseDarkTheme);\r
+            if (useDarkTheme)\r
+            {\r
+                ResourceDictionary darkTheme = new ResourceDictionary();\r
+                darkTheme.Source = new Uri("Themes/Dark.xaml", UriKind.Relative);\r
+                Application.Current.Resources.MergedDictionaries.Add(darkTheme);\r
+            }\r
+\r
 \r
             // NO-Hardware Mode\r
             bool noHardware = e.Args.Any(f => f.Equals("--no-hardware"))  || (Portable.IsPortable() && !Portable.IsHardwareEnabled());\r
index 1c1fbc871b3c60470454f8a948c07257bc766227..fcd89d65b93b1d3ee0c74af41382a5586ff3be51 100644 (file)
       <Generator>MSBuild:Compile</Generator>\r
       <SubType>Designer</SubType>\r
     </Page>\r
+    <Page Include="Themes\Controls\ComboBoxDark.xaml">\r
+      <SubType>Designer</SubType>\r
+      <Generator>MSBuild:Compile</Generator>\r
+    </Page>\r
+    <Page Include="Themes\Dark.xaml">\r
+      <SubType>Designer</SubType>\r
+      <Generator>MSBuild:Compile</Generator>\r
+    </Page>\r
     <Page Include="Themes\Generic.xaml">\r
       <SubType>Designer</SubType>\r
       <Generator>MSBuild:Compile</Generator>\r
index 8a9b7e42bc48d358b15d172961447eebc3c7cbf8..353beb92227d1a9b0ff7ff868f054aeb7dce95e0 100644 (file)
@@ -2632,6 +2632,15 @@ namespace HandBrakeWPF.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Use the Dark Theme. (Requires Restart)  (THIS IS AN EARLY PREVIEW. IT IS NOT YET COMPLETE!).
+        /// </summary>
+        public static string Options_DarkTheme {
+            get {
+                return ResourceManager.GetString("Options_DarkTheme", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Decoding.
         /// </summary>
index 05ca13d669e0e1ef1e161609760d40cf36d1d1b9..37704b92b53b59c10ec6d4f1b26dab3e1d06bbe2 100644 (file)
@@ -2014,4 +2014,7 @@ Where supported, any user presets will have been imported.</value>
   <data name="QueueView_ExportCLI" xml:space="preserve">\r
     <value>Export Queue (CLI Only)</value>\r
   </data>\r
+  <data name="Options_DarkTheme" xml:space="preserve">\r
+    <value>Use the Dark Theme. (Requires Restart)  (THIS IS AN EARLY PREVIEW. IT IS NOT YET COMPLETE!)</value>\r
+  </data>\r
 </root>
\ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Themes/Controls/ComboBoxDark.xaml b/win/CS/HandBrakeWPF/Themes/Controls/ComboBoxDark.xaml
new file mode 100644 (file)
index 0000000..5e3431a
--- /dev/null
@@ -0,0 +1,372 @@
+<ResourceDictionary
+       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+       xmlns:themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
+
+    <SolidColorBrush x:Key="ComboBox.Static.Background" Color="#414141" />
+    <SolidColorBrush x:Key="ComboBox.Static.Border" Color="#606060" />
+    <SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="Black" />
+    <SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="#5D5E60" />
+    <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="Transparent" />
+    <SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="Transparent" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="White" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Background" Color="#43474C" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="#7EB4EA" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="Black" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="#7EB4EA" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" Color="#1D5791" />
+    <SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="#4B77A3" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="White" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Background" Color="#2164A8" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="#569DE5" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="Black" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="#569DE5" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Background" Color="#2164A8" />
+    <SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="#569DE5" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="#BFBFBF" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="#282828" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="#A8A8A8" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="Black" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="#A8A8A8" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="Transparent" />
+    <SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="Transparent" />
+    <SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="#B7B7B7" />
+
+    <Style x:Key="ComboBoxToggleButton2" TargetType="{x:Type ToggleButton}">
+        <Setter Property="OverridesDefaultStyle" Value="true" />
+        <Setter Property="IsTabStop" Value="false" />
+        <Setter Property="Focusable" Value="false" />
+        <Setter Property="ClickMode" Value="Press" />
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type ToggleButton}">
+                    <Border
+                                               x:Name="templateRoot"
+                                               Background="{DynamicResource ComboBox.Static.Background}"
+                                               BorderBrush="{DynamicResource ComboBox.Static.Border}"
+                                               BorderThickness="{TemplateBinding BorderThickness}"
+                                               SnapsToDevicePixels="true">
+                        <Border
+                                                       x:Name="splitBorder"
+                                                       Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
+                                                       Margin="0"
+                                                       HorizontalAlignment="Right"
+                                                       BorderBrush="Transparent"
+                                                       BorderThickness="1"
+                                                       SnapsToDevicePixels="true">
+                            <Path
+                                                               x:Name="arrow"
+                                                               Margin="0"
+                                                               HorizontalAlignment="Center"
+                                                               VerticalAlignment="Center"
+                                                               Data="F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z"
+                                                               Fill="{DynamicResource ComboBox.Static.Glyph}" />
+                        </Border>
+                    </Border>
+                    <ControlTemplate.Triggers>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
+                                <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="false" />
+                                <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="false" />
+                                <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="true" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.Static.Editable.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.Static.Editable.Border}" />
+                            <Setter TargetName="splitBorder" Property="Background" Value="{DynamicResource ComboBox.Static.Editable.Button.Background}" />
+                            <Setter TargetName="splitBorder" Property="BorderBrush" Value="{DynamicResource ComboBox.Static.Editable.Button.Border}" />
+                        </MultiDataTrigger>
+                        <Trigger Property="IsMouseOver" Value="true">
+                            <Setter TargetName="arrow" Property="Fill" Value="{DynamicResource ComboBox.MouseOver.Glyph}" />
+                        </Trigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.MouseOver.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.MouseOver.Border}" />
+                        </MultiDataTrigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.MouseOver.Editable.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.MouseOver.Editable.Border}" />
+                            <Setter TargetName="splitBorder" Property="Background" Value="{DynamicResource ComboBox.MouseOver.Editable.Button.Background}" />
+                            <Setter TargetName="splitBorder" Property="BorderBrush" Value="{DynamicResource ComboBox.MouseOver.Editable.Button.Border}" />
+                        </MultiDataTrigger>
+                        <Trigger Property="IsPressed" Value="true">
+                            <Setter TargetName="arrow" Property="Fill" Value="{DynamicResource ComboBox.Pressed.Glyph}" />
+                        </Trigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="true" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.Pressed.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.Pressed.Border}" />
+                        </MultiDataTrigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="true" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.Pressed.Editable.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.Pressed.Editable.Border}" />
+                            <Setter TargetName="splitBorder" Property="Background" Value="{DynamicResource ComboBox.Pressed.Editable.Button.Background}" />
+                            <Setter TargetName="splitBorder" Property="BorderBrush" Value="{DynamicResource ComboBox.Pressed.Editable.Button.Border}" />
+                        </MultiDataTrigger>
+                        <Trigger Property="IsEnabled" Value="false">
+                            <Setter TargetName="arrow" Property="Fill" Value="{DynamicResource ComboBox.Disabled.Glyph}" />
+                        </Trigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.Disabled.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.Disabled.Border}" />
+                        </MultiDataTrigger>
+                        <MultiDataTrigger>
+                            <MultiDataTrigger.Conditions>
+                                <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false" />
+                                <Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
+                            </MultiDataTrigger.Conditions>
+                            <Setter TargetName="templateRoot" Property="Background" Value="{DynamicResource ComboBox.Disabled.Editable.Background}" />
+                            <Setter TargetName="templateRoot" Property="BorderBrush" Value="{DynamicResource ComboBox.Disabled.Editable.Border}" />
+                            <Setter TargetName="splitBorder" Property="Background" Value="{DynamicResource ComboBox.Disabled.Editable.Button.Background}" />
+                            <Setter TargetName="splitBorder" Property="BorderBrush" Value="{DynamicResource ComboBox.Disabled.Editable.Button.Border}" />
+                        </MultiDataTrigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+    <ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}">
+        <Grid x:Name="templateRoot" SnapsToDevicePixels="true">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="*" />
+                <ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
+            </Grid.ColumnDefinitions>
+            <Popup
+                               x:Name="PART_Popup"
+                               Grid.ColumnSpan="2"
+                               Margin="1"
+                               AllowsTransparency="true"
+                               IsOpen="{Binding IsDropDownOpen,
+                                                Mode=TwoWay,
+                                                RelativeSource={RelativeSource TemplatedParent}}"
+                               Placement="Bottom"
+                               PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
+                <themes:SystemDropShadowChrome
+                                       x:Name="shadow"
+                                       MinWidth="{Binding ActualWidth,
+                                                          ElementName=templateRoot}"
+                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
+                                       Color="Transparent">
+                    <Border
+                                               x:Name="dropDownBorder"
+                                               Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
+                                               BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
+                                               BorderThickness="1">
+                        <ScrollViewer x:Name="DropDownScrollViewer">
+                            <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
+                                <Canvas
+                                                                       x:Name="canvas"
+                                                                       Width="0"
+                                                                       Height="0"
+                                                                       HorizontalAlignment="Left"
+                                                                       VerticalAlignment="Top">
+                                    <Rectangle
+                                                                               x:Name="opaqueRect"
+                                                                               Width="{Binding ActualWidth,
+                                                                                               ElementName=dropDownBorder}"
+                                                                               Height="{Binding ActualHeight,
+                                                                                                ElementName=dropDownBorder}"
+                                                                               Fill="{Binding Background,
+                                                                                              ElementName=dropDownBorder}" />
+                                </Canvas>
+                                <ItemsPresenter
+                                                                       x:Name="ItemsPresenter"
+                                                                       KeyboardNavigation.DirectionalNavigation="Contained"
+                                                                       SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
+                            </Grid>
+                        </ScrollViewer>
+                    </Border>
+                </themes:SystemDropShadowChrome>
+            </Popup>
+            <ToggleButton
+                               x:Name="toggleButton"
+                               Grid.ColumnSpan="2"
+                               Background="{TemplateBinding Background}"
+                               BorderBrush="{TemplateBinding BorderBrush}"
+                               BorderThickness="{TemplateBinding BorderThickness}"
+                               IsChecked="{Binding IsDropDownOpen,
+                                                   Mode=TwoWay,
+                                                   RelativeSource={RelativeSource TemplatedParent}}"
+                               Style="{StaticResource ComboBoxToggleButton2}" />
+            <ContentPresenter
+                               x:Name="contentPresenter"
+                               Margin="{TemplateBinding Padding}"
+                               HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
+                               VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
+                               Content="{TemplateBinding SelectionBoxItem}"
+                               ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
+                               ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
+                               ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
+                               IsHitTestVisible="false"
+                               SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
+        </Grid>
+        <ControlTemplate.Triggers>
+            <Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
+                <Setter TargetName="shadow" Property="Margin" Value="0 0 5 5" />
+                <Setter TargetName="shadow" Property="Color" Value="#71000000" />
+            </Trigger>
+            <Trigger Property="HasItems" Value="false">
+                <Setter TargetName="dropDownBorder" Property="Height" Value="95" />
+            </Trigger>
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <Condition Property="IsGrouping" Value="true" />
+                    <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false" />
+                </MultiTrigger.Conditions>
+                <Setter Property="ScrollViewer.CanContentScroll" Value="false" />
+            </MultiTrigger>
+            <Trigger SourceName="DropDownScrollViewer" Property="ScrollViewer.CanContentScroll" Value="false">
+                <Setter TargetName="opaqueRect" Property="Canvas.Top" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
+                <Setter TargetName="opaqueRect" Property="Canvas.Left" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
+            </Trigger>
+        </ControlTemplate.Triggers>
+    </ControlTemplate>
+    <SolidColorBrush x:Key="TextBox.Static.Background" Color="#FFFFFFFF" />
+    <ControlTemplate x:Key="ComboBoxEditableTemplate" TargetType="{x:Type ComboBox}">
+        <Grid x:Name="templateRoot" SnapsToDevicePixels="true">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="*" />
+                <ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
+            </Grid.ColumnDefinitions>
+            <Popup
+                               x:Name="PART_Popup"
+                               Grid.ColumnSpan="2"
+                               AllowsTransparency="true"
+                               IsOpen="{Binding IsDropDownOpen,
+                                                RelativeSource={RelativeSource TemplatedParent}}"
+                               Placement="Bottom"
+                               PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
+                <themes:SystemDropShadowChrome
+                                       x:Name="shadow"
+                                       MinWidth="{Binding ActualWidth,
+                                                          ElementName=templateRoot}"
+                                       MaxHeight="{TemplateBinding MaxDropDownHeight}"
+                                       Color="Transparent">
+                    <Border
+                                               x:Name="dropDownBorder"
+                                               Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
+                                               BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
+                                               BorderThickness="1">
+                        <ScrollViewer x:Name="DropDownScrollViewer">
+                            <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
+                                <Canvas
+                                                                       x:Name="canvas"
+                                                                       Width="0"
+                                                                       Height="0"
+                                                                       HorizontalAlignment="Left"
+                                                                       VerticalAlignment="Top">
+                                    <Rectangle
+                                                                               x:Name="opaqueRect"
+                                                                               Width="{Binding ActualWidth,
+                                                                                               ElementName=dropDownBorder}"
+                                                                               Height="{Binding ActualHeight,
+                                                                                                ElementName=dropDownBorder}"
+                                                                               Fill="{Binding Background,
+                                                                                              ElementName=dropDownBorder}" />
+                                </Canvas>
+                                <ItemsPresenter
+                                                                       x:Name="ItemsPresenter"
+                                                                       KeyboardNavigation.DirectionalNavigation="Contained"
+                                                                       SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
+                            </Grid>
+                        </ScrollViewer>
+                    </Border>
+                </themes:SystemDropShadowChrome>
+            </Popup>
+            <ToggleButton
+                               x:Name="toggleButton"
+                               Grid.ColumnSpan="2"
+                               Background="{TemplateBinding Background}"
+                               BorderBrush="{TemplateBinding BorderBrush}"
+                               BorderThickness="{TemplateBinding BorderThickness}"
+                               IsChecked="{Binding IsDropDownOpen,
+                                                   Mode=TwoWay,
+                                                   RelativeSource={RelativeSource TemplatedParent}}"
+                               Style="{StaticResource ComboBoxToggleButton2}" />
+            <Border
+                               x:Name="border"
+                               Margin="{TemplateBinding BorderThickness}"
+                               Background="{StaticResource TextBox.Static.Background}">
+                <TextBox
+                                       x:Name="PART_EditableTextBox"
+                                       Margin="{TemplateBinding Padding}"
+                                       HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
+                                       VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
+                                       IsReadOnly="{Binding IsReadOnly,
+                                                            RelativeSource={RelativeSource TemplatedParent}}"
+                                       Style="{StaticResource ComboBoxEditableTextBox}" />
+            </Border>
+        </Grid>
+        <ControlTemplate.Triggers>
+            <Trigger Property="IsEnabled" Value="false">
+                <Setter TargetName="border" Property="Opacity" Value="0.56" />
+            </Trigger>
+            <Trigger Property="IsKeyboardFocusWithin" Value="true">
+                <Setter Property="Foreground" Value="Black" />
+            </Trigger>
+            <Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
+                <Setter TargetName="shadow" Property="Margin" Value="0 0 5 5" />
+                <Setter TargetName="shadow" Property="Color" Value="#71000000" />
+            </Trigger>
+            <Trigger Property="HasItems" Value="false">
+                <Setter TargetName="dropDownBorder" Property="Height" Value="95" />
+            </Trigger>
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <Condition Property="IsGrouping" Value="true" />
+                    <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false" />
+                </MultiTrigger.Conditions>
+                <Setter Property="ScrollViewer.CanContentScroll" Value="false" />
+            </MultiTrigger>
+            <Trigger SourceName="DropDownScrollViewer" Property="ScrollViewer.CanContentScroll" Value="false">
+                <Setter TargetName="opaqueRect" Property="Canvas.Top" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
+                <Setter TargetName="opaqueRect" Property="Canvas.Left" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
+            </Trigger>
+        </ControlTemplate.Triggers>
+    </ControlTemplate>
+    <Style x:Key="ComboBoxBaseStyle" TargetType="ComboBox">
+        <Setter Property="Background" Value="{StaticResource ComboBox.Static.Background}" />
+        <Setter Property="BorderBrush" Value="{StaticResource ComboBox.Static.Border}" />
+        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
+        <Setter Property="BorderThickness" Value="1" />
+        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
+        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
+        <Setter Property="Padding" Value="6 3 5 3" />
+        <Setter Property="ScrollViewer.CanContentScroll" Value="true" />
+        <Setter Property="ScrollViewer.PanningMode" Value="Both" />
+        <Setter Property="Stylus.IsFlicksEnabled" Value="False" />
+        <Setter Property="Template" Value="{StaticResource ComboBoxTemplate}" />
+        <Style.Triggers>
+            <Trigger Property="IsEditable" Value="true">
+                <Setter Property="IsTabStop" Value="false" />
+                <Setter Property="Padding" Value="2" />
+                <Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}" />
+            </Trigger>
+        </Style.Triggers>
+    </Style>
+    <Style BasedOn="{StaticResource ComboBoxBaseStyle}" TargetType="{x:Type ComboBox}" />
+    <Style
+               x:Key="ButtonStyle1"
+               BasedOn="{StaticResource ButtonBaseStyle}"
+               TargetType="{x:Type Button}" />
+
+</ResourceDictionary>
\ No newline at end of file
diff --git a/win/CS/HandBrakeWPF/Themes/Dark.xaml b/win/CS/HandBrakeWPF/Themes/Dark.xaml
new file mode 100644 (file)
index 0000000..a68fba4
--- /dev/null
@@ -0,0 +1,101 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <!--
+        #252525 - Dark
+        #363636 - Mid 
+    
+        #414141 - Light
+        #606060 - Ultralight
+    -->
+
+    <SolidColorBrush x:Key="Ui.Dark" Color="#252525" />
+    <SolidColorBrush x:Key="Ui.Mid" Color="#363636" />
+
+    <SolidColorBrush x:Key="Ui.Light" Color="#464646" />
+    <SolidColorBrush x:Key="Ui.Ultralight" Color="#606060" />
+
+    <!-- General -->
+    <SolidColorBrush x:Key="{x:Static SystemColors.WindowBrushKey}" Color="#252525" />
+    <SolidColorBrush x:Key="{x:Static SystemColors.WindowTextBrushKey}" Color="White" />
+    <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="White" />
+    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="WhiteSmoke" />
+
+
+    <!-- Button -->
+    <Style TargetType="Button">
+        <Setter Property="Background" Value="{DynamicResource Ui.Light}" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <!-- Listbox -->
+    <Style TargetType="ListBox">
+        <Setter Property="Background" Value="{DynamicResource Ui.Dark}" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <!-- Toolbar -->
+    <Style TargetType="ToolBar">
+        <Setter Property="Background" Value="Black" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <!-- Menu -->
+    <Style TargetType="Menu">
+        <Setter Property="Background" Value="{DynamicResource Ui.Mid}" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <Style TargetType="MenuItem">
+        <Setter Property="Background" Value="{DynamicResource Ui.Mid}" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <!-- StatusBar -->
+    <Style TargetType="StatusBar">
+        <Setter Property="Background" Value="{DynamicResource Ui.Mid}" />
+        <Setter Property="Foreground" Value="White" />
+    </Style>
+
+    <!-- Text Entry Controls -->
+    <Style TargetType="TextBox">
+        <Setter Property="Background" Value="{DynamicResource Ui.Light}" />
+    </Style>
+
+    <Style TargetType="{x:Type TextBlock}">
+        <Setter Property="Foreground" Value="White"/>
+    </Style>
+
+    <!-- Tab Control -->
+    <Style TargetType="{x:Type TabControl}">
+        <Setter Property="Background" Value="{DynamicResource Ui.Mid}"/>
+        <Setter Property="BorderThickness" Value="0"/>
+        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+    </Style>
+
+    <Style TargetType="TabItem">
+        <Setter Property="Background" Value="{DynamicResource Ui.Mid}" />
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="TabItem">
+                    <Grid Name="Panel">
+                        <ContentPresenter x:Name="ContentSite" VerticalAlignment="Center" HorizontalAlignment="Center" ContentSource="Header" Margin="10,6"/>
+                    </Grid>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsSelected" Value="True">
+                            <Setter TargetName="Panel" Property="Background" Value="{DynamicResource Ui.Mid}" />
+                        </Trigger>
+                        <Trigger Property="IsSelected" Value="False">
+                            <Setter TargetName="Panel" Property="Background" Value="{DynamicResource Ui.Dark}" />
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+
+    <!-- ComboBox -->
+    <ResourceDictionary.MergedDictionaries>
+        <ResourceDictionary Source="Controls/ComboBoxDark.xaml" />
+    </ResourceDictionary.MergedDictionaries>
+
+</ResourceDictionary>
\ No newline at end of file
index 014c9ef23a7228bde7b3bb2bd09fb02e5a89ead3..c12a756cea0c2194718d131440d0dd461455da6b 100644 (file)
@@ -72,5 +72,6 @@ namespace HandBrakeWPF
         public const string AutonameFileCollisionBehaviour = "AutonameFileCollisionBehaviour";\r
         public const string AutonameFilePrePostString = "AutonameFilePrePostString";\r
         public const string WhenDonePerformActionImmediately = "WhenDonePerformActionImmediately";\r
+        public const string UseDarkTheme = "UseDarkTheme";\r
     }\r
 }
\ No newline at end of file
index 06629ece293ba3b0276bc26f2636928d27e904d7..1fcb2379ea8e1b6f02127627fa7343c42b6346e3 100644 (file)
@@ -111,6 +111,7 @@ namespace HandBrakeWPF.ViewModels
         private string prePostFilenameText;\r
         private bool showPrePostFilenameBox;\r
         private bool whenDonePerformActionImmediately;\r
+        private bool useDarkTheme;\r
 \r
         #endregion\r
 \r
@@ -521,6 +522,17 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
+        public bool UseDarkTheme\r
+        {\r
+            get => this.useDarkTheme;\r
+            set\r
+            {\r
+                if (value == this.useDarkTheme) return;\r
+                this.useDarkTheme = value;\r
+                this.NotifyOfPropertyChange(() => this.UseDarkTheme);\r
+            }\r
+        }\r
+\r
         #endregion\r
 \r
         #region Output Files\r
@@ -1469,6 +1481,7 @@ namespace HandBrakeWPF.ViewModels
             this.ShowPreviewOnSummaryTab = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowPreviewOnSummaryTab);\r
             this.ShowAddAllToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddAllToQueue);\r
             this.ShowAddSelectionToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddSelectionToQueue);\r
+            this.UseDarkTheme = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.UseDarkTheme);\r
 \r
             // #############################\r
             // When Done\r
@@ -1671,7 +1684,7 @@ namespace HandBrakeWPF.ViewModels
             this.userSettingService.SetUserSetting(UserSettingConstants.SendFileToArgs, this.Arguments);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.ShowStatusInTitleBar, this.ShowStatusInTitleBar);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.ShowPreviewOnSummaryTab, this.ShowPreviewOnSummaryTab);\r
\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.UseDarkTheme, this.UseDarkTheme);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.UiLanguage, this.SelectedLanguage?.Culture);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.ShowAddAllToQueue, this.ShowAddAllToQueue);\r
             this.userSettingService.SetUserSetting(UserSettingConstants.ShowAddSelectionToQueue, this.ShowAddSelectionToQueue);\r
@@ -1713,21 +1726,21 @@ namespace HandBrakeWPF.ViewModels
             this.userSettingService.SetUserSetting(UserSettingConstants.EnableNvencEncoder, this.EnableNvencEncoder);\r
 \r
             /* System and Logging */\r
-            userSettingService.SetUserSetting(UserSettingConstants.ProcessPriority, this.SelectedPriority);\r
-            userSettingService.SetUserSetting(UserSettingConstants.PreventSleep, this.PreventSleep);\r
-            userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspace, this.PauseOnLowDiskspace);\r
-            userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspaceLevel, this.PauseOnLowDiskspaceLevel);\r
-            userSettingService.SetUserSetting(UserSettingConstants.Verbosity, this.SelectedVerbosity);\r
-            userSettingService.SetUserSetting(UserSettingConstants.SaveLogWithVideo, this.CopyLogToEncodeDirectory);\r
-            userSettingService.SetUserSetting(UserSettingConstants.SaveLogToCopyDirectory, this.CopyLogToSepcficedLocation);\r
-            userSettingService.SetUserSetting(UserSettingConstants.SaveLogCopyDirectory, this.LogDirectory);\r
-            userSettingService.SetUserSetting(UserSettingConstants.ClearOldLogs, this.ClearOldOlgs);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.ProcessPriority, this.SelectedPriority);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.PreventSleep, this.PreventSleep);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspace, this.PauseOnLowDiskspace);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.PauseOnLowDiskspaceLevel, this.PauseOnLowDiskspaceLevel);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.Verbosity, this.SelectedVerbosity);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.SaveLogWithVideo, this.CopyLogToEncodeDirectory);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.SaveLogToCopyDirectory, this.CopyLogToSepcficedLocation);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.SaveLogCopyDirectory, this.LogDirectory);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.ClearOldLogs, this.ClearOldOlgs);\r
 \r
             /* Advanced */\r
-            userSettingService.SetUserSetting(UserSettingConstants.MainWindowMinimize, this.MinimiseToTray);\r
-            userSettingService.SetUserSetting(UserSettingConstants.ClearCompletedFromQueue, this.ClearQueueOnEncodeCompleted);\r
-            userSettingService.SetUserSetting(UserSettingConstants.PreviewScanCount, this.SelectedPreviewCount);\r
-            userSettingService.SetUserSetting(UserSettingConstants.X264Step, double.Parse(this.SelectedGranulairty, CultureInfo.InvariantCulture));\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.MainWindowMinimize, this.MinimiseToTray);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.ClearCompletedFromQueue, this.ClearQueueOnEncodeCompleted);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.PreviewScanCount, this.SelectedPreviewCount);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.X264Step, double.Parse(this.SelectedGranulairty, CultureInfo.InvariantCulture));\r
 \r
             int value;\r
             if (int.TryParse(this.MinLength.ToString(CultureInfo.InvariantCulture), out value))\r
@@ -1735,7 +1748,7 @@ namespace HandBrakeWPF.ViewModels
                 this.userSettingService.SetUserSetting(UserSettingConstants.MinScanDuration, value);\r
             }\r
 \r
-            userSettingService.SetUserSetting(UserSettingConstants.DisableLibDvdNav, this.DisableLibdvdNav);\r
+            this.userSettingService.SetUserSetting(UserSettingConstants.DisableLibDvdNav, this.DisableLibdvdNav);\r
         }\r
 \r
         /// <summary>\r
index ecb53ae4db2c5050a02e488e599bcbd0e80f973a..c51ce368bb5ba3c13ecadd2934efcb70e10e149c 100644 (file)
                             <ColumnDefinition Width="Auto" />\r
                         </Grid.ColumnDefinitions>\r
 \r
-                        <!--  Marker  -->\r
-                        <Image Grid.Column="0" Grid.Row="0"\r
-                               Width="20"\r
-                               Height="20"\r
-                               Margin="5,0,5,0"\r
-                               Source="Images/Movies_small.png" />\r
-\r
                         <!--  Settings  -->\r
                         <Grid Grid.Column="1" Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,5,0,5">\r
                             <Grid.ColumnDefinitions>\r
 \r
                         <!-- Hidden Row -->\r
                         <Grid Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" Visibility="{Binding IsChecked, ElementName=advancedOptionsToggle, Converter={StaticResource boolToVisConverter}}">\r
-                            <StackPanel Orientation="Horizontal" Margin="0,5,0,5" >\r
+                            <StackPanel Orientation="Horizontal" Margin="8,5,0,5" >\r
 \r
                                 <TextBlock VerticalAlignment="Center" FontWeight="Bold" Text="{x:Static Properties:Resources.AudioView_Samplerate}"\r
                                        Visibility="{Binding IsPassthru, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" />\r
                                                     Visibility="{Binding IsPassthru, Converter={StaticResource boolToHiddenVisConverter}, ConverterParameter=true}"/>\r
 \r
                                 <TextBlock Text="{x:Static Properties:Resources.AudioView_TrackName}" VerticalAlignment="Center" FontWeight="Bold" Margin="5,0,5,0" />\r
-                                <TextBox Text="{Binding TrackName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="138" Height="22" />\r
+                                <TextBox Text="{Binding TrackName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="175" Height="22" />\r
 \r
                             </StackPanel>\r
                         </Grid>\r
index f916ff5033af82f2e081d2559d2996921f3eb5c2..e74a896dc8fb9878d29a2a43780eb6fe7edcc123 100644 (file)
                   VerticalAlignment="Stretch"  AutoGenerateColumns="False"\r
                   CanUserSortColumns="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False"\r
                   CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility="Column"\r
-                  HorizontalGridLinesBrush="#FFABADB3" VerticalGridLinesBrush="#FFABADB3">\r
+                  HorizontalGridLinesBrush="#FFABADB3" VerticalGridLinesBrush="#FFABADB3"\r
+                  Background="Transparent" SelectionMode="Single">\r
             <DataGrid.CellStyle>\r
                 <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">\r
                     <Setter Property="MinHeight" Value="22" />\r
+                    <Setter Property="BorderThickness" Value="0" />\r
+                    <Setter Property="VerticalContentAlignment" Value="Center" />\r
                 </Style>\r
             </DataGrid.CellStyle>\r
             <DataGrid.ContextMenu>\r
index 244929800f83ca4581d40e5c7e659dc6b479ecd3..9a72fdf514dcd04b6458ca82bccf64bbaa5de58f 100644 (file)
                             <ComboBox DisplayMemberPath="Name" ItemsSource="{Binding InterfaceLanguages}" SelectedItem="{Binding SelectedLanguage}" Margin="5,0,0,0" HorizontalAlignment="Left" Width="150" />\r
                         </StackPanel>\r
 \r
-                        <StackPanel Orientation="Vertical" Margin="20,0,0,0">\r
+                        <StackPanel Orientation="Vertical" Margin="20,5,0,0">\r
+                            <CheckBox Content="{x:Static Properties:Resources.Options_DarkTheme}" IsChecked="{Binding UseDarkTheme}" />\r
                             <CheckBox Content="{x:Static Properties:Resources.Options_MinimiseTray}" IsChecked="{Binding MinimiseToTray}" />\r
                             <CheckBox Content="{x:Static Properties:Resources.Options_ClearCompleted}" IsChecked="{Binding ClearQueueOnEncodeCompleted}" />\r
                             <CheckBox Content="{x:Static Properties:Resources.OptionsView_ShowStatusInTitleBar}" IsChecked="{Binding ShowStatusInTitleBar}" />\r
index f7ed98288286e5dbbb0d9bf96aad9c9c58eb96ef..1270cb258eeb6ec71475a7e3dd3354164b7df9f2 100644 (file)
                             <ColumnDefinition Width="Auto" />\r
                         </Grid.ColumnDefinitions>\r
 \r
-                        <!--  Marker  -->\r
-                        <Image Grid.Column="0"\r
-                               Width="20"\r
-                               Height="20"\r
-                               Margin="5,0,5,0"\r
-                               Source="Images/Movies_small.png" />\r
-\r
                         <!--  Standard Subtitle Settings  -->\r
                         <Grid Grid.Column="1" HorizontalAlignment="Stretch" Margin="0,8,0,8"\r
                               Visibility="{Binding IsSrtSubtitle, Converter={StaticResource booleanToVisConverter}, ConverterParameter=true}">\r
                             </Grid.RowDefinitions>\r
 \r
                             <!--  Row 1  -->\r
-                            <TextBlock Grid.Column="0" VerticalAlignment="Center" FontWeight="Bold" Text="Source" />\r
+                            <TextBlock Grid.Column="0" VerticalAlignment="Center" FontWeight="Bold" Text="Source" Margin="10,0,0,0" />\r
                             <TextBlock Grid.Column="1" VerticalAlignment="Center" Text="{Binding SrtFileName}" Margin="5,0,5,0" Width="75" TextWrapping="NoWrap" TextTrimming="WordEllipsis"\r
                                        Visibility="{Binding IsSrtSubtitle, Converter={StaticResource booleanToVisConverter}, ConverterParameter=false}" />\r
 \r
                             <TextBlock Grid.Column="6" VerticalAlignment="Center" FontWeight="Bold" Text="Offset (ms)" />\r
                             <controls:NumberBox Grid.Column="7" Width="58" Height="24" Margin="5,0,5,0" Minimum="-9000000" Maximum="900000" \r
                                                 IsEnabled="{Binding IsSrtSubtitle}" Number="{Binding SrtOffset, Mode=TwoWay}" />\r
-             \r
-                            <CheckBox Grid.Column="8" Margin="5,0,5,0" VerticalAlignment="Center" IsChecked="{Binding Burned}" IsEnabled="{Binding CanBeBurned}" Content="Burn In" FontWeight="Bold">\r
+\r
+                            <CheckBox Grid.Column="8" Margin="5,0,5,0" VerticalAlignment="Center" IsChecked="{Binding Burned}" IsEnabled="{Binding CanBeBurned}" Content="Burn In" FontWeight="Bold" \r
+                                      VerticalContentAlignment="Center">\r
                                 <i:Interaction.Triggers>\r
                                     <i:EventTrigger EventName="Click">\r
                                         <cal:ActionMessage MethodName="SetBurnedToFalseForAllExcept">\r
                                 </i:Interaction.Triggers>\r
                             </CheckBox>\r
 \r
-                            <CheckBox Grid.Column="9" Margin="5,0,5,0" VerticalAlignment="Center" IsChecked="{Binding Default}" Content="Default" FontWeight="Bold"\r
+                            <CheckBox Grid.Column="9" Margin="0,0,5,0" VerticalAlignment="Center" IsChecked="{Binding Default}" Content="Default" FontWeight="Bold" VerticalContentAlignment="Center"\r
                                       IsEnabled="{Binding DataContext.IsBurnableOnly, Converter={StaticResource booleanConverter}, ConverterParameter=true, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}">\r
                                 <i:Interaction.Triggers>\r
                                     <i:EventTrigger EventName="Click">\r
index dd7ef6abef79e8f78fd429b9677aeb412c786bd1..22f5eb6ac41d42440b2d9c69e764507cd3229bc7 100644 (file)
       <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">false</anyType>\r
     </value>\r
   </item>\r
+  <item>\r
+    <key>\r
+      <string>UseDarkTheme</string>\r
+    </key>\r
+    <value>\r
+      <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">false</anyType>\r
+    </value>\r
+  </item>\r
 </dictionary>
\ No newline at end of file