]> granicus.if.org Git - handbrake/commitdiff
WinGui: Remove the legacy queue design. The new design is now always used.
authorsr55 <sr55.hb@outlook.com>
Sun, 3 Mar 2019 16:28:30 +0000 (16:28 +0000)
committersr55 <sr55.hb@outlook.com>
Sun, 3 Mar 2019 16:28:30 +0000 (16:28 +0000)
16 files changed:
win/CS/HandBrake.sln.DotSettings
win/CS/HandBrakeWPF/HandBrakeWPF.csproj
win/CS/HandBrakeWPF/Services/Presets/PresetService.cs
win/CS/HandBrakeWPF/UserSettingConstants.cs
win/CS/HandBrakeWPF/ViewModels/Interfaces/IQueueViewModel.cs
win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
win/CS/HandBrakeWPF/ViewModels/QueueViewModel.cs
win/CS/HandBrakeWPF/Views/OptionsView.xaml
win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml [deleted file]
win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml.cs [deleted file]
win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml [deleted file]
win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml.cs [deleted file]
win/CS/HandBrakeWPF/Views/QueueView.xaml
win/CS/HandBrakeWPF/Views/QueueView.xaml.cs
win/CS/HandBrakeWPF/defaultsettings.xml

index 91a1a679bab995f9f7940687bc050abd4187c702..f506f6b7cce350d383a8d65a79e195b5175bdb45 100644 (file)
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpRenamePlacementToArrangementMigration/@EntryIndexedValue">True</s:Boolean>
+       <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpUseContinuousIndentInsideBracesMigration/@EntryIndexedValue">True</s:Boolean>
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
        <s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002ECSharpPlaceAttributeOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
index b47ed425c90610ebbb6e3f36327d56c869baf564..cef8114cc17105df55d21356ea6019daeb25ea75 100644 (file)
     <Compile Include="Views\MiniView.xaml.cs">\r
       <DependentUpon>MiniView.xaml</DependentUpon>\r
     </Compile>\r
-    <Compile Include="Views\Queue\QueueTwoContent.xaml.cs">\r
-      <DependentUpon>QueueTwoContent.xaml</DependentUpon>\r
-    </Compile>\r
-    <Compile Include="Views\Queue\QueueTwoView.xaml.cs">\r
-      <DependentUpon>QueueTwoView.xaml</DependentUpon>\r
-    </Compile>\r
     <Compile Include="Views\Queue\Embedded.xaml.cs">\r
       <DependentUpon>Embedded.xaml</DependentUpon>\r
     </Compile>\r
       <Generator>MSBuild:Compile</Generator>\r
       <SubType>Designer</SubType>\r
     </Page>\r
-    <Page Include="Views\Queue\QueueTwoContent.xaml">\r
-      <SubType>Designer</SubType>\r
-      <Generator>MSBuild:Compile</Generator>\r
-    </Page>\r
-    <Page Include="Views\Queue\QueueTwoView.xaml">\r
-      <Generator>MSBuild:Compile</Generator>\r
-      <SubType>Designer</SubType>\r
-    </Page>\r
     <Page Include="Views\Queue\Embedded.xaml">\r
       <Generator>MSBuild:Compile</Generator>\r
       <SubType>Designer</SubType>\r
index 9f11a7b0ae273c47e839fb0e26f6f234aa07ab56..a8a06d74d33f1e50bc2fb03a933760029cfc81e4 100644 (file)
@@ -830,12 +830,12 @@ namespace HandBrakeWPF.Services.Presets
                 Dictionary<string, PresetCategory> presetCategories = new Dictionary<string, PresetCategory>();\r
                 List<HBPreset> uncategorisedPresets = new List<HBPreset>();\r
 \r
+                // Handle User Presets.\r
+                this.HandlePresetListsForSave(this.flatPresetList.Where(o => !o.IsBuildIn).ToList(), presetCategories, uncategorisedPresets);\r
+\r
                 // Handle Built-in Presets\r
                 this.HandlePresetListsForSave(this.flatPresetList.Where(o => o.IsBuildIn).ToList(), presetCategories, uncategorisedPresets);\r
 \r
-                // Handle User Presets.\r
-                this.HandlePresetListsForSave(this.flatPresetList.Where(o => !o.IsBuildIn).ToList(), presetCategories, uncategorisedPresets);\r
-    \r
                 // Wrap the categories in a container. \r
                 JsonSerializerSettings settings = new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Ignore };\r
                 PresetTransportContainer container = new PresetTransportContainer(\r
index 964270960425042780861169971c70ca773f5da9..a646fba532c0f1521c633fc0aa9db00a37c8e8e4 100644 (file)
@@ -67,7 +67,6 @@ namespace HandBrakeWPF
         public const string EnableQuickSyncEncoding = "EnableQuickSyncEncoding";\r
         public const string EnableVceEncoder = "EnableVceEncoder";\r
         public const string EnableNvencEncoder = "EnableNvencEncoder";\r
-        public const string ShowExperimentalQueue = "ShowExperimentalQueue";\r
         public const string UiLanguage = "UiLanguage";\r
         public const string ShowAddAllToQueue = "ShowAddAllToQueue";\r
         public const string ShowAddSelectionToQueue = "ShowAddSelectionToQueue";\r
index 2e1de25a4ff5f326a3e25ba2f5ece51197800fba..07f2a06bf3870b99477b3457d14529689851b341 100644 (file)
@@ -14,11 +14,6 @@ namespace HandBrakeWPF.ViewModels.Interfaces
     /// </summary>\r
     public interface IQueueViewModel\r
     {\r
-        /// <summary>\r
-        /// Temporary variable to toggle the new style experimental queue.\r
-        /// </summary>\r
-        bool IsNewQueueVisible { set; }\r
-\r
         bool IsInline { set; }\r
 \r
         /// <summary>\r
index 9c054b9dd57d0e9af05f04b08f50b689286757fb..041f818d394b324112d42bb940efb238c1cd6a85 100644 (file)
@@ -1254,9 +1254,6 @@ namespace HandBrakeWPF.ViewModels
         public void OpenQueueWindow()\r
         {\r
             bool showQueueInline = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowQueueInline) && VersionHelper.IsNightly();\r
-            bool showNewQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowExperimentalQueue) && VersionHelper.IsNightly();\r
-\r
-            this.QueueViewModel.IsNewQueueVisible = showNewQueue;\r
             this.QueueViewModel.IsInline = showQueueInline;\r
 \r
             if (showQueueInline)\r
index f4daf2e238f26ebca19f9fc4fe389a1f4d4e9da2..1baeca9947c1a302333fb6d0e4e59805a20c2df4 100644 (file)
@@ -101,7 +101,6 @@ namespace HandBrakeWPF.ViewModels
         private bool enableQuickSyncEncoding;\r
         private bool enableVceEncoder;    \r
         private bool enableNvencEncoder;\r
-        private bool showExperimentalQueue;\r
 \r
         private InterfaceLanguage selectedLanguage;\r
 \r
@@ -398,17 +397,6 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
-        public bool ShowExperimentalQueue\r
-        {\r
-            get => this.showExperimentalQueue;\r
-            set\r
-            {\r
-                if (value == this.showExperimentalQueue) return;\r
-                this.showExperimentalQueue = value;\r
-                this.NotifyOfPropertyChange(() => this.ShowExperimentalQueue);\r
-            }\r
-        }\r
-\r
         /// <summary>\r
         /// Gets or sets a value indicating whether to show encode status in the tile bar.\r
         /// </summary>\r
@@ -1407,7 +1395,6 @@ namespace HandBrakeWPF.ViewModels
             this.WhenDoneAudioFileFullPath = this.userSettingService.GetUserSetting<string>(UserSettingConstants.WhenDoneAudioFile);\r
             this.PlaySoundWhenDone = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.PlaySoundWhenDone);\r
             this.PlaySoundWhenQueueDone = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.PlaySoundWhenQueueDone);\r
-            this.ShowExperimentalQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowExperimentalQueue);\r
 \r
             this.ShowAddAllToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddAllToQueue);\r
             this.ShowAddSelectionToQueue = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAddSelectionToQueue);\r
@@ -1582,8 +1569,6 @@ namespace HandBrakeWPF.ViewModels
 \r
             /* Experiments */\r
             this.userSettingService.SetUserSetting(UserSettingConstants.ShowQueueInline, this.ShowQueueInline);\r
-            this.userSettingService.SetUserSetting(UserSettingConstants.ShowExperimentalQueue, this.ShowExperimentalQueue);\r
-\r
 \r
             /* Output Files */\r
             this.userSettingService.SetUserSetting(UserSettingConstants.AutoNaming, this.AutomaticallyNameFiles);\r
index 0b4e954a5640dbd213a86be23d802b9c98154c9c..20cc0bbbefa379ccbf4de1a6715e0f2cee234545 100644 (file)
@@ -247,8 +247,6 @@ namespace HandBrakeWPF.ViewModels
             }\r
         }\r
 \r
-        public bool IsNewQueueVisible { get; set; }\r
-\r
         public bool IsInline { get; set; }\r
 \r
         public bool StatsVisible\r
index 31769f4a3c32cfdbc09e6081391207cf39647dfa..b98bf35c311d240020e3bfecc043b1425f3be8d1 100644 (file)
                         <StackPanel Orientation="Vertical" Margin="20,0,0,0">\r
                             <TextBlock Text="{x:Static  Properties:Resources.Options_ExperimentalFeatures}" Margin="0,0,0,10" TextWrapping="Wrap" />\r
                            \r
-                            <CheckBox Content="{x:Static Properties:Resources.Options_ShowExperimentalQueueDesign}" IsChecked="{Binding ShowExperimentalQueue}" />\r
                             <CheckBox Content="{x:Static Properties:Resources.Options_ShowQueueInline}" IsChecked="{Binding ShowQueueInline}" Margin="20,5,0,0" />\r
                         </StackPanel>\r
                     </StackPanel>\r
