xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"\r
xmlns:cal="http://www.caliburnproject.org"\r
xmlns:menu="clr-namespace:HandBrakeWPF.Commands.Menu"\r
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"\r
+ xmlns:commands="clr-namespace:HandBrakeWPF.Commands"\r
+ xmlns:helpers="clr-namespace:HandBrakeWPF.Helpers"\r
+ xmlns:loc="clr-namespace:HandBrakeWPF.Services.Presets.Model"\r
AllowDrop="True"\r
FontSize="11"\r
cal:Message.Attach="[Event Loaded] = [Action Load]"\r
\r
<Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />\r
\r
+ <Style x:Key="textBlockOrangeStyle" TargetType="TextBlock">\r
+ <Setter Property="FontWeight" Value="Bold" />\r
+ <Setter Property="Padding" Value="5,5" />\r
+ </Style>\r
+\r
</UserControl.Resources>\r
\r
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">\r
<Separator />\r
<MenuItem Header="_Set Current as Default" cal:Message.Attach="[Event Click] = [Action PresetSetDefault]" />\r
<MenuItem Header="_Reset Built-In Presets" cal:Message.Attach="[Event Click] = [Action PresetReset]" />\r
+ <Separator />\r
+ <MenuItem IsCheckable="True" x:Name="showPresetPanelMenuItem" IsChecked="{Binding IsPresetPanelShowing}" Header="S_how Preset Panel" />\r
</MenuItem>\r
\r
<MenuItem Header="_Queue" x:Name="queueMenu" Visibility="{Binding HasSource, Converter={StaticResource booleanConverter}, ConverterParameter=false}">\r
\r
<!-- Main Body -->\r
<Grid Grid.Row="1">\r
+ <Grid.ColumnDefinitions>\r
+ <ColumnDefinition Width="*" MinWidth="725"/>\r
+ <ColumnDefinition Width="Auto" />\r
+ </Grid.ColumnDefinitions>\r
<Grid.RowDefinitions>\r
<RowDefinition Height="Auto" />\r
<RowDefinition Height="Auto" />\r
<!-- Presets Options -->\r
<StackPanel Grid.Row="1" Orientation="Vertical" Margin="10,5,10,5">\r
<Label Content="Presets" FontWeight="Bold" VerticalAlignment="Center" />\r
- <StackPanel Orientation="Horizontal" Margin="8,0,0,0">\r
+ <StackPanel Orientation="Horizontal" Margin="8,0,0,0" Visibility="{Binding IsPresetPanelShowing, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">\r
<ComboBox ItemsSource="{Binding PresetsCategories}" SelectedItem="{Binding SelectedPresetCategory}" Width="150" DisplayMemberPath="Category" Margin="5,0,0,0" VerticalAlignment="Center" />\r
<ComboBox ItemsSource="{Binding CategoryPresets}" SelectedItem="{Binding SelectedPreset}" Width="250" Margin="10,0,0,0" VerticalAlignment="Center">\r
<ComboBox.Resources>\r
</Button.ContextMenu>\r
</Button>\r
</StackPanel>\r
+ <StackPanel Margin="8,0,0,0" Orientation="Horizontal" Visibility="{Binding IsPresetPanelShowing, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}">\r
+ <TextBlock Text="Selected Preset:" Margin="5,0,0,0" />\r
+ <TextBlock Text="{Binding SelectedPreset.Name}" Margin="5,0,0,0" />\r
+ <TextBlock Text="(Default)" Visibility="{Binding SelectedPreset.IsDefault, Converter={StaticResource boolToVisConverter}}" Margin="5,0,0,0" />\r
+ </StackPanel>\r
+ \r
+\r
</StackPanel>\r
\r
<!-- Tab Control -->\r
</Grid>\r
</StackPanel>\r
\r
+ <!-- Presets -->\r
+ <GroupBox Grid.Row="0" Grid.RowSpan="4"\r
+ Grid.Column="1"\r
+ HorizontalAlignment="Stretch"\r
+ VerticalAlignment="Stretch"\r
+ Header="Presets"\r
+ Margin="0,0,5,5"\r
+ IsEnabled="{Binding HasSource, Converter={StaticResource booleanConverter}, ConverterParameter=false}"\r
+ Visibility="{Binding IsPresetPanelShowing, Converter={StaticResource boolToVisConverter}}">\r
+\r
+\r
+ <Grid>\r
+ <Grid.RowDefinitions>\r
+ <RowDefinition Height="*" />\r
+ <RowDefinition Height="Auto" />\r
+ </Grid.RowDefinitions>\r
+\r
+ <Grid.Resources>\r
+\r
+ <HierarchicalDataTemplate DataType="{x:Type loc:Preset}">\r
+ <StackPanel Orientation="Horizontal" >\r
+ <StackPanel.Resources>\r
+ <Style TargetType="TextBlock">\r
+ <Style.Triggers>\r
+ <DataTrigger Binding="{Binding IsDefault}" Value="True" >\r
+ <Setter Property="FontStyle" Value="Italic" />\r
+ </DataTrigger>\r
+ <DataTrigger Binding="{Binding IsDefault}" Value="False" >\r
+ <Setter Property="FontStyle" Value="Normal" />\r
+ </DataTrigger>\r
+ <DataTrigger Binding="{Binding IsSelected}" Value="True">\r
+ <Setter Property="FontWeight" Value="Bold"/>\r
+ </DataTrigger>\r
+ </Style.Triggers>\r
+ </Style>\r
+ </StackPanel.Resources>\r
+ <TextBlock Text="{Binding Name}"/>\r
+ </StackPanel>\r
+ </HierarchicalDataTemplate>\r
+\r
+ <HierarchicalDataTemplate DataType="{x:Type loc:PresetDisplayCategory}" ItemsSource="{Binding Presets}">\r
+ <StackPanel Orientation="Horizontal" >\r
+ <TextBlock Text="{Binding Category}" FontSize="14" />\r
+ </StackPanel>\r
+ </HierarchicalDataTemplate>\r
+ </Grid.Resources>\r
+\r
+ <TreeView x:Name="presetListTree" HorizontalAlignment="Stretch" AutomationProperties.Name="Presets List" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_Presets}"\r
+ VerticalAlignment="Stretch" BorderThickness="0,0,0,1" BorderBrush="LightGray"\r
+ ItemsSource="{Binding PresetsCategories}"\r
+ helpers:TreeViewHelper.TreeViewSelectedItem="{Binding Path=SelectedPreset, Mode=TwoWay}"\r
+ PreviewMouseRightButtonDown="PresetListTree_OnPreviewMouseRightButtonDown">\r
+\r
+ <TreeView.ItemContainerStyle>\r
+ <Style BasedOn="{StaticResource {x:Type TreeViewItem}}" TargetType="TreeViewItem">\r
+ <Setter Property="HorizontalAlignment" Value="Stretch" />\r
+ <Setter Property="Padding" Value="4" />\r
+ <Setter Property="ToolTip" Value="{Binding Description}" />\r
+ <Setter Property="ToolTipService.InitialShowDelay" Value="1500"/>\r
+ <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />\r
+ <EventSetter Event="TreeViewItem.Collapsed" Handler="PresetTreeviewItemCollasped" />\r
+ <Style.Triggers>\r
+ <Trigger Property="HasItems" Value="True">\r
+ <Setter Property="Focusable" Value="false" />\r
+ </Trigger>\r
+\r
+ </Style.Triggers>\r
+ </Style>\r
+ </TreeView.ItemContainerStyle>\r
+\r
+ <TreeView.ContextMenu>\r
+ <ContextMenu AutomationProperties.Name="Presets List Context Menu">\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_SetDefault}" cal:Message.Attach="[Event Click] = [Action PresetSetDefault]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_UpdateSelectedPreset}" cal:Message.Attach="[Event Click] = [Action PresetUpdate]" />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_PresetManage}" cal:Message.Attach="[Event Click] = [Action PresetManage]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.Preset_Import}" cal:Message.Attach="[Event Click] = [Action PresetImport]" />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.Preset_Export}" cal:Message.Attach="[Event Click] = [Action PresetExport]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_ResetBuiltInPresets}" cal:Message.Attach="[Event Click] = [Action PresetReset]" />\r
+ </ContextMenu>\r
+\r
+ </TreeView.ContextMenu>\r
+\r
+ <i:Interaction.Triggers>\r
+ <commands:InputBindingTrigger>\r
+ <commands:InputBindingTrigger.InputBinding>\r
+ <KeyBinding Key="Delete"/>\r
+ </commands:InputBindingTrigger.InputBinding>\r
+ <cal:ActionMessage MethodName="PresetRemove" />\r
+ </commands:InputBindingTrigger>\r
+ </i:Interaction.Triggers>\r
+\r
+ </TreeView>\r
+\r
+ <ToolBar Name="presetsToolBar"\r
+ Grid.Row="1"\r
+ HorizontalAlignment="Center"\r
+ VerticalAlignment="Stretch"\r
+ SnapsToDevicePixels="False"\r
+ UseLayoutRounding="False"\r
+ ToolBar.OverflowMode="Never" \r
+ Background="Transparent"\r
+ ToolBarTray.IsLocked="True"\r
+ Loaded="ToolBarLoaded"\r
+ KeyboardNavigation.TabNavigation="Continue" >\r
+\r
+ <ToolBar.Resources>\r
+ <Style TargetType="{x:Type ToolBarPanel}">\r
+ <Setter Property="Orientation" Value="Vertical"/>\r
+ <Setter Property="VerticalAlignment" Value="Center"/>\r
+ </Style>\r
+\r
+ <Style BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="{x:Type Button}" />\r
+ </ToolBar.Resources>\r
+\r
+ <ToolBarOverflowPanel>\r
+ <Button cal:Message.Attach="[Event Click] = [Action PresetAdd]" AutomationProperties.Name="Add Preset" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_AddPreset}">\r
+ <Button.Content>\r
+ <StackPanel Orientation="Horizontal">\r
+ <Image Width="20"\r
+ Height="20"\r
+ Source="Images/add.png"\r
+ />\r
+ <TextBlock Margin="2,0,0,0"\r
+ VerticalAlignment="Center"\r
+ Style="{StaticResource textBlockOrangeStyle}"\r
+ Text="{x:Static Properties:ResourcesUI.Generic_Add}"\r
+ />\r
+ </StackPanel>\r
+ </Button.Content>\r
+ </Button>\r
+\r
+ <Button Background="Transparent" cal:Message.Attach="[Event Click] = [Action PresetRemove]" AutomationProperties.Name="Remove Preset" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_RemovePreset}">\r
+ <Button.Content>\r
+ <StackPanel Orientation="Horizontal">\r
+ <Image Width="20"\r
+ Height="20"\r
+ Source="Images/remove.png"\r
+ SnapsToDevicePixels="True"\r
+ />\r
+ <TextBlock Margin="2,0,0,0"\r
+ VerticalAlignment="Center"\r
+ Style="{StaticResource textBlockOrangeStyle}"\r
+ Text="{x:Static Properties:ResourcesUI.MainView_Remove}"\r
+ />\r
+ </StackPanel>\r
+ </Button.Content>\r
+ </Button>\r
+\r
+ <Menu Background="Transparent" AutomationProperties.Name="Preset Options Dropdown" MinHeight="22" ToolTip="{x:Static Properties:ResourcesTooltips.MainView_PresetAdditionalOptions}">\r
+ <MenuItem ToolBar.OverflowMode="Never">\r
+ <MenuItem.Header>\r
+ <StackPanel Orientation="Horizontal">\r
+ <Image Width="20"\r
+ Height="20"\r
+ Source="Images/Advanced.png"\r
+ RenderOptions.BitmapScalingMode="HighQuality"\r
+ />\r
+ <TextBlock Margin="2,0,0,0"\r
+ VerticalAlignment="Center"\r
+ Style="{StaticResource textBlockOrangeStyle}"\r
+ Text="{x:Static Properties:ResourcesUI.MainView_Options}"\r
+ />\r
+ </StackPanel>\r
+ </MenuItem.Header>\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_SetDefault}" cal:Message.Attach="[Event Click] = [Action PresetSetDefault]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_UpdateSelectedPreset}" cal:Message.Attach="[Event Click] = [Action PresetUpdate]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.Preset_Import}" cal:Message.Attach="[Event Click] = [Action PresetImport]" />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.Preset_Export}" cal:Message.Attach="[Event Click] = [Action PresetExport]" />\r
+ <Separator />\r
+ <MenuItem Header="{x:Static Properties:ResourcesUI.MainView_ResetBuiltInPresets}" cal:Message.Attach="[Event Click] = [Action PresetReset]" />\r
+ </MenuItem>\r
+ </Menu>\r
+ </ToolBarOverflowPanel>\r
+\r
+ </ToolBar>\r
+ </Grid>\r
+ </GroupBox>\r
</Grid>\r
+ \r
+ \r
\r
<!-- Source Selection-->\r
<Controls:SourceSelection x:Name="sourceSelection"\r