feat: Enhance UI with new styles, improved layout, and icon integration across various views

This commit is contained in:
MaddoScientisto 2026-03-12 23:40:41 +01:00
commit 901dc02ca8
6 changed files with 215 additions and 91 deletions

View file

@ -1,61 +1,92 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:iconPacks="https://github.com/MahApps/IconPacks.Avalonia"
x:Class="ImageCatalog_2.AvaloniaViews.GeneralTabView">
<ScrollViewer>
<StackPanel Margin="4">
<StackPanel Margin="4" Spacing="8">
<TextBlock Text="Percorsi" FontWeight="Bold" />
<StackPanel Margin="0,4,0,0">
<Grid Margin="0,0,0,4" ColumnDefinitions="Auto,*,Auto,Auto">
<StackPanel Margin="0,2,0,0" Spacing="6">
<Grid Margin="0,0,0,2" ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="6">
<TextBlock Text="Sorgente:" VerticalAlignment="Center" Margin="0,0,8,0" Grid.Column="0" />
<TextBox Text="{Binding SourcePath, Mode=TwoWay}" Grid.Column="1" VerticalAlignment="Center" />
<Button Width="88" Margin="6,0,0,0" Command="{Binding SelectSourceFolderCommand}" Grid.Column="2" Content="Scegli..." />
<Button Width="56" Margin="6,0,0,0" Grid.Column="3" Click="OpenSourceFolder_Click" Content="Apri" />
<Button Width="104" Command="{Binding SelectSourceFolderCommand}" Grid.Column="2">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
<iconPacks:PackIconMaterial Kind="FolderOpenOutline" Width="14" Height="14" />
<TextBlock Text="Scegli..." />
</StackPanel>
</Button>
<Button Width="72" Grid.Column="3" Click="OpenSourceFolder_Click">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
<iconPacks:PackIconMaterial Kind="Folder" Width="14" Height="14" />
<TextBlock Text="Apri" />
</StackPanel>
</Button>
</Grid>
<Grid ColumnDefinitions="Auto,*,Auto,Auto">
<Grid ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="6">
<TextBlock Text="Destinazione:" VerticalAlignment="Center" Margin="0,0,8,0" Grid.Column="0" />
<TextBox Text="{Binding DestinationPath, Mode=TwoWay}" Grid.Column="1" VerticalAlignment="Center" />
<Button Width="88" Margin="6,0,0,0" Command="{Binding SelectDestinationFolderCommand}" Grid.Column="2" Content="Scegli..." />
<Button Width="56" Margin="6,0,0,0" Grid.Column="3" Click="OpenDestinationFolder_Click" Content="Apri" />
<Button Width="104" Command="{Binding SelectDestinationFolderCommand}" Grid.Column="2">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
<iconPacks:PackIconMaterial Kind="FolderOpenOutline" Width="14" Height="14" />
<TextBlock Text="Scegli..." />
</StackPanel>
</Button>
<Button Width="72" Grid.Column="3" Click="OpenDestinationFolder_Click">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
<iconPacks:PackIconMaterial Kind="Folder" Width="14" Height="14" />
<TextBlock Text="Apri" />
</StackPanel>
</Button>
</Grid>
</StackPanel>
<TextBlock Text="Opzioni" FontWeight="Bold" Margin="0,8,0,0" />
<StackPanel Margin="0,4,0,0">
<CheckBox Content="Forza JPEG" IsChecked="{Binding ForceJpeg}" />
<CheckBox Content="Aggiorna sottodirectory" IsChecked="{Binding UpdateSubdirectories}" />
<CheckBox Content="Crea sottocartelle" IsChecked="{Binding CreateSubfolders}" />
<CheckBox Content="Sovrascrivi immagini" IsChecked="{Binding OverwriteImages}" />
</StackPanel>
<Grid ColumnDefinitions="*,*" ColumnSpacing="24" Margin="0,4,0,0">
<StackPanel Grid.Column="0" Spacing="8">
<TextBlock Text="Opzioni" FontWeight="Bold" />
<StackPanel Margin="0,2,0,0" Spacing="3">
<CheckBox Content="Forza JPEG" IsChecked="{Binding ForceJpeg}" />
<CheckBox Content="Aggiorna sottodirectory" IsChecked="{Binding UpdateSubdirectories}" />
<CheckBox Content="Crea sottocartelle" IsChecked="{Binding CreateSubfolders}" />
<CheckBox Content="Sovrascrivi immagini" IsChecked="{Binding OverwriteImages}" />
</StackPanel>
<TextBlock Text="Elaborazione" FontWeight="Bold" Margin="0,8,0,0" />
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
<TextBlock Text="Threads:" VerticalAlignment="Center" />
<TextBox Text="{Binding ThreadsCount, Mode=TwoWay}" Width="60" Margin="8,0,0,0" />
<TextBlock Text="Chunk:" VerticalAlignment="Center" Margin="12,0,0,0" />
<TextBox Text="{Binding ChunkSize, Mode=TwoWay}" Width="60" Margin="6,0,0,0" />
</StackPanel>
<TextBlock Text="Elaborazione" FontWeight="Bold" />
<Grid ColumnDefinitions="Auto,74,Auto,74" ColumnSpacing="8" RowDefinitions="Auto">
<TextBlock Text="Threads:" VerticalAlignment="Center" Grid.Column="0" />
<TextBox Text="{Binding ThreadsCount, Mode=TwoWay}" Width="74" Grid.Column="1" />
<TextBlock Text="Chunk:" VerticalAlignment="Center" Grid.Column="2" />
<TextBox Text="{Binding ChunkSize, Mode=TwoWay}" Width="74" Grid.Column="3" />
</Grid>
<TextBlock Text="Divisione cartelle" FontWeight="Bold" Margin="0,8,0,0" />
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
<TextBlock Text="File per cartella:" VerticalAlignment="Center" />
<TextBox Text="{Binding FilesPerFolder}" Width="60" Margin="8,0,0,0" />
<TextBlock Text="Suffisso:" VerticalAlignment="Center" Margin="12,0,0,0" />
<TextBox Text="{Binding FolderSuffix}" Width="120" Margin="8,0,0,0" />
</StackPanel>
<TextBlock Text="Libreria Immagini" FontWeight="Bold" />
<StackPanel Margin="0,2,0,0" Spacing="3">
<RadioButton Content="System.Graphics" IsChecked="{Binding UseSystemGraphics}" GroupName="Lib" IsVisible="{Binding IsRunningOnWindows}" />
<RadioButton Content="ImageSharp" IsChecked="{Binding UseImageSharp}" GroupName="Lib" />
</StackPanel>
</StackPanel>
<TextBlock Text="Numerazione" FontWeight="Bold" Margin="0,8,0,0" />
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
<RadioButton Content="Progressiva" IsChecked="{Binding UseProgressiveNumbering}" GroupName="Num" />
<RadioButton Content="Per file" IsChecked="{Binding UseFileNumbering}" GroupName="Num" Margin="8,0,0,0" />
<TextBlock Text="Cifre:" VerticalAlignment="Center" Margin="12,0,0,0" />
<TextBox Text="{Binding CounterDigits}" Width="40" Margin="8,0,0,0" />
</StackPanel>
<StackPanel Grid.Column="1" Spacing="8">
<TextBlock Text="Divisione cartelle" FontWeight="Bold" />
<Grid ColumnDefinitions="Auto,78,Auto,*" ColumnSpacing="8" RowDefinitions="Auto">
<TextBlock Text="File per cartella:" VerticalAlignment="Center" Grid.Column="0" />
<TextBox Text="{Binding FilesPerFolder}" Width="78" Grid.Column="1" />
<TextBlock Text="Suffisso:" VerticalAlignment="Center" Grid.Column="2" />
<TextBox Text="{Binding FolderSuffix}" MinWidth="120" Grid.Column="3" />
</Grid>
<TextBlock Text="Libreria Immagini" FontWeight="Bold" Margin="0,8,0,0" />
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
<RadioButton Content="System.Graphics" IsChecked="{Binding UseSystemGraphics}" GroupName="Lib" IsVisible="{Binding IsRunningOnWindows}" />
<RadioButton Content="ImageSharp" IsChecked="{Binding UseImageSharp}" GroupName="Lib" Margin="8,0,0,0" />
</StackPanel>
<TextBlock Text="Numerazione" FontWeight="Bold" />
<StackPanel Margin="0,2,0,0" Spacing="6">
<StackPanel Orientation="Horizontal" Spacing="12">
<RadioButton Content="Progressiva" IsChecked="{Binding UseProgressiveNumbering}" GroupName="Num" />
<RadioButton Content="Per file" IsChecked="{Binding UseFileNumbering}" GroupName="Num" />
</StackPanel>
<Grid ColumnDefinitions="Auto,64,*" ColumnSpacing="8">
<TextBlock Text="Cifre:" VerticalAlignment="Center" Grid.Column="0" />
<TextBox Text="{Binding CounterDigits}" Width="64" Grid.Column="1" />
</Grid>
</StackPanel>
</StackPanel>
</Grid>
</StackPanel>
</ScrollViewer>
</UserControl>