diff --git a/win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml b/win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml
deleted file mode 100644 (file)
index d97c85d..0000000
+++ /dev/null
@@ -1,544 +0,0 @@
-<UserControl x:Class="HandBrakeWPF.Views.Queue.QueueTwoContent"
-        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        xmlns:cal="http://www.caliburnproject.org"
-        xmlns:Converters="clr-namespace:HandBrakeWPF.Converters"
-        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-        xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop"
-        xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
-        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-        xmlns:Audio="clr-namespace:HandBrakeWPF.Converters.Audio"
-        xmlns:Subtitles="clr-namespace:HandBrakeWPF.Converters.Subtitles"
-        xmlns:video="clr-namespace:HandBrakeWPF.Converters.Video"
-        xmlns:commands="clr-namespace:HandBrakeWPF.Commands"
-        xmlns:helpers="clr-namespace:HandBrakeWPF.Helpers"
-        xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"
-        xmlns:queue="clr-namespace:HandBrakeWPF.Converters.Queue"
-        TextOptions.TextFormattingMode="Display"
-        mc:Ignorable="d">
-
-    <UserControl.Resources>
-        <Converters:BooleanToVisibilityConverter x:Key="boolToVisConverter" />
-        <Converters:FullPathToFileNameConverter x:Key="filePathToFilenameConverter" />
-        <Converters:EnumComboConverter x:Key="enumComboConverter" />
-        <Converters:QueueStatusToVisibilityConverter x:Key="queueStatusVisConverter" />
-        <Converters:InverseBooleanConverter x:Key="notBooleanConverter" />
-        <Audio:AudioQueueDisplayConverter x:Key="audioTrackDisplayConverter" />
-        <Subtitles:SubtitlesQueueDisplayConverter x:Key="subtitleTrackDisplayConverter" />
-        <video:EncoderOptionsTooltipConverter x:Key="encoderOptionsTooltipConverter" />
-        <video:VideoOptionsTooltipConverter x:Key="videoOptionsTooltipConverter" />
-        <queue:PictureSettingsDescConveter x:Key="pictureSettingsDescConverter" />
-
-        <Style x:Key="LongToolTipHolder" TargetType="FrameworkElement">
-            <Setter Property="ToolTipService.ShowDuration" Value="10000" />
-        </Style>
-
-    </UserControl.Resources>
-
-    <Grid>
-
-        <Grid.RowDefinitions>
-            <RowDefinition Height="Auto" />
-            <RowDefinition Height="Auto" />
-            <RowDefinition Height="*" />
-        </Grid.RowDefinitions>
-
-        <Grid HorizontalAlignment="Stretch" Grid.Row="0" Visibility="{Binding IsNewQueueVisible, Converter={StaticResource boolToVisConverter}}">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto" />
-                <ColumnDefinition Width="Auto" />
-                <ColumnDefinition Width="*" />
-                <ColumnDefinition Width="Auto" />
-            </Grid.ColumnDefinitions>
-
-            <TextBlock Text="{x:Static Properties:Resources.MainView_ShowQueue}" FontSize="28" VerticalAlignment="Center" FontFamily="Segoe UI Light" Margin="10,0,0,0" />
-            <TextBlock Text="{Binding JobsPending}"  Grid.Column="1" Margin="15,0,0,5 " VerticalAlignment="Bottom" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" />
-
-            <Menu HorizontalAlignment="Right" Background="Transparent" VerticalAlignment="Bottom" Grid.Column="3" Margin="0,0,10,0" >
-                <MenuItem>
-                    <MenuItem.Header>
-                        <StackPanel Height="32" Orientation="Horizontal">
-                            <Image Source="../Images/Advanced.png" Width="20" Height="20" VerticalAlignment="Center" />
-                            <TextBlock VerticalAlignment="Center"
-                                       Text="{x:Static Properties:Resources.QueueView_Options}" Margin="5,0,0,0" />
-                            <Path Height="5"
-                                  Margin="2,2,0,0"
-                                  Data="M 0 0 L 4 4 L 8 0 Z"
-                                  Fill="{DynamicResource GlyphBrush}" />
-                        </StackPanel>
-                    </MenuItem.Header>
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ResetSelectedJobs}" />
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />
-                    <Separator />
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearAll}" />
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action RemoveSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ClearSelected}" />
-                    <Separator />
-                    <!--<MenuItem cal:Message.Attach="[Event Click] = [Action Import]" Header="{x:Static Properties:Resources.QueueView_Import}" />-->
-                    <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />
-                </MenuItem>
-            </Menu>
-
-        </Grid>
-
-        <Grid Grid.Row="2" Margin="0,15,0,0">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="3*" MaxWidth="600" x:Name="leftTabPanel" />
-                <ColumnDefinition Width="5*" x:Name="rightTabPanel"  />
-            </Grid.ColumnDefinitions>
-
-            <Grid>
-                <Grid.RowDefinitions>
-                    <RowDefinition Height="Auto" />
-                    <RowDefinition Height="*" />
-                    <RowDefinition Height="Auto" />
-                </Grid.RowDefinitions>
-
-                <Grid Grid.Row="0"  HorizontalAlignment="Stretch" Margin="10,0,5,5">
-
-                    <Grid.RowDefinitions>
-                        <RowDefinition Height="Auto" />
-                    </Grid.RowDefinitions>
-
-                    <Grid.ColumnDefinitions>
-                        <ColumnDefinition Width="Auto" />
-                        <ColumnDefinition Width="Auto" />
-                        <ColumnDefinition Width="*" />
-                        <ColumnDefinition Width="Auto" />
-                    </Grid.ColumnDefinitions>
-
-                    <Button Name="Start" AutomationProperties.Name="Start Queue" cal:Message.Attach="[Event Click] = [Action StartQueue]" Grid.Column="0"
-                                IsEnabled="{Binding IsQueueRunning, Converter={StaticResource notBooleanConverter}}"
-                                Visibility="{Binding IsQueueRunning, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">
-                        <StackPanel Orientation="Horizontal">
-                            <Image Width="16" Height="16" Margin="2,0,0,0" Source="../Images/Play.png"  />
-                            <Label Margin="5,0,5,0" VerticalAlignment="Center" Content="{x:Static Properties:Resources.QueueView_Start}" />
-                        </StackPanel>
-                    </Button>
-
-                    <Button Name="Pause" AutomationProperties.Name="Pause Queue" cal:Message.Attach="[Event Click] = [Action PauseQueueToolbar]" Grid.Column="1"
-                                Visibility="{Binding IsQueueRunning, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}">
-                        <StackPanel Orientation="Horizontal">
-                            <Image Width="16" Height="16" Margin="2,0,0,0" Source="../Images/Pause.png" />
-                            <Label Margin="5,0,0,0" VerticalAlignment="Center" Content="{x:Static Properties:Resources.QueueView_Pause}" />
-                        </StackPanel>
-                    </Button>
-
-                    <StackPanel Grid.Row="0" Grid.Column="3" Orientation="Horizontal">
-                        <Button Content="^" Width="20" Height="20" Margin="0" cal:Message.Attach="[Event Click] = [Action MoveUp]" />
-                        <Button Content="v" Width="20" Height="20" Margin="5,0,0,0" cal:Message.Attach="[Event Click] = [Action MoveDown]" />
-                    </StackPanel>
-                </Grid>
-
-                <ListBox Tag="{Binding}" x:Name="queueJobs" Grid.Row="1" Margin="10,0,5,0"
-                             
-                             dd:DragDrop.DropHandler="{Binding}"
-                             dd:DragDrop.IsDragSource="True"
-                             dd:DragDrop.IsDropTarget="True"
-                             ItemsSource="{Binding QueueTasks, Mode=OneWay}"
-                             helpers:ListBoxHelper.SelectedItems="{Binding SelectedItems}" 
-                             SelectedItem="{Binding SelectedTask}"
-                             SelectionMode="Extended"
-                             BorderThickness="1"
-                             ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
-
-                    <i:Interaction.Triggers>
-                        <commands:InputBindingTrigger>
-                            <commands:InputBindingTrigger.InputBinding>
-                                <KeyBinding Key="Delete"/>
-                            </commands:InputBindingTrigger.InputBinding>
-                            <cal:ActionMessage MethodName="RemoveSelectedJobs" />
-                        </commands:InputBindingTrigger>
-                    </i:Interaction.Triggers>
-
-                    <ListBox.ContextMenu>
-                        <ContextMenu cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}" Opened="ContextMenu_OnOpened">
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action StartQueue]" Header="{x:Static Properties:Resources.QueueView_Start}" />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action PauseQueue]" Header="{x:Static Properties:Resources.QueueView_Pause}" />
-                            <Separator />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ResetSelectedJobs}" />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />
-                            <Separator />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearAll}" />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action RemoveSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ClearSelected}" />
-                            <Separator />
-                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenSourceDir}" x:Name="openSourceDir" Click="OpenSourceDir_OnClick" />
-                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenDestDir}" x:Name="openDestDir" Click="OpenDestDir_OnClick" />
-                            <Separator />
-                            <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />
-                        </ContextMenu>
-                    </ListBox.ContextMenu>
-
-                    <ListBox.ItemContainerStyle>
-                        <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
-                            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
-                            <Setter Property="Margin" Value="0,0,0,1" />
-                        </Style>
-                    </ListBox.ItemContainerStyle>
-
-                    <ListBox.ItemTemplate>
-                        <DataTemplate x:Name="QueueItemTemplate">
-
-                            <Grid>
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition Width="40" />
-                                    <ColumnDefinition Width="*" />
-                                    <ColumnDefinition Width="Auto" />
-                                </Grid.ColumnDefinitions>
-
-                                <!--  Marker  -->
-                                <Image Grid.Column="0" Width="16" Height="16" SnapsToDevicePixels="True">
-
-                                    <Image.LayoutTransform>
-                                        <RotateTransform CenterX="8" CenterY="8" Angle="0"/>
-                                    </Image.LayoutTransform>
-
-                                    <Image.Style>
-                                        <Style TargetType="{x:Type Image}">
-                                            <Style.Triggers>
-                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Waiting">
-                                                    <Setter Property="Source" Value="..\Images\Movies.png" />
-                                                </DataTrigger>
-                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="In Progress">
-                                                    <Setter Property="Source" Value="..\Images\Working0.png" />
-                                                    <DataTrigger.EnterActions>
-                                                        <BeginStoryboard>
-                                                            <Storyboard>
-                                                                <DoubleAnimation Duration="0:0:2" To="180" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)" RepeatBehavior="Forever" />
-                                                            </Storyboard>
-                                                        </BeginStoryboard>
-                                                    </DataTrigger.EnterActions>
-                                                    <DataTrigger.ExitActions>
-                                                        <BeginStoryboard>
-                                                            <Storyboard>
-                                                                <DoubleAnimation Duration="0:0:0" To="0" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)"/>
-                                                            </Storyboard>
-                                                        </BeginStoryboard>
-                                                    </DataTrigger.ExitActions>
-                                                </DataTrigger>
-                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Completed">
-                                                    <Setter Property="Source" Value="..\Images\Complete.png" />
-                                                </DataTrigger>
-                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Error">
-                                                    <Setter Property="Source" Value="..\Images\WarningSmall.png" />
-                                                </DataTrigger>
-                                            </Style.Triggers>
-                                        </Style>
-                                    </Image.Style>
-                                </Image>
-
-                                <!--  Settings  -->
-                                <Grid Grid.Column="1" Margin="0,3,15,3">
-                                    <Grid.RowDefinitions>
-                                        <RowDefinition Height="Auto" />
-                                        <RowDefinition Height="Auto" />
-                                        <RowDefinition Height="Auto" />
-                                        <RowDefinition Height="Auto" />
-                                    </Grid.RowDefinitions>
-
-                                    <Grid.ColumnDefinitions>
-                                        <ColumnDefinition Width="Auto" />
-                                        <ColumnDefinition Width="*" />
-                                    </Grid.ColumnDefinitions>
-
-                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.ColumnSpan="2">
-                                        <TextBlock FontWeight="Bold" Text="Title: " />
-                                        <TextBlock Text="{Binding Task.Title}" />
-
-                                        <TextBlock Text="{Binding Task.PointToPointMode}" Margin="10,0,0,0" FontWeight="Bold" />
-                                        <TextBlock Text=": " />
-                                        <TextBlock Text="{Binding Task.StartPoint}" />
-                                        <TextBlock Margin="5,0,5,0" Text="to" />
-                                        <TextBlock Text="{Binding Task.EndPoint}" />
-                                    </StackPanel>
-
-
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" Grid.Row="1" />
-                                    <TextBlock Text="{Binding Task.Source, Converter={StaticResource filePathToFilenameConverter}}"  Margin="2,0,0,0" Grid.Row="1" Grid.Column="1"/>
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" Grid.Row="2" />
-                                    <TextBlock Text="{Binding Task.Destination, Converter={StaticResource filePathToFilenameConverter}}" Margin="2,0,0,0" TextTrimming="CharacterEllipsis" Grid.Row="2" Grid.Column="1" />
-
-                                    <ProgressBar Minimum="0" Height="4" Maximum="100" Name="pbStatus" Margin="0,2,5,0" Grid.Row="3" Grid.ColumnSpan="2"
-                                             Value="{Binding DataContext.ProgressValue, ElementName=queueJobs}" IsIndeterminate="{Binding DataContext.IntermediateProgress, ElementName=queueJobs}"
-                                             Visibility="{Binding ShowEncodeProgress, Converter={StaticResource boolToVisConverter}}" />
-                                </Grid>
-                            </Grid>
-                        </DataTemplate>
-                    </ListBox.ItemTemplate>
-                </ListBox>
-
-                <Border BorderThickness="1,0,1,1" BorderBrush="DarkGray" Grid.Row="2" Margin="10,0,5,10" SnapsToDevicePixels="True" >
-                    <Menu HorizontalAlignment="Center" VerticalAlignment="Center" Background="Transparent"   
-                              AutomationProperties.Name="{x:Static Properties:Resources.QueueView_WhenDone}">
-                        <MenuItem>
-                            <MenuItem.Header>
-                                <StackPanel Height="32" Orientation="Horizontal">
-                                    <TextBlock VerticalAlignment="Center"
-                                               FontWeight="Bold"
-                                               Text="{x:Static Properties:Resources.QueueView_WhenDone}" />
-                                    <Label Margin="8,0,0,0"
-                                           VerticalAlignment="Center"
-                                           Content="{Binding WhenDoneAction}" />
-                                    <Path Height="5"
-                                          Margin="2,2,2,0"
-                                          Data="M 0 0 L 4 4 L 8 0 Z"
-                                          Fill="{DynamicResource GlyphBrush}" />
-                                </StackPanel>
-                            </MenuItem.Header>
-
-                            <MenuItem x:Name="doNothing"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(doNothing.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_DoNothing}" />
-                            <MenuItem x:Name="shutdown"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(shutdown.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_Shutdown}" />
-                            <MenuItem x:Name="suspend"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(suspend.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_Suspend}" />
-                            <MenuItem x:Name="hibernate"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(hibernate.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_Hibernate}"/>
-                            <MenuItem x:Name="lock"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(lock.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_LockSystem}" />
-                            <MenuItem x:Name="logoff"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(logoff.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_Logoff}"/>
-                            <MenuItem x:Name="quit"
-                                      cal:Message.Attach="[Event Click] = [Action WhenDone(quit.Header)]"
-                                      Header="{x:Static Properties:Resources.QueueView_QuitHandBrake}"/>
-                        </MenuItem>
-                    </Menu>
-                </Border>
-            </Grid>
-
-            <TabControl x:Name="summaryTabControl"  Grid.Column="1"  Margin="5,0,10,10" >
-                <TabItem Header="{x:Static Properties:Resources.QueueView_Summary}" >
-                    <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="5,5,0,5">
-
-                        <StackPanel Orientation="Vertical"  Margin="5,5,0,5">
-
-                            <StackPanel Orientation="Horizontal" >
-
-                                <StackPanel.Resources>
-                                    <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
-                                        <Setter Property="Padding" Value="8,2" />
-                                    </Style>
-                                </StackPanel.Resources>
-
-                                <Button AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Retry}"  ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_ResetJobStatus}">
-                                    <Button.Content>
-                                        <StackPanel Orientation="Horizontal">
-                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0"
-                                               Source="../Images/Refresh.ico">
-                                            </Image>
-                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Retry}" />
-                                        </StackPanel>
-
-                                    </Button.Content>
-                                    <i:Interaction.Triggers>
-                                        <i:EventTrigger EventName="Click">
-                                            <cal:ActionMessage MethodName="RetryJob">
-                                                <cal:Parameter Value="{Binding SelectedTask}" />
-                                            </cal:ActionMessage>
-                                        </i:EventTrigger>
-                                    </i:Interaction.Triggers>
-                                </Button>
-
-                                <Button Margin="10,0,0,0" AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Edit}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_SendJobBack}">
-                                    <Button.Content>
-                                        <StackPanel Orientation="Horizontal">
-                                            <Image Width="20" Margin="0,0,5,0" Height="20" VerticalAlignment="Center"
-                                               Source="../Images/options24.png">
-                                            </Image>
-                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Edit}" />
-                                        </StackPanel>
-                                    </Button.Content>
-                                    <i:Interaction.Triggers>
-                                        <i:EventTrigger EventName="Click">
-                                            <cal:ActionMessage MethodName="EditJob">
-                                                <cal:Parameter Value="{Binding SelectedTask}" />
-                                            </cal:ActionMessage>
-                                        </i:EventTrigger>
-                                    </i:Interaction.Triggers>
-                                </Button>
-
-                                <Button Margin="10,0,0,0" AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Delete}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_DeleteJob}">
-                                    <Button.Content>
-                                        <StackPanel Orientation="Horizontal">
-                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0" 
-                                               Source="../Images/delete.png">
-                                            </Image>
-                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Delete}" />
-                                        </StackPanel>
-                                    </Button.Content>
-                                    <i:Interaction.Triggers>
-                                        <i:EventTrigger EventName="Click">
-                                            <cal:ActionMessage MethodName="RemoveJob">
-                                                <cal:Parameter Value="{Binding SelectedTask}" />
-                                            </cal:ActionMessage>
-                                        </i:EventTrigger>
-                                    </i:Interaction.Triggers>
-                                </Button>
-
-
-                                <Button x:Name="queueOptionsDropButton" Margin="10,0,0,0" Click="QueueOptionsDropButton_OnClick"
-                                        AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Actions}" IsEnabled="{Binding CanPerformActionOnSource}">
-                                    <Button.Content>
-                                        <StackPanel Orientation="Horizontal">
-                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0" 
-                                                   Source="../Images/Advanced.png">
-                                            </Image>
-
-                                            <TextBlock Margin="0,0,5,0" Padding="0"
-                                                       VerticalAlignment="Center"
-                                                       Text="{x:Static Properties:Resources.QueueView_Actions}" />
-
-                                            <Path Height="5" Margin="2,2,0,0" VerticalAlignment="Center" HorizontalAlignment="Center"
-                                                  Data="M 0 0 L 4 4 L 8 0 Z"
-                                                  Fill="{DynamicResource GlyphBrush}" x:Name="dropdownArrowPreset" />
-                                        </StackPanel>
-                                    </Button.Content>
-
-                                    <Button.ContextMenu>
-                                        <ContextMenu cal:Action.TargetWithoutContext="{Binding DataContext, RelativeSource={RelativeSource Self}}">
-                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_PlayMediaFile}" cal:Message.Attach="[Event Click] = [Action PlayFile]" />
-                                            <Separator />
-                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenSourceDir}" cal:Message.Attach="[Event Click] = [Action OpenSourceDir]" />
-                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenDestDir}" cal:Message.Attach="[Event Click] = [Action OpenDestDir]" />
-                                        </ContextMenu>
-                                    </Button.ContextMenu>
-                                </Button>
-                            </StackPanel>
-
-                            <TextBlock Text="{Binding JobStatus}" Visibility="{Binding IsJobStatusVisible, Converter={StaticResource boolToVisConverter}}" 
-                                       Margin="0,15,10,5" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" />
-
-                            <Grid Style="{StaticResource LongToolTipHolder}" Margin="0,10,0,0" >
-                                <Grid.Resources>
-                                    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
-                                        <Setter Property="Margin" Value="0,5,0,5" />
-                                    </Style>
-                                </Grid.Resources>
-
-                                <Grid.RowDefinitions>
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                </Grid.RowDefinitions>
-
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition Width="Auto" MinWidth="100" />
-                                    <ColumnDefinition Width="*" />
-                                </Grid.ColumnDefinitions>
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Task.Source}" TextWrapping="Wrap" Grid.Row="0" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Task.Destination}" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_PictureSettings}" VerticalAlignment="Top" Grid.Row="2" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource pictureSettingsDescConverter}}" TextWrapping="Wrap" Grid.Row="2" Grid.Column="1"  />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Video}" Grid.Row="3" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource videoOptionsTooltipConverter}}" Grid.Row="3" Grid.Column="1" TextWrapping="Wrap"  />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Audio}"  Grid.Row="4" Grid.Column="0"/>
-                                <TextBlock Text="{Binding SelectedTask.Task.AudioTracks, Converter={StaticResource audioTrackDisplayConverter}}"
-                                           Grid.Row="4" Grid.Column="1"/>
-
-                                <TextBlock FontWeight="Bold" VerticalAlignment="Top" Text="{x:Static Properties:Resources.QueueView_Subtitles}" Grid.Row="5" Grid.Column="0"  />
-                                <TextBlock Text="{Binding SelectedTask.Task.SubtitleTracks, Converter={StaticResource subtitleTrackDisplayConverter}}"
-                                           Grid.Row="5" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" VerticalAlignment="Top" Grid.Row="6" Grid.Column="0"  Text="{x:Static Properties:Resources.QueueView_Advanced}" />
-                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource encoderOptionsTooltipConverter}}" Grid.Row="6" Grid.Column="1" TextWrapping="Wrap"  />
-                            </Grid>
-
-                        </StackPanel>
-                    </ScrollViewer>
-                </TabItem>
-
-                <TabItem Header="{x:Static Properties:Resources.QueueView_Statistics}" >
-                    <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="10,0,0,5">
-                        <StackPanel>
-                            <TextBlock Text="{x:Static Properties:Resources.QueueView_StatsNotAvailableYet}" Margin="0,10,0,0" Visibility="{Binding StatsVisible, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" />
-
-                            <Grid Style="{StaticResource LongToolTipHolder}" Margin="0,5,0,0" Visibility="{Binding StatsVisible, Converter={StaticResource boolToVisConverter}}">
-                                <Grid.Resources>
-                                    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
-                                        <Setter Property="Margin" Value="0,5,0,5" />
-                                    </Style>
-                                </Grid.Resources>
-
-                                <Grid.RowDefinitions>
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                </Grid.RowDefinitions>
-
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition Width="Auto" MinWidth="100" />
-                                    <ColumnDefinition Width="*" />
-                                </Grid.ColumnDefinitions>
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_StartTime}" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Statistics.StartTime}" TextWrapping="Wrap" Grid.Row="0" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_EndTime}" VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Statistics.EndTime}" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_PausedDuration}" VerticalAlignment="Top" Grid.Row="2" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Statistics.PausedDuration,StringFormat=hh\\:mm\\:ss}" TextWrapping="Wrap" Grid.Row="2" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Duration}" VerticalAlignment="Top" Grid.Row="3" Grid.Column="0" />
-                                <TextBlock Text="{Binding SelectedTask.Statistics.Duration,StringFormat=hh\\:mm\\:ss}" TextWrapping="Wrap" Grid.Row="3" Grid.Column="1" />
-
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_FileSize}" VerticalAlignment="Top" Grid.Row="4" Grid.Column="0" />
-                                <StackPanel Orientation="Horizontal" Grid.Row="4" Grid.Column="1" >
-                                    <TextBlock Text="{Binding SelectedTask.Statistics.FinalFileSizeInMegaBytes}" TextWrapping="Wrap" />
-                                    <TextBlock Text=" MB" />
-                                </StackPanel>
-
-                            </Grid>
-
-                        </StackPanel>
-                    </ScrollViewer>
-                </TabItem>
-
-                <TabItem Header="{x:Static Properties:Resources.MainView_ActivityLog}">
-                    <TextBox ScrollViewer.VerticalScrollBarVisibility="Visible" Text="{Binding ActivityLog, Mode=OneWay}" TextWrapping="Wrap" x:Name="logText">
-                        <TextBox.ContextMenu>
-                            <ContextMenu>
-                                <MenuItem Header="{x:Static Properties:Resources.LogView_CopyClipboard}" cal:Message.Attach="[Event Click] = [Action CopyLog]" >
-                                    <MenuItem.Icon>
-                                        <Image Width="16" Source="../Images/copy.png" />
-                                    </MenuItem.Icon>
-                                </MenuItem>
-                                <MenuItem Header="{x:Static Properties:Resources.LogView_OpenLogDir}" cal:Message.Attach="[Event Click] = [Action OpenLogDirectory]">
-                                    <MenuItem.Icon>
-                                        <Image Width="16" Source="../Images/folder.png" />
-                                    </MenuItem.Icon>
-                                </MenuItem>
-                            </ContextMenu>
-                        </TextBox.ContextMenu>
-                    </TextBox>
-                </TabItem>
-            </TabControl>
-
-        </Grid>
-    </Grid>
-</UserControl>
-
diff --git a/win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml.cs b/win/CS/HandBrakeWPF/Views/Queue/QueueTwoContent.xaml.cs
deleted file mode 100644 (file)
index e6fe299..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="QueueTwoView.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 QueueTwoView.xaml
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.Views.Queue
-{
-    using System.Windows;
-    using System.Windows.Controls;
-    using System.Windows.Input;
-    using System.Windows.Media;
-
-    using HandBrakeWPF.Services.Queue.Model;
-    using HandBrakeWPF.ViewModels;
-
-    /// <summary>
-    /// Interaction logic for VideoView
-    /// </summary>
-    public partial class QueueTwoContent : UserControl
-    {
-        private QueueTask mouseActiveQueueTask;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="QueueTwoContent"/> class.
-        /// </summary>
-        public QueueTwoContent()
-        {
-            this.InitializeComponent();
-            this.SizeChanged += this.Queue2View_SizeChanged;
-        }
-
-        private void Queue2View_SizeChanged(object sender, SizeChangedEventArgs e)
-        {
-            // Make the view adaptive. 
-            if (e.WidthChanged)
-            {
-                this.summaryTabControl.Visibility = this.ActualWidth < 600 ? Visibility.Collapsed : Visibility.Visible;
-                this.leftTabPanel.Width = this.ActualWidth < 600 ? new GridLength(this.ActualWidth - 10, GridUnitType.Star) : new GridLength(3, GridUnitType.Star);
-                this.leftTabPanel.MaxWidth = this.ActualWidth < 600 ? 650 : 400;
-            }
-        }
-        private void ContextMenu_OnOpened(object sender, RoutedEventArgs e)
-        {
-            ContextMenu menu = sender as ContextMenu;
-            this.mouseActiveQueueTask = null;
-
-            if (menu != null)
-            {
-                Point p = Mouse.GetPosition(this);
-                HitTestResult result = VisualTreeHelper.HitTest(this, p);
-
-                if (result != null)
-                {
-                    ListBoxItem listBoxItem = FindParent<ListBoxItem>(result.VisualHit);
-                    if (listBoxItem != null)
-                    {
-                        this.mouseActiveQueueTask = listBoxItem.DataContext as QueueTask;
-                    }
-                }
-            }
-
-            this.openSourceDir.IsEnabled = this.mouseActiveQueueTask != null;
-            this.openDestDir.IsEnabled = this.mouseActiveQueueTask != null;
-        }
-
-        private static T FindParent<T>(DependencyObject from) where T : class
-        {
-            DependencyObject parent = VisualTreeHelper.GetParent(from);
-
-            T result = null;
-            if (parent is T)
-            {
-                result = parent as T;
-            }
-            else if (parent != null)
-            {
-                result = FindParent<T>(parent);
-            }
-
-            return result;
-        }
-
-        private void OpenSourceDir_OnClick(object sender, RoutedEventArgs e)
-        {
-            ((QueueViewModel)this.DataContext).OpenSourceDirectory(this.mouseActiveQueueTask);
-        }
-
-        private void OpenDestDir_OnClick(object sender, RoutedEventArgs e)
-        {
-            ((QueueViewModel)this.DataContext).OpenDestinationDirectory(this.mouseActiveQueueTask);
-        }
-
-        private void QueueOptionsDropButton_OnClick(object sender, RoutedEventArgs e)
-        {
-            var button = sender as FrameworkElement;
-            if (button != null && button.ContextMenu != null)
-            {
-                button.ContextMenu.PlacementTarget = button;
-                button.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
-                button.ContextMenu.IsOpen = true;
-            }
-        }
-    }
-}
diff --git a/win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml b/win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml
deleted file mode 100644 (file)
index a49d250..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<Window x:Class="HandBrakeWPF.Views.Queue.QueueTwoView"
-        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"
-        xmlns:queue1="clr-namespace:HandBrakeWPF.Views.Queue"
-        Title="{Binding Title}"
-        WindowStartupLocation="CenterScreen"
-        TextOptions.TextFormattingMode="Display"
-        mc:Ignorable="d">
-
-    <queue1:QueueTwoContent DataContext="{Binding DataContext}" />
-</Window>
-
diff --git a/win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml.cs b/win/CS/HandBrakeWPF/Views/Queue/QueueTwoView.xaml.cs
deleted file mode 100644 (file)
index 550ab4b..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="QueueTwoView.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 QueueTwoView.xaml
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrakeWPF.Views.Queue
-{
-    using System.Windows;
-    using System.Windows.Controls;
-    using System.Windows.Input;
-    using System.Windows.Media;
-
-    using HandBrakeWPF.Services.Queue.Model;
-    using HandBrakeWPF.ViewModels;
-
-    /// <summary>
-    /// Interaction logic for VideoView
-    /// </summary>
-    public partial class QueueTwoView : Window
-    {
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="Queue2View"/> class.
-        /// </summary>
-        public QueueTwoView()
-        {
-        }
-
-
-    }
-}
index 33710d00087bb96815f894789423b259af511516..75c3245360a5954d6754044f9b0822eda035eaa5 100644 (file)
@@ -14,7 +14,6 @@
         xmlns:helpers="clr-namespace:HandBrakeWPF.Helpers"\r
         xmlns:Properties="clr-namespace:HandBrakeWPF.Properties"\r
         xmlns:queue="clr-namespace:HandBrakeWPF.Converters.Queue"\r
