407 lines
13 KiB
XML
407 lines
13 KiB
XML
<Window 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"
|
|
mc:Ignorable="d" d:DesignWidth="900" d:DesignHeight="600"
|
|
x:Class="LibationWinForms.AvaloniaUI.Views.Dialogs.SettingsDialog"
|
|
xmlns:controls="clr-namespace:LibationWinForms.AvaloniaUI.Controls"
|
|
Title="Edit Settings"
|
|
Icon="/AvaloniaUI/Assets/libation.ico">
|
|
|
|
<Grid RowDefinitions="*,Auto">
|
|
|
|
<Button
|
|
Grid.Row="1"
|
|
Margin="10"
|
|
HorizontalAlignment="Right"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Content="Save"
|
|
Click="SaveButton_Clicked" />
|
|
|
|
<TabControl Grid.Column="0">
|
|
<TabControl.Styles>
|
|
<Style Selector="ItemsPresenter#PART_ItemsPresenter">
|
|
<Setter Property="Height" Value="33"/>
|
|
</Style>
|
|
<Style Selector="TextBlock">
|
|
<Setter Property="FontSize" Value="12"/>
|
|
</Style>
|
|
</TabControl.Styles>
|
|
|
|
<TabItem>
|
|
|
|
<TabItem.Header>
|
|
|
|
<TextBlock
|
|
FontSize="14"
|
|
VerticalAlignment="Center"
|
|
Text="Download/Decrypt"/>
|
|
|
|
</TabItem.Header>
|
|
<Border
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
BorderThickness="2"
|
|
Background="WhiteSmoke"
|
|
BorderBrush="{DynamicResource DataGridGridLinesBrush}">
|
|
|
|
<Grid RowDefinitions="Auto,Auto,*">
|
|
<controls:GroupBox Grid.Row="0" BorderWidth="1" Label="{Binding DownloadDecryptSettings.BadBookGroupboxText}">
|
|
|
|
<Grid ColumnDefinitions="*,*" RowDefinitions="Auto,Auto">
|
|
|
|
<RadioButton
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
Margin="0,5,0,5"
|
|
IsChecked="{Binding DownloadDecryptSettings.BadBookAsk, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding DownloadDecryptSettings.BadBookAskText}" />
|
|
</RadioButton>
|
|
<RadioButton
|
|
Grid.Column="1"
|
|
Grid.Row="0"
|
|
Margin="0,5,0,5"
|
|
IsChecked="{Binding DownloadDecryptSettings.BadBookAbort, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding DownloadDecryptSettings.BadBookAbortText}" />
|
|
</RadioButton>
|
|
<RadioButton
|
|
Grid.Column="0"
|
|
Grid.Row="1"
|
|
Margin="0,5,0,5"
|
|
IsChecked="{Binding DownloadDecryptSettings.BadBookRetry, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding DownloadDecryptSettings.BadBookRetryText}" />
|
|
</RadioButton>
|
|
<RadioButton
|
|
Grid.Column="1"
|
|
Grid.Row="1"
|
|
Margin="0,5,0,5"
|
|
IsChecked="{Binding DownloadDecryptSettings.BadBookIgnore, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding DownloadDecryptSettings.BadBookIgnoreText}" />
|
|
</RadioButton>
|
|
|
|
</Grid>
|
|
</controls:GroupBox>
|
|
|
|
<controls:GroupBox Grid.Row="1" BorderWidth="1" Label="Custom File Naming">
|
|
|
|
<Grid RowDefinitions="Auto,Auto,Auto,Auto" ColumnDefinitions="*,Auto">
|
|
|
|
<TextBox
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="0,10,10,10"
|
|
FontSize="14"
|
|
IsReadOnly="True"
|
|
Text="{Binding DownloadDecryptSettings.FolderTemplate}" />
|
|
|
|
<Button
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Content="Edit"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Click="EditFolderTemplateButton_Click" />
|
|
|
|
<TextBox
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Margin="0,10,10,10"
|
|
FontSize="14"
|
|
IsReadOnly="True"
|
|
Text="{Binding DownloadDecryptSettings.FileTemplate}" />
|
|
|
|
<Button
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Content="Edit"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Click="EditFileTemplateButton_Click" />
|
|
|
|
<TextBox
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Margin="0,10,10,10"
|
|
FontSize="14"
|
|
IsReadOnly="True"
|
|
Text="{Binding DownloadDecryptSettings.ChapterFileTemplate}" />
|
|
|
|
<Button
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
Content="Edit"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Click="EditChapterFileTemplateButton_Click" />
|
|
|
|
<Button
|
|
Grid.Row="3"
|
|
Grid.Column="0"
|
|
Content="{Binding DownloadDecryptSettings.EditCharReplacementText}"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Click="EditChapterTitleTemplateButton_Click" />
|
|
|
|
</Grid>
|
|
|
|
</controls:GroupBox>
|
|
|
|
<controls:DirectorySelectControl
|
|
Grid.Row="2"
|
|
Subdirectory="{Binding DownloadDecryptSettings.EditCharReplacementText}"
|
|
KnownDirectories="{Binding DownloadDecryptSettings.KnownDirectories}"
|
|
Selectedirectory="{Binding DownloadDecryptSettings.SelectedDirectory, Mode=TwoWay}" />
|
|
|
|
</Grid>
|
|
|
|
</Border>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem>
|
|
|
|
<TabItem.Header>
|
|
|
|
<TextBlock
|
|
FontSize="14"
|
|
VerticalAlignment="Center"
|
|
Text="Audio File Settings"/>
|
|
|
|
</TabItem.Header>
|
|
<Border
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
BorderThickness="2"
|
|
Background="WhiteSmoke"
|
|
BorderBrush="{DynamicResource DataGridGridLinesBrush}">
|
|
|
|
<Grid
|
|
RowDefinitions="*,Auto"
|
|
ColumnDefinitions="*,*">
|
|
|
|
<StackPanel Margin="5"
|
|
Grid.Row="0"
|
|
Grid.Column="0">
|
|
|
|
<CheckBox IsChecked="{Binding AudioSettings.CreateCueSheet, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.CreateCueSheetText}" />
|
|
</CheckBox>
|
|
<CheckBox IsChecked="{Binding AudioSettings.DownloadCoverArt, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.DownloadCoverArtText}" />
|
|
</CheckBox>
|
|
<CheckBox IsChecked="{Binding AudioSettings.RetainAaxFile, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.RetainAaxFileText}" />
|
|
</CheckBox>
|
|
<CheckBox IsChecked="{Binding AudioSettings.MergeOpeningAndEndCredits, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.MergeOpeningEndCreditsText}" />
|
|
</CheckBox>
|
|
<CheckBox IsChecked="{Binding AudioSettings.AllowLibationFixup, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.AllowLibationFixupText}" />
|
|
</CheckBox>
|
|
|
|
<controls:GroupBox BorderWidth="1" Label="Audiobook Fix-ups" IsEnabled="{Binding AudioSettings.AllowLibationFixup}">
|
|
<StackPanel Orientation="Vertical">
|
|
<CheckBox IsChecked="{Binding AudioSettings.SplitFilesByChapter, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.SplitFilesByChapterText}" />
|
|
</CheckBox>
|
|
|
|
<CheckBox IsChecked="{Binding AudioSettings.StripAudibleBrandAudio, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.StripAudibleBrandingText}" />
|
|
</CheckBox>
|
|
|
|
<CheckBox IsChecked="{Binding AudioSettings.StripUnabridged, Mode=TwoWay}">
|
|
<TextBlock Text="{Binding AudioSettings.StripUnabridgedText}" />
|
|
</CheckBox>
|
|
|
|
<RadioButton Margin="0,5,0,5" IsChecked="{Binding !AudioSettings.DecryptToLossy, Mode=TwoWay}">
|
|
<TextBlock Text="Download my books in the original audio format (Lossless)" />
|
|
</RadioButton>
|
|
|
|
<RadioButton Margin="0,5,0,5" IsChecked="{Binding AudioSettings.DecryptToLossy, Mode=TwoWay}">
|
|
<TextBlock Text="Download my books as .MP3 files (transcode if necessary)" />
|
|
</RadioButton>
|
|
|
|
</StackPanel>
|
|
|
|
</controls:GroupBox>
|
|
|
|
</StackPanel>
|
|
|
|
|
|
<StackPanel
|
|
Grid.Row="0"
|
|
Grid.Column="1">
|
|
|
|
<controls:GroupBox BorderWidth="1" Label="Mp3 Encoding Options">
|
|
|
|
<StackPanel Orientation="Vertical">
|
|
<Grid Margin="5,5,5,0" ColumnDefinitions="Auto,*">
|
|
|
|
<controls:GroupBox BorderWidth="1" Grid.Column="0" Label="Target">
|
|
<StackPanel Orientation="Horizontal">
|
|
|
|
<RadioButton Margin="10" IsChecked="{Binding AudioSettings.LameTargetBitrate, Mode=TwoWay}">
|
|
<TextBlock Text="Bitrate" />
|
|
</RadioButton>
|
|
|
|
<RadioButton Margin="10" IsChecked="{Binding !AudioSettings.LameTargetBitrate, Mode=TwoWay}">
|
|
<TextBlock Text="Quality" />
|
|
</RadioButton>
|
|
|
|
</StackPanel>
|
|
</controls:GroupBox>
|
|
|
|
<CheckBox HorizontalAlignment="Right" Grid.Column="1" IsChecked="{Binding AudioSettings.LameDownsampleMono, Mode=TwoWay}">
|
|
<TextBlock Text="Downsample to mono?
(Recommended)" />
|
|
</CheckBox>
|
|
</Grid>
|
|
<controls:GroupBox Margin="5,5,5,0" BorderWidth="1" Label="Bitrate" IsEnabled="{Binding AudioSettings.LameTargetBitrate}" >
|
|
<StackPanel>
|
|
<Grid ColumnDefinitions="*,25,Auto">
|
|
<Slider
|
|
Grid.Column="0"
|
|
IsEnabled="{Binding !AudioSettings.LameMatchSource}"
|
|
Value="{Binding AudioSettings.LameBitrate, Mode=TwoWay}"
|
|
Minimum="16"
|
|
Maximum="320"
|
|
IsSnapToTickEnabled="True" TickFrequency="16"
|
|
Ticks="16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256,272,288,304,320"
|
|
TickPlacement="Outside">
|
|
<Slider.Styles>
|
|
<Style Selector="Slider /template/ Thumb">
|
|
<Setter Property="ToolTip.Tip" Value="{Binding $parent[Slider].Value, Mode=OneWay, StringFormat='\{0:f0\} Kbps'}" />
|
|
<Setter Property="ToolTip.Placement" Value="Top" />
|
|
<Setter Property="ToolTip.VerticalOffset" Value="-10" />
|
|
<Setter Property="ToolTip.HorizontalOffset" Value="-30" />
|
|
</Style>
|
|
</Slider.Styles>
|
|
</Slider>
|
|
<TextBlock Grid.Column="1" HorizontalAlignment="Right" Text="{Binding AudioSettings.LameBitrate}" />
|
|
<TextBlock Grid.Column="2" Text=" Kbps" />
|
|
</Grid>
|
|
<Grid ColumnDefinitions="Auto,*">
|
|
|
|
<CheckBox Grid.Column="0" IsChecked="{Binding AudioSettings.LameConstantBitrate, Mode=TwoWay}">
|
|
<TextBlock Text="Restrict Encoder to Constant Bitrate?" />
|
|
</CheckBox>
|
|
<CheckBox Grid.Column="1" IsChecked="{Binding AudioSettings.LameMatchSource, Mode=TwoWay}" HorizontalAlignment="Right">
|
|
<TextBlock Text="Match Source Bitrate?" />
|
|
</CheckBox>
|
|
</Grid>
|
|
</StackPanel>
|
|
</controls:GroupBox>
|
|
|
|
<controls:GroupBox Margin="5,5,5,0" BorderWidth="1" Label="Quality" IsEnabled="{Binding !AudioSettings.LameTargetBitrate}" >
|
|
<Grid ColumnDefinitions="*,*,25" RowDefinitions="*,Auto">
|
|
<Slider
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
Value="{Binding AudioSettings.LameVBRQuality, Mode=TwoWay}"
|
|
Minimum="0"
|
|
Maximum="9"
|
|
IsSnapToTickEnabled="True" TickFrequency="1"
|
|
Ticks="0,1,2,3,4,5,6,7,8,9"
|
|
TickPlacement="Outside">
|
|
<Slider.Styles>
|
|
<Style Selector="Slider /template/ Thumb">
|
|
<Setter Property="ToolTip.Tip" Value="{Binding $parent[Slider].Value, Mode=OneWay, StringFormat='V\{0:f0\}'}" />
|
|
<Setter Property="ToolTip.Placement" Value="Top" />
|
|
<Setter Property="ToolTip.VerticalOffset" Value="-10" />
|
|
<Setter Property="ToolTip.HorizontalOffset" Value="-30" />
|
|
</Style>
|
|
</Slider.Styles>
|
|
</Slider>
|
|
<StackPanel Grid.Column="2" HorizontalAlignment="Right" Orientation="Horizontal">
|
|
<TextBlock Text="V" />
|
|
<TextBlock Text="{Binding AudioSettings.LameVBRQuality}" />
|
|
</StackPanel>
|
|
<TextBlock Margin="10,0,0,0" Grid.Column="0" Grid.Row="1" Text="Higher" />
|
|
<TextBlock Margin="0,0,10,0" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Right" Text="Lower" />
|
|
|
|
</Grid>
|
|
</controls:GroupBox>
|
|
|
|
<TextBlock Margin="5,5,5,5" Text="Using L.A.M.E encoding engine" FontStyle="Italic" />
|
|
|
|
</StackPanel>
|
|
</controls:GroupBox>
|
|
|
|
|
|
</StackPanel>
|
|
|
|
<controls:GroupBox
|
|
Grid.Row="1"
|
|
Grid.ColumnSpan="2"
|
|
Margin="5"
|
|
BorderWidth="1" IsEnabled="{Binding AudioSettings.SplitFilesByChapter}"
|
|
Label="{Binding AudioSettings.ChapterTitleTemplateText}">
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
<TextBox
|
|
Grid.Column="0"
|
|
Margin="0,10,10,10"
|
|
FontSize="14"
|
|
IsReadOnly="True"
|
|
Text="{Binding AudioSettings.ChapterTitleTemplate}" />
|
|
|
|
<Button
|
|
Grid.Column="1"
|
|
Content="Edit"
|
|
Height="30"
|
|
Padding="30,3,30,3"
|
|
Click="EditChapterTitleTemplateButton_Click" />
|
|
</Grid>
|
|
</controls:GroupBox>
|
|
</Grid>
|
|
|
|
</Border>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem>
|
|
|
|
<TabItem.Header>
|
|
|
|
<TextBlock
|
|
FontSize="14"
|
|
VerticalAlignment="Center"
|
|
Text="Important Settings"/>
|
|
|
|
</TabItem.Header>
|
|
<Border
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
BorderThickness="2"
|
|
Background="WhiteSmoke"
|
|
BorderBrush="{DynamicResource DataGridGridLinesBrush}">
|
|
|
|
</Border>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem>
|
|
|
|
<TabItem.Header>
|
|
|
|
<TextBlock
|
|
FontSize="14"
|
|
VerticalAlignment="Center"
|
|
Text="Import Library"/>
|
|
|
|
</TabItem.Header>
|
|
<Border
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
BorderThickness="2"
|
|
Background="WhiteSmoke"
|
|
BorderBrush="{DynamicResource DataGridGridLinesBrush}">
|
|
|
|
</Border>
|
|
|
|
</TabItem>
|
|
|
|
</TabControl>
|
|
|
|
</Grid>
|
|
</Window>
|