feat: Update Avalonia UI with new tab icons and styles; upgrade AutoMapper and Avalonia packages

This commit is contained in:
MaddoScientisto 2026-03-08 12:09:58 +01:00
commit e80b427fcc
6 changed files with 101 additions and 432 deletions

View file

@ -1,11 +1,12 @@
<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"
xmlns:views="clr-namespace:ImageCatalog_2.AvaloniaViews"
x:Class="ImageCatalog_2.AvaloniaMainWindow"
mc:Ignorable="d"
Title="Image Catalog - Avalonia" Height="540" Width="800">
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:views="clr-namespace:ImageCatalog_2.AvaloniaViews"
xmlns:iconPacks="https://github.com/MahApps/IconPacks.Avalonia"
x:Class="ImageCatalog_2.AvaloniaMainWindow"
mc:Ignorable="d"
Title="Image Catalog - Avalonia" Height="540" Width="800">
<Grid RowDefinitions="*,Auto">
@ -16,54 +17,124 @@
</Grid.ColumnDefinitions>
<TabControl Grid.Column="0" Margin="0,0,10,0">
<TabItem Header="Generale">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="CogOutline" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Generale" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:GeneralTabView />
</TabItem>
<TabItem Header="Testo">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="FormatLetterCase" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Testo" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:TextTabView />
</TabItem>
<TabItem Header="Foto">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="CameraFrontVariant" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Foto" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:PhotoTabView />
</TabItem>
<TabItem Header="Miniature">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Image" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Miniature" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:ThumbnailsTabView />
</TabItem>
<TabItem Header="Logo">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="ImageFilterCenterFocus" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Logo" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:LogoTabView />
</TabItem>
<TabItem Header="AI">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="Robot" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="AI" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:AiTabView />
</TabItem>
<TabItem Header="Face AI">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="FaceAgent" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Face AI" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:FaceAiTabView />
</TabItem>
<TabItem Header="Race Upload">
<TabItem>
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<iconPacks:PackIconMaterial Kind="CloudUploadOutline" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Race Upload" VerticalAlignment="Center" />
</StackPanel>
</TabItem.Header>
<views:RaceUploadTabView />
</TabItem>
</TabControl>
<StackPanel Grid.Column="1">
<StackPanel HorizontalAlignment="Right" Margin="0,0,0,12">
<Button Name="ThemeToggleButton" Width="28" Height="28" Click="ToggleTheme_Click" ToolTip.Tip="Cambia tema"
HorizontalAlignment="Right" Padding="2" Content="🌙" />
<Button Name="ThemeToggleButton" Width="28" Height="28" Click="ToggleTheme_Click" ToolTip.Tip="Cambia tema"
HorizontalAlignment="Right" Padding="2">
<iconPacks:PackIconMaterial Kind="ThemeLightDark" Width="12" Height="12" Foreground="{DynamicResource ForegroundBrush}" />
</Button>
</StackPanel>
<Border BorderBrush="#DDD" BorderThickness="1" Padding="8" MaxWidth="280">
<StackPanel>
<StackPanel>
<Button Width="120" Margin="0,0,0,8" Command="{Binding LoadSettingsCommand}" Content="Carica" />
<Button Width="120" Margin="0,0,0,8" Command="{Binding SaveSettingsCommand}" Content="Salva" />
<Button Width="120" Margin="0,0,0,8" Command="{Binding LoadSettingsCommand}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<iconPacks:PackIconMaterial Kind="FolderUploadOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Carica" />
</StackPanel>
</Button>
<Button Width="120" Margin="0,0,0,8" Command="{Binding SaveSettingsCommand}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<iconPacks:PackIconMaterial Kind="ContentSaveOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
<TextBlock Text="Salva" />
</StackPanel>
</Button>
<Button Width="120" Height="36" Margin="0,6,0,8"
Command="{Binding ProcessImagesCommand}"
IsEnabled="{Binding UiEnabled}" Content="Avvia" />
IsEnabled="{Binding UiEnabled}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<iconPacks:PackIconMaterial Kind="PlayCircleOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="Green" />
<TextBlock Text="Avvia" />
</StackPanel>
</Button>
<Button Width="120" Height="36"
Command="{Binding AsyncCancelOperationCommand}" Content="Stop" />
Command="{Binding AsyncCancelOperationCommand}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<iconPacks:PackIconMaterial Kind="StopCircleOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="Red" />
<TextBlock Text="Stop" />
</StackPanel>
</Button>
</StackPanel>
<Separator Margin="0,12,0,12" />