-        xmlns:queue1="clr-namespace:HandBrakeWPF.Views.Queue"\r
         Title="{Binding Title}"\r
         Width="750"\r
         Height="520"\r
@@ -35,7 +34,7 @@
         <video:EncoderOptionsTooltipConverter x:Key="encoderOptionsTooltipConverter" />\r
         <video:VideoOptionsTooltipConverter x:Key="videoOptionsTooltipConverter" />\r
         <queue:PictureSettingsDescConveter x:Key="pictureSettingsDescConverter" />\r
-        \r
+\r
         <Style x:Key="LongToolTipHolder" TargetType="FrameworkElement">\r
             <Setter Property="ToolTipService.ShowDuration" Value="10000" />\r
         </Style>\r
     <Grid>\r
 \r
         <Grid.RowDefinitions>\r
+            <RowDefinition Height="Auto" />\r
+            <RowDefinition Height="Auto" />\r
             <RowDefinition Height="*" />\r
         </Grid.RowDefinitions>\r
 \r
-        <queue1:QueueTwoContent DataContext="{Binding}"  Visibility="{Binding IsNewQueueVisible, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}" />\r
-\r
-        <Grid Visibility="{Binding IsNewQueueVisible, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">\r
-\r
-            <Grid.RowDefinitions>\r
-                <RowDefinition Height="Auto" />\r
-                <RowDefinition Height="Auto" />\r
-                <RowDefinition Height="*" />\r
-            </Grid.RowDefinitions>\r
-\r
-            <ToolBar Name="mainToolBar"\r
-                 HorizontalAlignment="Stretch"\r
-                 VerticalAlignment="Stretch"\r
-                 SnapsToDevicePixels="True" \r
-                 AllowDrop="False" Focusable="False" >\r
-                <ToolBar.Resources>\r
-                    <Style TargetType="{x:Type ToolBarPanel}">\r
-                        <Setter Property="Orientation" Value="Vertical"/>\r
-                    </Style>\r
-\r
-                    <Style BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="{x:Type Button}" />\r
-                </ToolBar.Resources>\r
-\r
-                <DockPanel Background="Transparent" HorizontalAlignment="Stretch">\r
-\r
-                    <Button Name="Start" DockPanel.Dock="Left" AutomationProperties.Name="Start Queue"\r
-                        cal:Message.Attach="[Event Click] = [Action StartQueue]"\r
-                        IsEnabled="{Binding IsQueueRunning, Converter={StaticResource notBooleanConverter}}"\r
-                        Visibility="{Binding IsQueueRunning,\r
-                                             Converter={StaticResource boolToVisConverter},\r
-                                             ConverterParameter=true}">\r
+        <Grid HorizontalAlignment="Stretch" Grid.Row="0" Visibility="{Binding IsNewQueueVisible, Converter={StaticResource boolToVisConverter}}">\r
+            <Grid.ColumnDefinitions>\r
+                <ColumnDefinition Width="Auto" />\r
+                <ColumnDefinition Width="Auto" />\r
+                <ColumnDefinition Width="*" />\r
+                <ColumnDefinition Width="Auto" />\r
+            </Grid.ColumnDefinitions>\r
+\r
+            <TextBlock Text="{x:Static Properties:Resources.MainView_ShowQueue}" FontSize="28" VerticalAlignment="Center" FontFamily="Segoe UI Light" Margin="10,0,0,0" />\r
+            <TextBlock Text="{Binding JobsPending}"  Grid.Column="1" Margin="15,0,0,5 " VerticalAlignment="Bottom" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" />\r
+\r
+            <Menu HorizontalAlignment="Right" Background="Transparent" VerticalAlignment="Bottom" Grid.Column="3" Margin="0,0,10,0" >\r
+                <MenuItem>\r
+                    <MenuItem.Header>\r
+                        <StackPanel Height="32" Orientation="Horizontal">\r
+                            <Image Source="Images/Advanced.png" Width="20" Height="20" VerticalAlignment="Center" />\r
+                            <TextBlock VerticalAlignment="Center"\r
+                                       Text="{x:Static Properties:Resources.QueueView_Options}" Margin="5,0,0,0" />\r
+                            <Path Height="5"\r
+                                  Margin="2,2,0,0"\r
+                                  Data="M 0 0 L 4 4 L 8 0 Z"\r
+                                  Fill="{DynamicResource GlyphBrush}" />\r
+                        </StackPanel>\r
+                    </MenuItem.Header>\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ResetSelectedJobs}" />\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />\r
+                    <Separator />\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearAll}" />\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action RemoveSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ClearSelected}" />\r
+                    <Separator />\r
+                    <!--<MenuItem cal:Message.Attach="[Event Click] = [Action Import]" Header="{x:Static Properties:Resources.QueueView_Import}" />-->\r
+                    <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />\r
+                </MenuItem>\r
+            </Menu>\r
+\r
+        </Grid>\r
+\r
+        <Grid Grid.Row="2" Margin="0,15,0,0">\r
+            <Grid.ColumnDefinitions>\r
+                <ColumnDefinition Width="3*" MaxWidth="600" x:Name="leftTabPanel" />\r
+                <ColumnDefinition Width="5*" x:Name="rightTabPanel"  />\r
+            </Grid.ColumnDefinitions>\r
+\r
+            <Grid>\r
+                <Grid.RowDefinitions>\r
+                    <RowDefinition Height="Auto" />\r
+                    <RowDefinition Height="*" />\r
+                    <RowDefinition Height="Auto" />\r
+                </Grid.RowDefinitions>\r
+\r
+                <Grid Grid.Row="0"  HorizontalAlignment="Stretch" Margin="10,0,5,5">\r
+\r
+                    <Grid.RowDefinitions>\r
+                        <RowDefinition Height="Auto" />\r
+                    </Grid.RowDefinitions>\r
+\r
+                    <Grid.ColumnDefinitions>\r
+                        <ColumnDefinition Width="Auto" />\r
+                        <ColumnDefinition Width="Auto" />\r
+                        <ColumnDefinition Width="*" />\r
+                        <ColumnDefinition Width="Auto" />\r
+                    </Grid.ColumnDefinitions>\r
+\r
+                    <Button Name="Start" AutomationProperties.Name="Start Queue" cal:Message.Attach="[Event Click] = [Action StartQueue]" Grid.Column="0"\r
+                                IsEnabled="{Binding IsQueueRunning, Converter={StaticResource notBooleanConverter}}"\r
+                                Visibility="{Binding IsQueueRunning, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}">\r
                         <StackPanel Orientation="Horizontal">\r
