+++ /dev/null
-<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>
-
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
<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