Files
Libation/Source/LibationAvalonia/Controls/Settings/Important.axaml
Michael Bucari-Tovo df531de255 Update Avalonia to v12
Avalonia 12 uses compiled bindings by default. Converted all remaining reflection bindings into compiled bindings,

Fixed binding errors
2026-05-04 21:08:26 -06:00

197 lines
4.9 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"
mc:Ignorable="d" d:DesignWidth="700" d:DesignHeight="600"
xmlns:controls="clr-namespace:LibationAvalonia.Controls"
xmlns:vm="clr-namespace:LibationAvalonia.ViewModels.Settings"
x:DataType="vm:ImportantSettingsVM"
x:Class="LibationAvalonia.Controls.Settings.Important">
<Grid RowDefinitions="Auto,Auto,Auto,Auto,*">
<controls:GroupBox
Grid.Row="0"
Margin="5"
Label="Books Location">
<StackPanel>
<TextBlock
Margin="5"
Text="{Binding BooksText}" />
<controls:DirectoryOrCustomSelectControl Margin="0,10,0,10"
SubDirectory="Books"
Directory="{Binding BooksDirectory, Mode=TwoWay}"
KnownDirectories="{Binding KnownDirectories}" />
<CheckBox IsChecked="{Binding SavePodcastsToParentFolder, Mode=TwoWay}">
<TextBlock Text="{Binding SavePodcastsToParentFolderText}" />
</CheckBox>
<CheckBox IsChecked="{Binding OverwriteExisting, Mode=TwoWay}">
<TextBlock Text="{Binding OverwriteExistingText}" />
</CheckBox>
<Grid
RowDefinitions="Auto,Auto"
ColumnDefinitions="Auto,*">
<TextBlock
VerticalAlignment="Center"
Margin="0,0,10,0"
Text="{Binding CreationTimeText}" />
<controls:WheelComboBox
Height="25"
Grid.Column="1"
Margin="0,5"
HorizontalContentAlignment="Stretch"
SelectedItem="{Binding CreationTime, Mode=TwoWay}"
ItemsSource="{Binding DateTimeSources}" />
<TextBlock
VerticalAlignment="Center"
Grid.Row="1"
Margin="0,0,10,0"
Text="{Binding LastWriteTimeText}" />
<controls:WheelComboBox
Height="25"
Grid.Row="1"
Grid.Column="1"
Margin="0,5"
HorizontalContentAlignment="Stretch"
SelectedItem="{Binding LastWriteTime, Mode=TwoWay}"
ItemsSource="{Binding DateTimeSources}" />
</Grid>
</StackPanel>
</controls:GroupBox>
<CheckBox
Grid.Row="1"
Margin="10,5"
IsEnabled="{Binding !UseWebViewSettingDisabled}"
IsChecked="{Binding UseWebView, Mode=TwoWay}">
<StackPanel>
<TextBlock Text="{Binding UseWebViewText}" />
<TextBlock
IsVisible="{Binding UseWebViewSettingDisabled}"
FontStyle="Italic"
Opacity="0.8"
Margin="0,2,0,0"
Text="{Binding UseWebViewSnapMessage}" />
</StackPanel>
</CheckBox>
<StackPanel
Grid.Row="2" Margin="5"
Orientation="Horizontal">
<TextBlock
Margin="0,0,10,0"
VerticalAlignment="Center"
Text="Logging level" />
<controls:WheelComboBox
Width="120"
Height="25"
HorizontalContentAlignment="Stretch"
SelectedItem="{Binding LoggingLevel, Mode=TwoWay}"
ItemsSource="{Binding LoggingLevels}" />
<Button
Margin="50,0,0,0"
Padding="20,0"
VerticalAlignment="Stretch"
Content="Open Log Folder"
Command="{Binding OpenLogFolderButton}" />
</StackPanel>
<controls:GroupBox
Grid.Row="3"
Margin="5"
Label="Display Settings">
<Grid
RowDefinitions="Auto,Auto"
ColumnDefinitions="Auto,Auto,*">
<TextBlock
Margin="0,0,10,0"
VerticalAlignment="Center"
Text="{Binding GridScaleFactorText}"/>
<Slider
Grid.Column="1"
Width="200"
Value="{Binding GridScaleFactor, Mode=TwoWay}"
VerticalAlignment="Center"
Minimum="-100"
Maximum="100"
IsSnapToTickEnabled="False"
TickFrequency="25"
TickPlacement="BottomRight">
</Slider>
<TextBlock
Margin="0,0,10,0"
Grid.Row="1"
VerticalAlignment="Center"
Text="{Binding GridFontScaleFactorText}"/>
<Slider
Grid.Column="1"
Grid.Row="1"
Width="200"
Value="{Binding GridFontScaleFactor, Mode=TwoWay}"
VerticalAlignment="Center"
Minimum="-100"
Maximum="100"
IsSnapToTickEnabled="False"
TickFrequency="25"
TickPlacement="BottomRight">
</Slider>
<Button
Grid.Column="2"
Grid.Row="1"
HorizontalAlignment="Right"
Margin="0,5"
Padding="20,0"
VerticalAlignment="Stretch"
Content="Apply Display Settings"
Command="{Binding ApplyDisplaySettings}"/>
</Grid>
</controls:GroupBox>
<Grid
Grid.Row="4"
ColumnDefinitions="Auto,Auto,*"
Margin="10"
VerticalAlignment="Bottom">
<TextBlock
Grid.Column="0"
FontSize="16"
Margin="0,0,15,0"
VerticalAlignment="Center"
Text="Theme:"/>
<controls:WheelComboBox
Name="ThemeComboBox"
Grid.Column="1"
MinWidth="80"
SelectedItem="{Binding ThemeVariant, Mode=TwoWay}"
ItemsSource="{Binding Themes}"/>
<Button
Grid.Column="2"
HorizontalAlignment="Right"
Padding="20,0"
VerticalAlignment="Stretch"
Content="Edit Theme Colors"
Click="EditThemeColors_Click"/>
</Grid>
</Grid>
</UserControl>