-                            <Image Width="32"\r
-                               Height="32"\r
-                               Source="Images/Play.png" />\r
-                            <Label Margin="8,0,0,0"\r
-                               VerticalAlignment="Center"\r
-                               Content="{x:Static Properties:Resources.QueueView_Start}" />\r
+                            <Image Width="16" Height="16" Margin="2,0,0,0" Source="Images/Play.png"  />\r
+                            <Label Margin="5,0,5,0" VerticalAlignment="Center" Content="{x:Static Properties:Resources.QueueView_Start}" />\r
                         </StackPanel>\r
                     </Button>\r
 \r
-                    <Button Name="Pause" DockPanel.Dock="Left" AutomationProperties.Name="Pause Queue"\r
-                        cal:Message.Attach="[Event Click] = [Action PauseQueueToolbar]"\r
-                        Visibility="{Binding IsQueueRunning,\r
-                                             Converter={StaticResource boolToVisConverter},\r
-                                             ConverterParameter=false}">\r
+                    <Button Name="Pause" AutomationProperties.Name="Pause Queue" cal:Message.Attach="[Event Click] = [Action PauseQueueToolbar]" Grid.Column="1"\r
+                                Visibility="{Binding IsQueueRunning, Converter={StaticResource boolToVisConverter}, ConverterParameter=false}">\r
                         <StackPanel Orientation="Horizontal">\r
