Crunchy-Downloader/CRD/Views/Utils/ContentDialogEncodingPresetView.axaml
Elwador d9813191ad - Added **Global Pause button** for the download queue [#418](https://github.com/Crunchy-DL/Crunchy-Downloader/issues/418)
- Added **fallback for sync failures** [#407](https://github.com/Crunchy-DL/Crunchy-Downloader/issues/407)
- Added **history setting** to remove non-existent series/episodes on refresh [#420](https://github.com/Crunchy-DL/Crunchy-Downloader/issues/420)
- Added **movies to history**
- Added **queue persistence**
- Changed **download item state handling**
- Changed **download item removal processing**
- Made small changes to **font detection**
- Changed **rate limit error handling**
- Fixed issue where **files were not always cleaned up** for removed downloads
- Fixed **crash when the queue list was modified**
- Fixed **changelog parsing** not handling versions like `vX.X.X.X`, which caused changes to be re-added on every restart
2026-04-20 15:40:58 +02:00

120 lines
6 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
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:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:utils="clr-namespace:CRD.ViewModels.Utils"
x:DataType="utils:ContentDialogEncodingPresetViewModel"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="CRD.Views.Utils.ContentDialogEncodingPresetView">
<StackPanel Spacing="10" Margin="10">
<StackPanel IsVisible="{Binding EditMode}">
<TextBlock Text="Edit Preset" Margin="0,0,0,5" />
<ComboBox HorizontalContentAlignment="Center" MinWidth="210" MaxDropDownHeight="400"
ItemsSource="{Binding CustomPresetsList}"
SelectedItem="{Binding SelectedCustomPreset}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding PresetName}"></TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
<!-- Preset Name -->
<StackPanel>
<TextBlock Text="Enter Preset Name" Margin="0,0,0,5" />
<TextBox Watermark="H.265 1080p" Text="{Binding PresetName}" />
<TextBlock Text="Preset name already used" FontSize="12" Foreground="{DynamicResource SystemFillColorCaution}"
IsVisible="{Binding FileExists}" />
</StackPanel>
<!-- Codec -->
<StackPanel>
<TextBlock Text="Enter Codec" Margin="0,10,0,5" />
<TextBox Watermark="libx265" Text="{Binding Codec}" />
<TextBlock Text="Leave empty to provide the encoding options through Additional Parameters only."
Opacity="0.7"
FontSize="12"
TextWrapping="Wrap"
IsVisible="{Binding !HasCodec}" />
</StackPanel>
<!-- Resolution ComboBox -->
<StackPanel IsVisible="{Binding HasCodec}">
<TextBlock Text="Select Resolution" Margin="0,10,0,5" />
<ComboBox HorizontalContentAlignment="Center" MinWidth="210" MaxDropDownHeight="400"
ItemsSource="{Binding ResolutionList}"
SelectedItem="{Binding SelectedResolution}">
</ComboBox>
</StackPanel>
<!-- Frame Rate NumberBox -->
<StackPanel IsVisible="{Binding HasCodec}">
<TextBlock Text="Enter Frame Rate" Margin="0,10,0,5" />
<!-- <controls:NumberBox Minimum="1" Maximum="999" -->
<!-- Value="{Binding FrameRate}" -->
<!-- SpinButtonPlacementMode="Inline" -->
<!-- HorizontalAlignment="Stretch" /> -->
<TextBox Watermark="24000/1001" Text="{Binding FrameRate}" />
</StackPanel>
<!-- CRF NumberBox -->
<StackPanel IsVisible="{Binding HasCodec}">
<TextBlock Text="Enter CRF (0-51) - (cq,global_quality,qp)" Margin="0,10,0,5" />
<controls:NumberBox Minimum="0" Maximum="51"
Value="{Binding Crf}"
SpinButtonPlacementMode="Inline"
HorizontalAlignment="Stretch" />
</StackPanel>
<!-- Additional Parameters -->
<StackPanel Margin="0,20,0,0">
<TextBlock Text="Additional Parameters" Margin="0,0,0,5" />
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBox HorizontalAlignment="Left" MinWidth="250"
Text="{Binding AdditionalParametersString}" />
<Button HorizontalAlignment="Center" Command="{Binding AddAdditionalParam}">
<StackPanel Orientation="Horizontal">
<controls:SymbolIcon Symbol="Add" FontSize="18" />
</StackPanel>
</Button>
</StackPanel>
<ItemsControl ItemsSource="{Binding AdditionalParameters}" Margin="0,10,0,0" MaxWidth="350" HorizontalAlignment="Left">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#4a4a4a" Background="{DynamicResource ControlAltFillColorQuarternary}" BorderThickness="1"
CornerRadius="10" Margin="2">
<StackPanel Orientation="Horizontal" Margin="5">
<TextBlock Text="{Binding stringValue}" Margin="5,0" TextTrimming="CharacterEllipsis" MaxWidth="300" TextWrapping="NoWrap">
<ToolTip.Tip>
<TextBlock Text="{Binding stringValue}" FontSize="15" />
</ToolTip.Tip>
</TextBlock>
<Button Content="X" FontSize="8" VerticalAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
Width="15" Height="15" Padding="0"
Command="{Binding $parent[ItemsControl].((utils:ContentDialogEncodingPresetViewModel)DataContext).RemoveAdditionalParam}"
CommandParameter="{Binding .}" />
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</StackPanel>
</UserControl>