198 lines
9.6 KiB
XML
198 lines
9.6 KiB
XML
<UserControl x:Class="EmbyToolbox.Views.MergeView"
|
|
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:converters="clr-namespace:EmbyToolbox.Converters"
|
|
xmlns:behaviors="clr-namespace:EmbyToolbox.Behaviors"
|
|
mc:Ignorable="d"
|
|
d:DesignWidth="900"
|
|
d:DesignHeight="600">
|
|
<UserControl.Resources>
|
|
<converters:BooleanToVisibilityConverter x:Key="BoolToVis" />
|
|
</UserControl.Resources>
|
|
<Border BorderBrush="{DynamicResource Ui.Brush.BorderSubtle}"
|
|
BorderThickness="1"
|
|
Background="{DynamicResource Ui.Brush.Surface}"
|
|
Padding="8">
|
|
<Grid Grid.IsSharedSizeScope="True">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Grid Grid.Column="0"
|
|
Background="Transparent"
|
|
behaviors:MergeDropTargetBehavior.IsEnabled="True">
|
|
<DataGrid x:Name="FilesGrid"
|
|
ItemsSource="{Binding Files}"
|
|
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
|
|
SelectionMode="Extended"
|
|
SelectionUnit="FullRow"
|
|
EnableRowVirtualization="True"
|
|
EnableColumnVirtualization="True"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling"
|
|
SelectionChanged="FilesGrid_OnSelectionChanged"
|
|
PreviewKeyDown="FilesGrid_OnPreviewKeyDown"
|
|
AutoGenerateColumns="False"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
Style="{StaticResource UiDataGrid}"
|
|
RowStyle="{StaticResource UiDataGridRow}"
|
|
ColumnHeaderStyle="{StaticResource UiDataGridColumnHeader}"
|
|
CellStyle="{StaticResource UiDataGridCell}"
|
|
ScrollViewer.HorizontalScrollBarVisibility="Auto"
|
|
ScrollViewer.VerticalScrollBarVisibility="Auto">
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="№" Binding="{Binding Number, Mode=OneWay}" IsReadOnly="True" Width="50" />
|
|
<DataGridTemplateColumn Header="Файл" Width="3*" MinWidth="200">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding FullPath}"
|
|
TextTrimming="CharacterEllipsis"
|
|
TextWrapping="NoWrap"
|
|
ToolTip="{Binding FullPath}" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Размер, МБ" Binding="{Binding SizeMb, Mode=OneWay}" IsReadOnly="True" Width="90" />
|
|
<DataGridTextColumn Header="Имя части" Binding="{Binding PartName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="2*" MinWidth="200" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
<Border IsHitTestVisible="False">
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsMergeDropHighlight}" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource Ui.Brush.MergeDropOverlay}" />
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<StackPanel Grid.Column="1" Margin="8,0,0,0">
|
|
<Button MinWidth="150"
|
|
Margin="0,0,0,8"
|
|
Style="{StaticResource UiButtonSecondary}"
|
|
Command="{Binding SelectVideoFilesCommand}"
|
|
Content="Добавить файлы" />
|
|
<Button MinWidth="150" Margin="0,0,0,8" Style="{StaticResource UiButtonSecondary}" Command="{Binding MoveUpCommand}" Content="Вверх" />
|
|
<Button MinWidth="150" Margin="0,0,0,8" Style="{StaticResource UiButtonSecondary}" Command="{Binding MoveDownCommand}" Content="Вниз" />
|
|
<Button MinWidth="150" Margin="0,0,0,8" Style="{StaticResource UiButtonSecondary}" Command="{Binding RefreshCommand}" Content="Обновить" />
|
|
<Button MinWidth="150" Margin="0,0,0,8" Style="{StaticResource UiButtonGhost}" Command="{Binding ClearListCommand}" Content="Очистить список" />
|
|
<Button MinWidth="150"
|
|
Style="{StaticResource UiButtonDanger}"
|
|
Command="{Binding RemoveFromListCommand}">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock Style="{StaticResource UiMdlGlyphButton}" Text="" />
|
|
<TextBlock VerticalAlignment="Center" Text="Удалить из списка" />
|
|
</StackPanel>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<StackPanel Grid.Row="1"
|
|
Margin="0,10,0,0"
|
|
Orientation="Vertical"
|
|
VerticalAlignment="Center">
|
|
<TextBlock Text="{Binding ValidationMessage, Mode=OneWay}"
|
|
Foreground="{DynamicResource Ui.Brush.ErrorText}"
|
|
Margin="0,0,0,6"
|
|
TextWrapping="Wrap">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding HasValidationMessage, Mode=OneWay}" Value="True">
|
|
<Setter Property="Visibility" Value="Visible" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
|
|
<Grid Grid.Row="2"
|
|
Margin="0,10,0,8">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="MergeFormLabelCol" />
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="*" MinWidth="160" />
|
|
<ColumnDefinition Width="8" />
|
|
<ColumnDefinition Width="Auto" SharedSizeGroup="MergeIconBtnCol" />
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Column="0"
|
|
Style="{StaticResource UiTextCaption}"
|
|
VerticalAlignment="Center"
|
|
Text="Итоговый файл:" />
|
|
<TextBox Grid.Column="2"
|
|
VerticalAlignment="Center"
|
|
Style="{StaticResource UiPathField}"
|
|
Text="{Binding MergedOutputPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
ToolTip="{Binding MergedOutputPath}" />
|
|
<Button Grid.Column="4"
|
|
Style="{StaticResource UiButtonIconOnlySecondary}"
|
|
Command="{Binding SelectOutputFileCommand}"
|
|
ToolTipService.ShowDuration="60000"
|
|
ToolTip="Выбор итогового файла">
|
|
<TextBlock Style="{StaticResource UiMdlGlyphIconOnlyMuted}" Text="" />
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="3"
|
|
Margin="0,0,0,0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<StackPanel Grid.Column="1"
|
|
Orientation="Horizontal"
|
|
HorizontalAlignment="Right">
|
|
<Button MinWidth="138"
|
|
Margin="0,0,8,0"
|
|
Style="{StaticResource UiButtonPrimary}"
|
|
Command="{Binding MergeCommand}">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock Style="{StaticResource UiMdlGlyphOnPrimary}" Text="" />
|
|
<TextBlock VerticalAlignment="Center" Text="Объединить" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button MinWidth="118"
|
|
Margin="0,0,8,0"
|
|
Style="{StaticResource UiButtonSecondary}"
|
|
Command="{Binding CancelOrClearCommand}"
|
|
Visibility="{Binding IsRunning, Converter={StaticResource BoolToVis}}">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock Style="{StaticResource UiMdlGlyphButton}" Text="" />
|
|
<TextBlock VerticalAlignment="Center" Text="Отмена" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button MinWidth="118"
|
|
Style="{StaticResource UiButtonGhost}"
|
|
Command="{Binding CancelOrClearCommand}"
|
|
Visibility="{Binding IsRunning, Converter={StaticResource BoolToVis}, ConverterParameter=Invert}">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock Style="{StaticResource UiMdlGlyphButton}" Text="" />
|
|
<TextBlock VerticalAlignment="Center" Text="Очистить" />
|
|
</StackPanel>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</UserControl>
|