-                            <Image Width="32"\r
-                               Height="32"\r
-                               Source="Images/Pause.png" />\r
-                            <Label Margin="8,0,0,0"\r
-                               VerticalAlignment="Center"\r
-                               Content="{x:Static Properties:Resources.QueueView_Pause}" />\r
+                            <Image Width="16" Height="16" Margin="2,0,0,0" Source="Images/Pause.png" />\r
+                            <Label Margin="5,0,0,0" VerticalAlignment="Center" Content="{x:Static Properties:Resources.QueueView_Pause}" />\r
                         </StackPanel>\r
                     </Button>\r
 \r
-                    <StackPanel Orientation="Horizontal" DockPanel.Dock="Right" HorizontalAlignment="Right">\r
-                        <Menu HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent"\r
-                              AutomationProperties.Name="{x:Static Properties:Resources.QueueView_WhenDone}">\r
-                            <MenuItem>\r
-                                <MenuItem.Header>\r
-                                    <StackPanel Height="32" Orientation="Horizontal">\r
-                                        <TextBlock VerticalAlignment="Center"\r
-                                           FontWeight="Bold"\r
-                                           Text="{x:Static Properties:Resources.QueueView_WhenDone}" />\r
-                                        <Label Margin="8,0,0,0"\r
-                                       VerticalAlignment="Center"\r
-                                       Content="{Binding WhenDoneAction}" />\r
-                                        <Path Height="5"\r
-                                      Margin="2,2,2,0"\r
-                                      Data="M 0 0 L 4 4 L 8 0 Z"\r
-                                      Fill="{DynamicResource GlyphBrush}" />\r
-                                    </StackPanel>\r
-                                </MenuItem.Header>\r
-\r
-                                <MenuItem x:Name="doNothing"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(doNothing.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_DoNothing}" />\r
-                                <MenuItem x:Name="shutdown"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(shutdown.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_Shutdown}" />\r
-                                <MenuItem x:Name="suspend"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(suspend.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_Suspend}" />\r
-                                <MenuItem x:Name="hibernate"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(hibernate.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_Hibernate}"/>\r
-                                <MenuItem x:Name="lock"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(lock.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_LockSystem}" />\r
-                                <MenuItem x:Name="logoff"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(logoff.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_Logoff}"/>\r
-                                <MenuItem x:Name="quit"\r
-                                  cal:Message.Attach="[Event Click] = [Action WhenDone(quit.Header)]"\r
-                                  Header="{x:Static Properties:Resources.QueueView_QuitHandBrake}"/>\r
-                            </MenuItem>\r
-                        </Menu>\r
-\r
-                        <Menu HorizontalAlignment="Right" Background="Transparent" VerticalAlignment="Center">\r
-                            <MenuItem>\r
-                                <MenuItem.Header>\r
-                                    <StackPanel Height="32" Orientation="Horizontal">\r
-                                        <Image Source="Images\Advanced.png" Width="20" Height="20" VerticalAlignment="Center" />\r
-                                        <TextBlock VerticalAlignment="Center"\r
-                                           Text="{x:Static Properties:Resources.QueueView_Options}" Margin="5,0,0,0" />\r
-                                        <Path Height="5"\r
-                                      Margin="2,2,2,0"\r
-                                      Data="M 0 0 L 4 4 L 8 0 Z"\r
-                                      Fill="{DynamicResource GlyphBrush}" />\r
-                                    </StackPanel>\r
-                                </MenuItem.Header>\r
-                                <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />\r
-                                <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />\r
-                                <Separator />\r
-                                <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />\r
-                                <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearQueue}" />\r
-                                <Separator />\r
-                                <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />\r
-                            </MenuItem>\r
-                        </Menu>\r
+                    <StackPanel Grid.Row="0" Grid.Column="3" Orientation="Horizontal">\r
+                        <Button Content="^" Width="20" Height="20" Margin="0" cal:Message.Attach="[Event Click] = [Action MoveUp]" />\r
+                        <Button Content="v" Width="20" Height="20" Margin="5,0,0,0" cal:Message.Attach="[Event Click] = [Action MoveDown]" />\r
                     </StackPanel>\r
+                </Grid>\r
+\r
+                <ListBox Tag="{Binding}" x:Name="queueJobs" Grid.Row="1" Margin="10,0,5,0"\r
+                             \r
+                             dd:DragDrop.DropHandler="{Binding}"\r
+                             dd:DragDrop.IsDragSource="True"\r
+                             dd:DragDrop.IsDropTarget="True"\r
+                             ItemsSource="{Binding QueueTasks, Mode=OneWay}"\r
+                             helpers:ListBoxHelper.SelectedItems="{Binding SelectedItems}" \r
+                             SelectedItem="{Binding SelectedTask}"\r
+                             SelectionMode="Extended"\r
+                             BorderThickness="1"\r
+                             ScrollViewer.HorizontalScrollBarVisibility="Disabled" >\r
+\r
+                    <i:Interaction.Triggers>\r
+                        <commands:InputBindingTrigger>\r
+                            <commands:InputBindingTrigger.InputBinding>\r
+                                <KeyBinding Key="Delete"/>\r
+                            </commands:InputBindingTrigger.InputBinding>\r
+                            <cal:ActionMessage MethodName="RemoveSelectedJobs" />\r
+                        </commands:InputBindingTrigger>\r
+                    </i:Interaction.Triggers>\r
+\r
+                    <ListBox.ContextMenu>\r
+                        <ContextMenu cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}" Opened="ContextMenu_OnOpened">\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action StartQueue]" Header="{x:Static Properties:Resources.QueueView_Start}" />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action PauseQueue]" Header="{x:Static Properties:Resources.QueueView_Pause}" />\r
+                            <Separator />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ResetSelectedJobs}" />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />\r
+                            <Separator />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearAll}" />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action RemoveSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ClearSelected}" />\r
+                            <Separator />\r
+                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenSourceDir}" x:Name="openSourceDir" Click="OpenSourceDir_OnClick" />\r
+                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenDestDir}" x:Name="openDestDir" Click="OpenDestDir_OnClick" />\r
+                            <Separator />\r
+                            <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />\r
+                        </ContextMenu>\r
+                    </ListBox.ContextMenu>\r
+\r
+                    <ListBox.ItemContainerStyle>\r
+                        <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">\r
+                            <Setter Property="HorizontalContentAlignment" Value="Stretch" />\r
+                            <Setter Property="Margin" Value="0,0,0,1" />\r
+                        </Style>\r
+                    </ListBox.ItemContainerStyle>\r
+\r
+                    <ListBox.ItemTemplate>\r
+                        <DataTemplate x:Name="QueueItemTemplate">\r
+\r
+                            <Grid>\r
+                                <Grid.ColumnDefinitions>\r
+                                    <ColumnDefinition Width="40" />\r
+                                    <ColumnDefinition Width="*" />\r
+                                    <ColumnDefinition Width="Auto" />\r
+                                </Grid.ColumnDefinitions>\r
 \r
