You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
7.3 KiB
147 lines
7.3 KiB
<controls:UserControlBase |
|
x:Class="StabilityMatrix.Avalonia.Views.Settings.InferenceSettingsPage" |
|
xmlns="https://github.com/avaloniaui" |
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
xmlns:controls="clr-namespace:StabilityMatrix.Avalonia.Controls" |
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|
xmlns:fluentIcons="clr-namespace:FluentIcons.FluentAvalonia;assembly=FluentIcons.FluentAvalonia" |
|
xmlns:inference="clr-namespace:StabilityMatrix.Avalonia.Models.Inference" |
|
xmlns:lang="clr-namespace:StabilityMatrix.Avalonia.Languages" |
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|
xmlns:mocks="clr-namespace:StabilityMatrix.Avalonia.DesignData" |
|
xmlns:sg="clr-namespace:SpacedGridControl.Avalonia;assembly=SpacedGridControl.Avalonia" |
|
xmlns:system="clr-namespace:System;assembly=System.Runtime" |
|
xmlns:ui="using:FluentAvalonia.UI.Controls" |
|
xmlns:vm="clr-namespace:StabilityMatrix.Avalonia.ViewModels" |
|
xmlns:vmSettings="clr-namespace:StabilityMatrix.Avalonia.ViewModels.Settings" |
|
d:DataContext="{x:Static mocks:DesignData.InferenceSettingsViewModel}" |
|
d:DesignHeight="650" |
|
d:DesignWidth="900" |
|
x:DataType="vmSettings:InferenceSettingsViewModel" |
|
mc:Ignorable="d"> |
|
|
|
<controls:UserControlBase.Styles> |
|
<Style Selector="sg|SpacedGrid > ui|SettingsExpander"> |
|
<Setter Property="Margin" Value="8,0" /> |
|
</Style> |
|
</controls:UserControlBase.Styles> |
|
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto"> |
|
<StackPanel Margin="8,16" Spacing="8"> |
|
|
|
<!-- Prompt --> |
|
<sg:SpacedGrid RowDefinitions="Auto,*" RowSpacing="4"> |
|
<TextBlock |
|
Margin="0,0,0,4" |
|
FontWeight="Medium" |
|
Text="{x:Static lang:Resources.Label_Prompt}" /> |
|
<!-- Auto Completion --> |
|
<ui:SettingsExpander |
|
Grid.Row="1" |
|
Margin="8,0" |
|
Header="{x:Static lang:Resources.Label_AutoCompletion}"> |
|
|
|
<ui:SettingsExpander.IconSource> |
|
<controls:FASymbolIconSource Symbol="fa-solid fa-wand-magic-sparkles" /> |
|
</ui:SettingsExpander.IconSource> |
|
|
|
<ui:SettingsExpander.Footer> |
|
<ToggleSwitch IsChecked="{Binding IsPromptCompletionEnabled}" /> |
|
</ui:SettingsExpander.Footer> |
|
|
|
<!-- Tag csv selection --> |
|
<ui:SettingsExpanderItem |
|
Content="{x:Static lang:Resources.Label_PromptTags}" |
|
Description="{x:Static lang:Resources.Label_PromptTagsDescription}" |
|
IconSource="Tag" |
|
IsEnabled="{Binding IsPromptCompletionEnabled}"> |
|
<ui:SettingsExpanderItem.Footer> |
|
<ui:FAComboBox ItemsSource="{Binding AvailableTagCompletionCsvs}" SelectedItem="{Binding SelectedTagCompletionCsv}" /> |
|
</ui:SettingsExpanderItem.Footer> |
|
</ui:SettingsExpanderItem> |
|
|
|
<!-- Tag csv import --> |
|
<ui:SettingsExpanderItem |
|
Content="{x:Static lang:Resources.Label_PromptTagsImport}" |
|
IconSource="Add" |
|
IsEnabled="{Binding IsPromptCompletionEnabled}"> |
|
<ui:SettingsExpanderItem.Footer> |
|
<Button Command="{Binding ImportTagCsvCommand}" Content="Import" /> |
|
</ui:SettingsExpanderItem.Footer> |
|
</ui:SettingsExpanderItem> |
|
|
|
<!-- Remove underscores --> |
|
<ui:SettingsExpanderItem |
|
Content="{x:Static lang:Resources.Label_CompletionReplaceUnderscoresWithSpaces}" |
|
IconSource="Underline" |
|
IsEnabled="{Binding IsPromptCompletionEnabled}"> |
|
<ui:SettingsExpanderItem.Footer> |
|
<CheckBox Margin="8" IsChecked="{Binding IsCompletionRemoveUnderscoresEnabled}" /> |
|
</ui:SettingsExpanderItem.Footer> |
|
</ui:SettingsExpanderItem> |
|
</ui:SettingsExpander> |
|
</sg:SpacedGrid> |
|
|
|
<!-- General --> |
|
<sg:SpacedGrid RowDefinitions="Auto,*,*" RowSpacing="4"> |
|
<TextBlock |
|
Margin="0,0,0,4" |
|
FontWeight="Medium" |
|
Text="{x:Static lang:Resources.Label_General}" /> |
|
|
|
<!-- Image Viewer --> |
|
<ui:SettingsExpander |
|
Grid.Row="1" |
|
Header="{x:Static lang:Resources.Label_ImageViewer}" |
|
IconSource="Image" |
|
IsExpanded="True"> |
|
|
|
<!-- Pixel grid --> |
|
<ui:SettingsExpanderItem Content="Show pixel grid at high zoom levels" IconSource="ViewAll"> |
|
<ui:SettingsExpanderItem.Footer> |
|
<CheckBox Margin="8" IsChecked="{Binding IsImageViewerPixelGridEnabled}" /> |
|
</ui:SettingsExpanderItem.Footer> |
|
</ui:SettingsExpanderItem> |
|
</ui:SettingsExpander> |
|
|
|
<!-- Output Image Files --> |
|
<ui:SettingsExpander |
|
Grid.Row="2" |
|
Header="{x:Static lang:Resources.Label_OutputImageFiles}" |
|
IsExpanded="True"> |
|
<ui:SettingsExpander.IconSource> |
|
<fluentIcons:SymbolIconSource Symbol="TabDesktopImage" /> |
|
</ui:SettingsExpander.IconSource> |
|
<!-- File name pattern --> |
|
<ui:SettingsExpanderItem |
|
Content="File name pattern" |
|
Description="{Binding OutputImageFileNameFormatSample}" |
|
IconSource="Rename"> |
|
<ui:SettingsExpanderItem.Footer> |
|
<TextBox |
|
Name="OutputImageFileNameFormatTextBox" |
|
MinWidth="150" |
|
FontFamily="Cascadia Code,Consolas,Menlo,Monospace" |
|
FontSize="13" |
|
Text="{Binding OutputImageFileNameFormat}" |
|
Watermark="{x:Static inference:FileNameFormat.DefaultTemplate}" /> |
|
</ui:SettingsExpanderItem.Footer> |
|
</ui:SettingsExpanderItem> |
|
</ui:SettingsExpander> |
|
|
|
<ui:TeachingTip |
|
Title="Format Variables" |
|
Grid.Row="2" |
|
IsOpen="{Binding #OutputImageFileNameFormatTextBox.IsFocused}" |
|
PreferredPlacement="Top" |
|
Target="{Binding #OutputImageFileNameFormatTextBox, Mode=OneWay}"> |
|
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding OutputImageFileNameFormatVars}" /> |
|
<!--<mdxaml:MarkdownScrollViewer |
|
Markdown="{Binding OutputImageFileNameFormatGuideMarkdown}"/>--> |
|
</ui:TeachingTip> |
|
|
|
</sg:SpacedGrid> |
|
|
|
</StackPanel> |
|
</ScrollViewer> |
|
</controls:UserControlBase>
|
|
|