Files
ClassicAssist.Avalonia/ClassicAssist/UI/Views/GeneralControl.xaml
T
Beyhan Oğur d5f52cc3d3 first commit
2026-09-03 04:45:36 +03:00

164 lines
9.5 KiB
XML

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:r="clr-namespace:ClassicAssist.Shared.Resources;assembly=ClassicAssist.Shared"
xmlns:misc="clr-namespace:ClassicAssist.Misc"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:misc1="clr-namespace:ClassicAssist.UI.Misc"
xmlns:viewModels="clr-namespace:ClassicAssist.UI.ViewModels;assembly=ClassicAssist.Shared"
x:Name="userControl"
x:Class="ClassicAssist.UI.Views.GeneralControl"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="500">
<d:DesignerProperties.DesignStyle>
<Style TargetType="UserControl">
<Setter Property="Background" Value="{DynamicResource ThemeBackgroundBrush}" />
</Style>
</d:DesignerProperties.DesignStyle>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Resources/Icons.xaml" />
<ResourceDictionary Source="../../Resources/ResourceDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</ResourceDictionary>
</UserControl.Resources>
<UserControl.DataContext>
<viewModels:GeneralControlViewModel />
</UserControl.DataContext>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="175" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.Column="0" Margin="5" BorderThickness="1" Header="{x:Static r:Strings.Filters}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListBox x:Name="listBox" ItemsSource="{Binding Filters}" Grid.Row="0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Enabled}" />
<TextBlock Text="{Binding Name}" Margin="5,0,5,0" />
<Button Background="Transparent" BorderThickness="0"
ToolTip="{x:Static r:Strings.Options}"
Visibility="{Binding IsConfigurable, Converter={StaticResource BooleanToVisibilityConverter}}"
Command="{Binding DataContext.ConfigureFilterCommand, ElementName=userControl}"
CommandParameter="{Binding Mode=OneWay}" Margin="0" Padding="0">
<Button.Content>
<Image Source="{StaticResource configureIcon}" Height="16" Margin="0" />
</Button.Content>
</Button>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Content="{x:Static r:Strings.Light}" Grid.Column="0" />
<Slider Grid.Column="1" Maximum="31"
Value="{Binding Options.LightLevel, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsDirectionReversed="True" Minimum="0" Height="20" VerticalAlignment="Center" />
</Grid>
</Grid>
</GroupBox>
<Grid Grid.Column="1" Margin="5,15,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<CheckBox Content="{x:Static r:Strings.Always_On_Top}" IsChecked="{Binding Options.AlwaysOnTop}" />
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<misc:BindingProxy x:Key="proxy" Data="{Binding}" />
</StackPanel.Resources>
<CheckBox IsChecked="{Binding Options.ActionDelay}" DataContext="{Binding}">
<CheckBox.ContentTemplate>
<ItemContainerTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{x:Static r:Strings.Action_Delay_}" Margin="0" />
<TextBox Width="40" Margin="10,0,10,0"
Text="{Binding Path=Data.Options.ActionDelayMS, Source={StaticResource proxy}}" />
<Label Content="ms" Margin="0" Padding="0" />
</StackPanel>
</ItemContainerTemplate>
</CheckBox.ContentTemplate>
</CheckBox>
</StackPanel>
</StackPanel>
<Grid Grid.Row="1">
<GroupBox Header="{x:Static r:Strings.Saved_Passwords_}" Margin="5" Padding="5">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<CheckBox Content="{x:Static r:Strings.Enabled}" Grid.Column="0"
IsChecked="{Binding SavePasswords}" />
<ComboBox x:Name="comboBox" Grid.Column="1" Margin="10,0,10,0" SelectedIndex="0"
ItemsSource="{Binding SavedPasswords}" DisplayMemberPath="Key" />
<Button Content="{x:Static r:Strings.Remove}" Grid.Column="2"
Command="{Binding RemoveSavedPasswordCommand}"
CommandParameter="{Binding SelectedItem, ElementName=comboBox}" />
</Grid>
<CheckBox Content="{x:Static r:Strings.Only_overwrite_blank_password}"
IsChecked="{Binding SavePasswordsOnlyBlank}" />
</StackPanel>
</GroupBox>
</Grid>
<Grid Grid.Row="2">
<GroupBox Header="{x:Static r:Strings.Profiles}" Margin="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Margin="5">
<ComboBox ItemsSource="{Binding Profiles}" SelectedItem="{Binding SelectedProfile}">
<i:Interaction.Behaviors>
<misc1:ComboBoxBehavior CommandBinding="{Binding ChangeProfileCommand}"
OnlyUserTriggered="True" />
</i:Interaction.Behaviors>
</ComboBox>
</Grid>
<DockPanel Grid.Column="1" Margin="5">
<Button Content="{x:Static r:Strings.New}" Margin="0,0,10,0" Padding="10,0,10,0"
Command="{Binding NewProfileCommand}" />
<Button Content="{x:Static r:Strings.Save}" Margin="0,0,10,0" Padding="10,0,10,0"
Command="{Binding SaveProfileCommand}" />
<Button Command="{Binding LinkUnlinkProfileCommand}">
<Image Width="16" Margin="3,0,3,0">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsLinkedProfile}" Value="False">
<Setter Property="Source" Value="{StaticResource unlinkedIcon}" />
</DataTrigger>
<DataTrigger Binding="{Binding IsLinkedProfile}" Value="True">
<Setter Property="Source" Value="{StaticResource linkedIcon}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Button>
</DockPanel>
</Grid>
</GroupBox>
</Grid>
</Grid>
</Grid>
</UserControl>