-                </DockPanel>\r
-            </ToolBar>\r
-\r
-            <StackPanel Grid.Row="1" Margin="10,20,10,0">\r
-                <TextBlock Text="{Binding JobsPending}" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" />\r
-                <TextBlock Text="{Binding JobStatus}" Visibility="{Binding IsJobStatusVisible, Converter={StaticResource boolToVisConverter}}"  TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis"/>\r
-            </StackPanel>\r
-\r
-            <ListBox Grid.Row="2" Tag="{Binding}" x:Name="queueJobs"\r
-                 Margin="10,20,10,10"\r
-                 dd:DragDrop.DropHandler="{Binding}"\r
-                 dd:DragDrop.IsDragSource="True"\r
-                 dd:DragDrop.IsDropTarget="True"\r
-                 ItemsSource="{Binding QueueTasks, Mode=OneWay}"\r
-                 helpers:ListBoxHelper.SelectedItems="{Binding SelectedItems}" \r
-                 SelectedItem="{Binding SelectedTask}"\r
-                 SelectionMode="Extended"\r
-                 ScrollViewer.HorizontalScrollBarVisibility="Disabled">\r
-\r
-                <i:Interaction.Triggers>\r
-                    <commands:InputBindingTrigger>\r
-                        <commands:InputBindingTrigger.InputBinding>\r
-                            <KeyBinding Key="Delete"/>\r
-                        </commands:InputBindingTrigger.InputBinding>\r
-                        <cal:ActionMessage MethodName="RemoveSelectedJobs" />\r
-                    </commands:InputBindingTrigger>\r
-                </i:Interaction.Triggers>\r
-\r
-                <ListBox.ContextMenu>\r
-                    <ContextMenu cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}" Opened="ContextMenu_OnOpened">\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action StartQueue]" Header="{x:Static Properties:Resources.QueueView_Start}" />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action PauseQueue]" Header="{x:Static Properties:Resources.QueueView_Pause}" />\r
-                        <Separator />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action ResetFailed]" Header="{x:Static Properties:Resources.QueueView_ResetFailed}" />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action ResetSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ResetSelectedJobs}" />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action ResetAllJobs]" Header="{x:Static Properties:Resources.QueueView_ResetAllJobs}" />\r
-                        <Separator />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action ClearCompleted]" Header="{x:Static Properties:Resources.QueueView_ClearCompleted}" />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action Clear]" Header="{x:Static Properties:Resources.QueueView_ClearAll}" />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action RemoveSelectedJobs]" Header="{x:Static Properties:Resources.QueueView_ClearSelected}" />\r
-                        <Separator />\r
-                        <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenSourceDir}" x:Name="openSourceDir" Click="OpenSourceDir_OnClick" />\r
-                        <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenDestDir}" x:Name="openDestDir" Click="OpenDestDir_OnClick" />\r
-                        <Separator />\r
-                        <MenuItem cal:Message.Attach="[Event Click] = [Action Export]" Header="{x:Static Properties:Resources.QueueView_Export}" />\r
-                    </ContextMenu>\r
-                </ListBox.ContextMenu>\r
-\r
-                <ListBox.ItemContainerStyle>\r
-                    <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">\r
-                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />\r
-                        <Setter Property="Margin" Value="0,0,0,1" />\r
-                        <Setter Property="ToolTip">\r
-                            <Setter.Value>\r
-                                <Grid MaxWidth="650" Margin="0,5,0,5" Style="{StaticResource LongToolTipHolder}">\r
-                                    <Grid.Resources>\r
-                                        <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">\r
-                                            <Setter Property="Margin" Value="0,5,0,5" />\r
+                                <!--  Marker  -->\r
+                                <Image Grid.Column="0" Width="16" Height="16" SnapsToDevicePixels="True">\r
+\r
+                                    <Image.LayoutTransform>\r
+                                        <RotateTransform CenterX="8" CenterY="8" Angle="0"/>\r
+                                    </Image.LayoutTransform>\r
+\r
+                                    <Image.Style>\r
+                                        <Style TargetType="{x:Type Image}">\r
+                                            <Style.Triggers>\r
+                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Waiting">\r
+                                                    <Setter Property="Source" Value="Images\Movies.png" />\r
+                                                </DataTrigger>\r
+                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="In Progress">\r
+                                                    <Setter Property="Source" Value="Images\Working0.png" />\r
+                                                    <DataTrigger.EnterActions>\r
+                                                        <BeginStoryboard>\r
+                                                            <Storyboard>\r
+                                                                <DoubleAnimation Duration="0:0:2" To="180" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)" RepeatBehavior="Forever" />\r
+                                                            </Storyboard>\r
+                                                        </BeginStoryboard>\r
+                                                    </DataTrigger.EnterActions>\r
+                                                    <DataTrigger.ExitActions>\r
+                                                        <BeginStoryboard>\r
+                                                            <Storyboard>\r
+                                                                <DoubleAnimation Duration="0:0:0" To="0" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)"/>\r
+                                                            </Storyboard>\r
+                                                        </BeginStoryboard>\r
+                                                    </DataTrigger.ExitActions>\r
+                                                </DataTrigger>\r
+                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Completed">\r
+                                                    <Setter Property="Source" Value="Images\Complete.png" />\r
+                                                </DataTrigger>\r
+                                                <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Error">\r
+                                                    <Setter Property="Source" Value="Images\WarningSmall.png" />\r
+                                                </DataTrigger>\r
+                                            </Style.Triggers>\r
                                         </Style>\r
-                                    </Grid.Resources>\r
+                                    </Image.Style>\r
+                                </Image>\r
 \r
+                                <!--  Settings  -->\r
+                                <Grid Grid.Column="1" Margin="0,3,15,3">\r
                                     <Grid.RowDefinitions>\r
                                         <RowDefinition Height="Auto" />\r
                                         <RowDefinition Height="Auto" />\r
                                         <RowDefinition Height="Auto" />\r
                                         <RowDefinition Height="Auto" />\r
-                                        <RowDefinition Height="Auto" />\r
-                                        <RowDefinition Height="Auto" />\r
-                                        <RowDefinition Height="Auto" />\r
                                     </Grid.RowDefinitions>\r
 \r
                                     <Grid.ColumnDefinitions>\r
-                                        <ColumnDefinition Width="95" />\r
+                                        <ColumnDefinition Width="Auto" />\r
                                         <ColumnDefinition Width="*" />\r
                                     </Grid.ColumnDefinitions>\r
 \r
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />\r
-                                    <TextBlock Text="{Binding Task.Source}" TextWrapping="Wrap" Grid.Row="0" Grid.Column="1" />\r
+                                    <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.ColumnSpan="2">\r
+                                        <TextBlock FontWeight="Bold" Text="Title: " />\r
+                                        <TextBlock Text="{Binding Task.Title}" />\r
 \r
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" />\r
-                                    <TextBlock Text="{Binding Task.Destination}" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" />\r
-\r
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_PictureSettings}" VerticalAlignment="Top" Grid.Row="2" Grid.Column="0" />\r
-                                    <TextBlock Text="{Binding Task, Converter={StaticResource pictureSettingsDescConverter}}" TextWrapping="Wrap" Grid.Row="2" Grid.Column="1"  />\r
-\r
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Video}" Grid.Row="3" Grid.Column="0" />\r
-                                    <TextBlock Text="{Binding Task, Converter={StaticResource videoOptionsTooltipConverter}}" Grid.Row="3" Grid.Column="1" TextWrapping="Wrap"  />\r
-\r
-                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Audio}"  Grid.Row="4" Grid.Column="0"/>\r
-                                    <TextBlock Text="{Binding Task.AudioTracks, Converter={StaticResource audioTrackDisplayConverter}}"\r
-                                           Grid.Row="4" Grid.Column="1"/>\r
-\r
-                                    <TextBlock FontWeight="Bold" VerticalAlignment="Top" Text="{x:Static Properties:Resources.QueueView_Subtitles}" Grid.Row="5" Grid.Column="0"  />\r
-                                    <TextBlock Text="{Binding Task.SubtitleTracks, Converter={StaticResource subtitleTrackDisplayConverter}}"\r
-                                           Grid.Row="5" Grid.Column="1" />\r
-\r
-                                    <TextBlock FontWeight="Bold" VerticalAlignment="Top" Grid.Row="6" Grid.Column="0"  Text="{x:Static Properties:Resources.QueueView_Advanced}" />\r
-                                    <TextBlock Text="{Binding Task, Converter={StaticResource encoderOptionsTooltipConverter}}" Grid.Row="6" Grid.Column="1" TextWrapping="Wrap"  />\r
-                                </Grid>\r
-\r
-                            </Setter.Value>\r
-                        </Setter>\r
-\r
-                    </Style>\r
-                </ListBox.ItemContainerStyle>\r
-\r
-                <ListBox.ItemTemplate>\r
-                    <DataTemplate x:Name="QueueItemTemplate">\r
-\r
-                        <Grid HorizontalAlignment="Stretch">\r
-                            <Grid.ColumnDefinitions>\r
-                                <ColumnDefinition Width="40" />\r
-                                <ColumnDefinition Width="*" />\r
-                                <ColumnDefinition Width="Auto" />\r
-                            </Grid.ColumnDefinitions>\r
-\r
-                            <!--  Marker  -->\r
-                            <Image Grid.Column="0" Width="16" Height="16" SnapsToDevicePixels="True">\r
-\r
-                                <Image.LayoutTransform>\r
-                                    <RotateTransform CenterX="8" CenterY="8" Angle="0"/>\r
-                                </Image.LayoutTransform>\r
-\r
-                                <Image.Style>\r
-                                    <Style TargetType="{x:Type Image}">\r
-                                        <Style.Triggers>\r
-                                            <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Waiting">\r
-                                                <Setter Property="Source" Value="Images\Movies.png" />\r
-                                            </DataTrigger>\r
-                                            <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="In Progress">\r
-                                                <Setter Property="Source" Value="Images\Working0.png" />\r
-                                                <DataTrigger.EnterActions>\r
-                                                    <BeginStoryboard>\r
-                                                        <Storyboard>\r
-                                                            <DoubleAnimation Duration="0:0:2" To="180" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)" RepeatBehavior="Forever" />\r
-                                                        </Storyboard>\r
-                                                    </BeginStoryboard>\r
-                                                </DataTrigger.EnterActions>\r
-                                                <DataTrigger.ExitActions>\r
-                                                    <BeginStoryboard>\r
-                                                        <Storyboard>\r
-                                                            <DoubleAnimation Duration="0:0:0" To="0" Storyboard.TargetProperty="(Image.LayoutTransform).(RotateTransform.Angle)"/>\r
-                                                        </Storyboard>\r
-                                                    </BeginStoryboard>\r
-                                                </DataTrigger.ExitActions>\r
-                                            </DataTrigger>\r
-                                            <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Completed">\r
-                                                <Setter Property="Source" Value="Images\Complete.png" />\r
-                                            </DataTrigger>\r
-                                            <DataTrigger Binding="{Binding Status, Converter={StaticResource enumComboConverter}}" Value="Error">\r
-                                                <Setter Property="Source" Value="Images\WarningSmall.png" />\r
-                                            </DataTrigger>\r
-                                        </Style.Triggers>\r
-                                    </Style>\r
-                                </Image.Style>\r
-                            </Image>\r
-\r
-                            <!--  Settings  -->\r
-                            <Grid Grid.Column="1" Margin="0,3,15,3">\r
-                                <Grid.RowDefinitions>\r
-                                    <RowDefinition Height="Auto" />\r
-                                    <RowDefinition Height="Auto" />\r
-                                    <RowDefinition Height="Auto" />\r
-                                    <RowDefinition Height="Auto" />\r
-                                </Grid.RowDefinitions>\r
-\r
-                                <Grid.ColumnDefinitions>\r
-                                    <ColumnDefinition Width="Auto" />\r
-                                    <ColumnDefinition Width="*" />\r
-                                </Grid.ColumnDefinitions>\r
-\r
-                                <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.ColumnSpan="2">\r
-                                    <TextBlock FontWeight="Bold" Text="Title: " />\r
-                                    <TextBlock Text="{Binding Task.Title}" />\r
-\r
-                                    <TextBlock Text="{Binding Task.PointToPointMode}" Margin="10,0,0,0" FontWeight="Bold" />\r
-                                    <TextBlock Text=": " />\r
-                                    <TextBlock Text="{Binding Task.StartPoint}" />\r
-                                    <TextBlock Margin="5,0,5,0" Text="to" />\r
-                                    <TextBlock Text="{Binding Task.EndPoint}" />\r
-                                </StackPanel>\r
+                                        <TextBlock Text="{Binding Task.PointToPointMode}" Margin="10,0,0,0" FontWeight="Bold" />\r
+                                        <TextBlock Text=": " />\r
+                                        <TextBlock Text="{Binding Task.StartPoint}" />\r
+                                        <TextBlock Margin="5,0,5,0" Text="to" />\r
+                                        <TextBlock Text="{Binding Task.EndPoint}" />\r
+                                    </StackPanel>\r
 \r
 \r
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" Grid.Row="1" />\r
-                                <TextBlock Text="{Binding Task.Source, Converter={StaticResource filePathToFilenameConverter}}"  Margin="2,0,0,0" Grid.Row="1" Grid.Column="1"/>\r
-                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" Grid.Row="2" />\r
-                                <TextBlock Text="{Binding Task.Destination, Converter={StaticResource filePathToFilenameConverter}}" Margin="2,0,0,0" TextTrimming="CharacterEllipsis" Grid.Row="2" Grid.Column="1" />\r
+                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" Grid.Row="1" />\r
+                                    <TextBlock Text="{Binding Task.Source, Converter={StaticResource filePathToFilenameConverter}}"  Margin="2,0,0,0" Grid.Row="1" Grid.Column="1"/>\r
+                                    <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" Grid.Row="2" />\r
+                                    <TextBlock Text="{Binding Task.Destination, Converter={StaticResource filePathToFilenameConverter}}" Margin="2,0,0,0" TextTrimming="CharacterEllipsis" Grid.Row="2" Grid.Column="1" />\r
 \r
-                                <ProgressBar Minimum="0" Height="4" Maximum="100" Name="pbStatus" Margin="0,2,5,0" Grid.Row="3" Grid.ColumnSpan="2"\r
+                                    <ProgressBar Minimum="0" Height="4" Maximum="100" Name="pbStatus" Margin="0,2,5,0" Grid.Row="3" Grid.ColumnSpan="2"\r
                                              Value="{Binding DataContext.ProgressValue, ElementName=queueJobs}" IsIndeterminate="{Binding DataContext.IntermediateProgress, ElementName=queueJobs}"\r
                                              Visibility="{Binding ShowEncodeProgress, Converter={StaticResource boolToVisConverter}}" />\r
+                                </Grid>\r
                             </Grid>\r
+                        </DataTemplate>\r
+                    </ListBox.ItemTemplate>\r
+                </ListBox>\r
 \r
-                            <!--  Delete  -->\r
-                            <Grid Grid.Column="2"\r
-                              Margin="10,0,10,0"\r
-                              VerticalAlignment="Center">\r
-\r
-                                <Grid.RowDefinitions>\r
-                                    <RowDefinition Height="Auto" />\r
-                                </Grid.RowDefinitions>\r
-\r
-                                <Grid.ColumnDefinitions>\r
-                                    <ColumnDefinition Width="Auto" />\r
-                                    <ColumnDefinition Width="Auto" />\r
-                                    <ColumnDefinition Width="Auto" />\r
-                                </Grid.ColumnDefinitions>\r
+                <Border BorderThickness="1,0,1,1" BorderBrush="DarkGray" Grid.Row="2" Margin="10,0,5,10" SnapsToDevicePixels="True" >\r
+                    <Menu HorizontalAlignment="Center" VerticalAlignment="Center" Background="Transparent"   \r
+                              AutomationProperties.Name="{x:Static Properties:Resources.QueueView_WhenDone}">\r
+                        <MenuItem>\r
+                            <MenuItem.Header>\r
+                                <StackPanel Height="32" Orientation="Horizontal">\r
+                                    <TextBlock VerticalAlignment="Center"\r
+                                               FontWeight="Bold"\r
+                                               Text="{x:Static Properties:Resources.QueueView_WhenDone}" />\r
+                                    <Label Margin="8,0,0,0"\r
+                                           VerticalAlignment="Center"\r
+                                           Content="{Binding WhenDoneAction}" />\r
+                                    <Path Height="5"\r
+                                          Margin="2,2,2,0"\r
+                                          Data="M 0 0 L 4 4 L 8 0 Z"\r
+                                          Fill="{DynamicResource GlyphBrush}" />\r
+                                </StackPanel>\r
+                            </MenuItem.Header>\r
+\r
+                            <MenuItem x:Name="doNothing"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(doNothing.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_DoNothing}" />\r
+                            <MenuItem x:Name="shutdown"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(shutdown.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_Shutdown}" />\r
+                            <MenuItem x:Name="suspend"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(suspend.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_Suspend}" />\r
+                            <MenuItem x:Name="hibernate"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(hibernate.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_Hibernate}"/>\r
+                            <MenuItem x:Name="lock"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(lock.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_LockSystem}" />\r
+                            <MenuItem x:Name="logoff"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(logoff.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_Logoff}"/>\r
+                            <MenuItem x:Name="quit"\r
+                                      cal:Message.Attach="[Event Click] = [Action WhenDone(quit.Header)]"\r
+                                      Header="{x:Static Properties:Resources.QueueView_QuitHandBrake}"/>\r
+                        </MenuItem>\r
+                    </Menu>\r
+                </Border>\r
+            </Grid>\r
+\r
+            <TabControl x:Name="summaryTabControl"  Grid.Column="1"  Margin="5,0,10,10" >\r
+                <TabItem Header="{x:Static Properties:Resources.QueueView_Summary}" >\r
+                    <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="5,5,0,5">\r
+\r
+                        <StackPanel Orientation="Vertical"  Margin="5,5,0,5">\r
+\r
+                            <StackPanel Orientation="Horizontal" >\r
+\r
+                                <StackPanel.Resources>\r
+                                    <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">\r
+                                        <Setter Property="Padding" Value="8,2" />\r
+                                    </Style>\r
+                                </StackPanel.Resources>\r
 \r
-                                <Button Visibility="{Binding Status, Converter={StaticResource queueStatusVisConverter}}"\r
-                                        AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Retry}"  ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_ResetJobStatus}"\r
-                                    Grid.Row="0" Grid.Column="0" Margin="0,5,0,0">\r
-                                    <Button.Template>\r
-                                        <ControlTemplate>\r
-                                            <Image Width="20"  \r
-                                               Height="20" VerticalAlignment="Center"\r
+                                <Button AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Retry}"  ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_ResetJobStatus}">\r
+                                    <Button.Content>\r
+                                        <StackPanel Orientation="Horizontal">\r
+                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0"\r
                                                Source="Images/Refresh.ico">\r
                                             </Image>\r
-                                        </ControlTemplate>\r
-                                    </Button.Template>\r
+                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Retry}" />\r
+                                        </StackPanel>\r
+\r
+                                    </Button.Content>\r
                                     <i:Interaction.Triggers>\r
                                         <i:EventTrigger EventName="Click">\r
                                             <cal:ActionMessage MethodName="RetryJob">\r
-                                                <cal:Parameter Value="{Binding}" />\r
+                                                <cal:Parameter Value="{Binding SelectedTask}" />\r
                                             </cal:ActionMessage>\r
                                         </i:EventTrigger>\r
                                     </i:Interaction.Triggers>\r
                                 </Button>\r
 \r
-                                <Button Grid.Row="0" Grid.Column="1" Margin="10,5,0,0"\r
-                                        AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Edit}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_SendJobBack}" >\r
-                                    <Button.Template>\r
-                                        <ControlTemplate>\r
-                                            <Image Width="20" \r
-                                               Height="20" VerticalAlignment="Center"\r
-                                               Source="Images/Options24.png"\r
-                                               ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_SendJobBack}">\r
+                                <Button Margin="10,0,0,0" AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Edit}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_SendJobBack}">\r
+                                    <Button.Content>\r
+                                        <StackPanel Orientation="Horizontal">\r
+                                            <Image Width="20" Margin="0,0,5,0" Height="20" VerticalAlignment="Center"\r
+                                               Source="Images/options24.png">\r
                                             </Image>\r
-                                        </ControlTemplate>\r
-                                    </Button.Template>\r
+                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Edit}" />\r
+                                        </StackPanel>\r
+                                    </Button.Content>\r
                                     <i:Interaction.Triggers>\r
                                         <i:EventTrigger EventName="Click">\r
                                             <cal:ActionMessage MethodName="EditJob">\r
-                                                <cal:Parameter Value="{Binding}" />\r
+                                                <cal:Parameter Value="{Binding SelectedTask}" />\r
                                             </cal:ActionMessage>\r
                                         </i:EventTrigger>\r
                                     </i:Interaction.Triggers>\r
                                 </Button>\r
 \r
-                                <Button Grid.Row="0" Grid.Column="2" Margin="10,5,0,0"\r
-                                        AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Delete}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_DeleteJob}">\r
-                                    <Button.Template>\r
-                                        <ControlTemplate>\r
-                                            <Image Width="20" \r
-                                               Height="20" VerticalAlignment="Center" \r
-                                               Source="Images/delete.png"\r
-                                               ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_DeleteJob}">\r
+                                <Button Margin="10,0,0,0" AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Delete}" ToolTip="{x:Static Properties:ResourcesTooltips.QueueView_DeleteJob}">\r
+                                    <Button.Content>\r
+                                        <StackPanel Orientation="Horizontal">\r
+                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0" \r
+                                               Source="Images/delete.png">\r
                                             </Image>\r
-                                        </ControlTemplate>\r
-                                    </Button.Template>\r
+                                            <TextBlock Text="{x:Static Properties:Resources.QueueView_Delete}" />\r
+                                        </StackPanel>\r
+                                    </Button.Content>\r
                                     <i:Interaction.Triggers>\r
                                         <i:EventTrigger EventName="Click">\r
                                             <cal:ActionMessage MethodName="RemoveJob">\r
-                                                <cal:Parameter Value="{Binding}" />\r
+                                                <cal:Parameter Value="{Binding SelectedTask}" />\r
                                             </cal:ActionMessage>\r
                                         </i:EventTrigger>\r
                                     </i:Interaction.Triggers>\r
                                 </Button>\r
+\r
+\r
+                                <Button x:Name="queueOptionsDropButton" Margin="10,0,0,0" Click="QueueOptionsDropButton_OnClick"\r
+                                        AutomationProperties.Name="{x:Static Properties:Resources.QueueView_Actions}" IsEnabled="{Binding CanPerformActionOnSource}">\r
+                                    <Button.Content>\r
+                                        <StackPanel Orientation="Horizontal">\r
+                                            <Image Width="20" Height="20" VerticalAlignment="Center" Margin="0,0,5,0" \r
+                                                   Source="Images/Advanced.png">\r
+                                            </Image>\r
+\r
+                                            <TextBlock Margin="0,0,5,0" Padding="0"\r
+                                                       VerticalAlignment="Center"\r
+                                                       Text="{x:Static Properties:Resources.QueueView_Actions}" />\r
+\r
+                                            <Path Height="5" Margin="2,2,0,0" VerticalAlignment="Center" HorizontalAlignment="Center"\r
+                                                  Data="M 0 0 L 4 4 L 8 0 Z"\r
+                                                  Fill="{DynamicResource GlyphBrush}" x:Name="dropdownArrowPreset" />\r
+                                        </StackPanel>\r
+                                    </Button.Content>\r
+\r
+                                    <Button.ContextMenu>\r
+                                        <ContextMenu cal:Action.TargetWithoutContext="{Binding DataContext, RelativeSource={RelativeSource Self}}">\r
+                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_PlayMediaFile}" cal:Message.Attach="[Event Click] = [Action PlayFile]" />\r
+                                            <Separator />\r
+                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenSourceDir}" cal:Message.Attach="[Event Click] = [Action OpenSourceDir]" />\r
+                                            <MenuItem Header="{x:Static Properties:Resources.QueueView_OpenDestDir}" cal:Message.Attach="[Event Click] = [Action OpenDestDir]" />\r
+                                        </ContextMenu>\r
+                                    </Button.ContextMenu>\r
+                                </Button>\r
+                            </StackPanel>\r
+\r
+                            <TextBlock Text="{Binding JobStatus}" Visibility="{Binding IsJobStatusVisible, Converter={StaticResource boolToVisConverter}}" \r
+                                       Margin="0,15,10,5" TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis" />\r
+\r
+                            <Grid Style="{StaticResource LongToolTipHolder}" Margin="0,10,0,0" >\r
+                                <Grid.Resources>\r
+                                    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">\r
+                                        <Setter Property="Margin" Value="0,5,0,5" />\r
+                                    </Style>\r
+                                </Grid.Resources>\r
+\r
+                                <Grid.RowDefinitions>\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                </Grid.RowDefinitions>\r
+\r
+                                <Grid.ColumnDefinitions>\r
+                                    <ColumnDefinition Width="Auto" MinWidth="100" />\r
+                                    <ColumnDefinition Width="*" />\r
+                                </Grid.ColumnDefinitions>\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Source}" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Task.Source}" TextWrapping="Wrap" Grid.Row="0" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Destination}" VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Task.Destination}" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_PictureSettings}" VerticalAlignment="Top" Grid.Row="2" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource pictureSettingsDescConverter}}" TextWrapping="Wrap" Grid.Row="2" Grid.Column="1"  />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Video}" Grid.Row="3" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource videoOptionsTooltipConverter}}" Grid.Row="3" Grid.Column="1" TextWrapping="Wrap"  />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Audio}"  Grid.Row="4" Grid.Column="0"/>\r
+                                <TextBlock Text="{Binding SelectedTask.Task.AudioTracks, Converter={StaticResource audioTrackDisplayConverter}}"\r
+                                           Grid.Row="4" Grid.Column="1"/>\r
+\r
+                                <TextBlock FontWeight="Bold" VerticalAlignment="Top" Text="{x:Static Properties:Resources.QueueView_Subtitles}" Grid.Row="5" Grid.Column="0"  />\r
+                                <TextBlock Text="{Binding SelectedTask.Task.SubtitleTracks, Converter={StaticResource subtitleTrackDisplayConverter}}"\r
+                                           Grid.Row="5" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" VerticalAlignment="Top" Grid.Row="6" Grid.Column="0"  Text="{x:Static Properties:Resources.QueueView_Advanced}" />\r
+                                <TextBlock Text="{Binding SelectedTask.Task, Converter={StaticResource encoderOptionsTooltipConverter}}" Grid.Row="6" Grid.Column="1" TextWrapping="Wrap"  />\r
+                            </Grid>\r
+\r
+                        </StackPanel>\r
+                    </ScrollViewer>\r
+                </TabItem>\r
+\r
+                <TabItem Header="{x:Static Properties:Resources.QueueView_Statistics}" >\r
+                    <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="10,0,0,5">\r
+                        <StackPanel>\r
+                            <TextBlock Text="{x:Static Properties:Resources.QueueView_StatsNotAvailableYet}" Margin="0,10,0,0" Visibility="{Binding StatsVisible, Converter={StaticResource boolToVisConverter}, ConverterParameter=true}" />\r
+\r
+                            <Grid Style="{StaticResource LongToolTipHolder}" Margin="0,5,0,0" Visibility="{Binding StatsVisible, Converter={StaticResource boolToVisConverter}}">\r
+                                <Grid.Resources>\r
+                                    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">\r
+                                        <Setter Property="Margin" Value="0,5,0,5" />\r
+                                    </Style>\r
+                                </Grid.Resources>\r
+\r
+                                <Grid.RowDefinitions>\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                    <RowDefinition Height="Auto" />\r
+                                </Grid.RowDefinitions>\r
+\r
+                                <Grid.ColumnDefinitions>\r
+                                    <ColumnDefinition Width="Auto" MinWidth="100" />\r
+                                    <ColumnDefinition Width="*" />\r
+                                </Grid.ColumnDefinitions>\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_StartTime}" VerticalAlignment="Top" Grid.Row="0" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Statistics.StartTime}" TextWrapping="Wrap" Grid.Row="0" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_EndTime}" VerticalAlignment="Top" Grid.Row="1" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Statistics.EndTime}" TextWrapping="Wrap" Grid.Row="1" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_PausedDuration}" VerticalAlignment="Top" Grid.Row="2" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Statistics.PausedDuration,StringFormat=hh\\:mm\\:ss}" TextWrapping="Wrap" Grid.Row="2" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_Duration}" VerticalAlignment="Top" Grid.Row="3" Grid.Column="0" />\r
+                                <TextBlock Text="{Binding SelectedTask.Statistics.Duration,StringFormat=hh\\:mm\\:ss}" TextWrapping="Wrap" Grid.Row="3" Grid.Column="1" />\r
+\r
+                                <TextBlock FontWeight="Bold" Text="{x:Static Properties:Resources.QueueView_FileSize}" VerticalAlignment="Top" Grid.Row="4" Grid.Column="0" />\r
+                                <StackPanel Orientation="Horizontal" Grid.Row="4" Grid.Column="1" >\r
+                                    <TextBlock Text="{Binding SelectedTask.Statistics.FinalFileSizeInMegaBytes}" TextWrapping="Wrap" />\r
+                                    <TextBlock Text=" MB" />\r
+                                </StackPanel>\r
+\r
                             </Grid>\r
-                        </Grid>\r
-                    </DataTemplate>\r
-                </ListBox.ItemTemplate>\r
-            </ListBox>\r
 \r
+                        </StackPanel>\r
+                    </ScrollViewer>\r
+                </TabItem>\r
+\r
+                <TabItem Header="{x:Static Properties:Resources.MainView_ActivityLog}">\r
+                    <TextBox ScrollViewer.VerticalScrollBarVisibility="Visible" Text="{Binding ActivityLog, Mode=OneWay}" TextWrapping="Wrap" x:Name="logText">\r
+                        <TextBox.ContextMenu>\r
+                            <ContextMenu>\r
+                                <MenuItem Header="{x:Static Properties:Resources.LogView_CopyClipboard}" cal:Message.Attach="[Event Click] = [Action CopyLog]" >\r
+                                    <MenuItem.Icon>\r
+                                        <Image Width="16" Source="../Images/copy.png" />\r
+                                    </MenuItem.Icon>\r
+                                </MenuItem>\r
+                                <MenuItem Header="{x:Static Properties:Resources.LogView_OpenLogDir}" cal:Message.Attach="[Event Click] = [Action OpenLogDirectory]">\r
+                                    <MenuItem.Icon>\r
+                                        <Image Width="16" Source="../Images/folder.png" />\r
+                                    </MenuItem.Icon>\r
+                                </MenuItem>\r
+                            </ContextMenu>\r
+                        </TextBox.ContextMenu>\r
+                    </TextBox>\r
+                </TabItem>\r
+            </TabControl>\r
 \r
         </Grid>\r
     </Grid>\r
index a04a6c77aaaef2446ec1febfb352e31c8a77a21f..53b4256aa118a24dfe20b425a41689df39cc35b2 100644 (file)
@@ -1,9 +1,9 @@
 // --------------------------------------------------------------------------------------------------------------------\r
-// <copyright file="QueueView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
+// <copyright file="QueueTwoView.xaml.cs" company="HandBrake Project (http://handbrake.fr)">\r
 //   This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
 // </copyright>\r
 // <summary>\r
-//   Interaction logic for VideoView.xaml\r
+//   Interaction logic for QueueTwoView.xaml\r
 // </summary>\r
 // --------------------------------------------------------------------------------------------------------------------\r
 \r
@@ -25,13 +25,24 @@ namespace HandBrakeWPF.Views
         private QueueTask mouseActiveQueueTask;\r
 \r
         /// <summary>\r
-        /// Initializes a new instance of the <see cref="QueueView"/> class.\r
+        /// Initializes a new instance of the <see cref="QueueTwoContent"/> class.\r
         /// </summary>\r
         public QueueView()\r
         {\r
             this.InitializeComponent();\r
+            this.SizeChanged += this.Queue2View_SizeChanged;\r
         }\r
 \r
+        private void Queue2View_SizeChanged(object sender, SizeChangedEventArgs e)\r
+        {\r
+            // Make the view adaptive. \r
+            if (e.WidthChanged)\r
+            {\r
+                this.summaryTabControl.Visibility = this.ActualWidth < 600 ? Visibility.Collapsed : Visibility.Visible;\r
+                this.leftTabPanel.Width = this.ActualWidth < 600 ? new GridLength(this.ActualWidth - 10, GridUnitType.Star) : new GridLength(3, GridUnitType.Star);\r
+                this.leftTabPanel.MaxWidth = this.ActualWidth < 600 ? 650 : 400;\r
+            }\r
+        }\r
         private void ContextMenu_OnOpened(object sender, RoutedEventArgs e)\r
         {\r
             ContextMenu menu = sender as ContextMenu;\r
@@ -82,5 +93,16 @@ namespace HandBrakeWPF.Views
         {\r
             ((QueueViewModel)this.DataContext).OpenDestinationDirectory(this.mouseActiveQueueTask);\r
         }\r
+\r
+        private void QueueOptionsDropButton_OnClick(object sender, RoutedEventArgs e)\r
+        {\r
+            var button = sender as FrameworkElement;\r
+            if (button != null && button.ContextMenu != null)\r
+            {\r
+                button.ContextMenu.PlacementTarget = button;\r
+                button.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;\r
+                button.ContextMenu.IsOpen = true;\r
+            }\r
+        }\r
     }\r
 }\r
index acdd5de525111efd2ca23163063e18d24b96c247..4667abb27a563ebc2985308b46d8816264d5ce48 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>ShowExperimentalQueue</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">true</anyType>\r
-    </value>\r
-  </item>\r
 </dictionary>
\ No newline at end of file