feat: Enhance Avalonia UI with compact styles and improved layout for various views; adjust margins and paddings for a denser interface
This commit is contained in:
parent
e80b427fcc
commit
b29cc95a1e
10 changed files with 156 additions and 111 deletions
|
|
@ -4,6 +4,52 @@
|
|||
<Application.Styles>
|
||||
<FluentTheme />
|
||||
|
||||
<!-- Compact default styles to reduce padding/margins for a denser UI -->
|
||||
<Style Selector="TabItem">
|
||||
<Setter Property="Padding" Value="4,2" />
|
||||
<Setter Property="Margin" Value="0" />
|
||||
</Style>
|
||||
|
||||
<!-- Make tab header title text smaller and remove extra margin -->
|
||||
<Style Selector="TabItem TextBlock">
|
||||
<Setter Property="FontSize" Value="12" />
|
||||
<Setter Property="Margin" Value="0" />
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="TabControl">
|
||||
<Setter Property="Padding" Value="0" />
|
||||
<Setter Property="Margin" Value="0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="TextBox">
|
||||
<Setter Property="Padding" Value="4" />
|
||||
<Setter Property="Margin" Value="4,0,0,0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button">
|
||||
<Setter Property="Padding" Value="6,4" />
|
||||
<Setter Property="Margin" Value="4,0,0,0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox">
|
||||
<Setter Property="Margin" Value="0,2,0,0" />
|
||||
<Setter Property="Padding" Value="2,0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="RadioButton">
|
||||
<Setter Property="Margin" Value="0,2,0,0" />
|
||||
<Setter Property="Padding" Value="2,0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="TextBlock">
|
||||
<Setter Property="Margin" Value="0,6,0,0" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="StackPanel">
|
||||
<Setter Property="Spacing" Value="6" />
|
||||
</Style>
|
||||
|
||||
<StyleInclude Source="avares://IconPacks.Avalonia/Icons.axaml" />
|
||||
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
|
||||
</Application.Styles>
|
||||
|
|
|
|||
|
|
@ -10,17 +10,17 @@
|
|||
|
||||
<Grid RowDefinitions="*,Auto">
|
||||
|
||||
<Grid Grid.Row="0" Margin="10">
|
||||
<Grid Grid.Row="0" Margin="6">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="3*" />
|
||||
<ColumnDefinition Width="0.8*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TabControl Grid.Column="0" Margin="0,0,10,0">
|
||||
<TabControl Grid.Column="0" Margin="0,0,6,0">
|
||||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="CogOutline" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="CogOutline" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Generale" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="FormatLetterCase" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="FormatLetterCase" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Testo" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="CameraFrontVariant" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="CameraFrontVariant" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Foto" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="Image" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="Image" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Miniature" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="ImageFilterCenterFocus" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="ImageFilterCenterFocus" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Logo" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="Robot" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="Robot" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="AI" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="FaceAgent" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="FaceAgent" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Face AI" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
<TabItem>
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<iconPacks:PackIconMaterial Kind="CloudUploadOutline" Width="16" Height="16" Margin="0,0,6,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<iconPacks:PackIconMaterial Kind="CloudUploadOutline" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Race Upload" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
|
@ -99,24 +99,24 @@
|
|||
</TabControl>
|
||||
|
||||
<StackPanel Grid.Column="1">
|
||||
<StackPanel HorizontalAlignment="Right" Margin="0,0,0,12">
|
||||
<StackPanel HorizontalAlignment="Right" Margin="0,0,0,8">
|
||||
<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">
|
||||
<Border BorderBrush="#DDD" BorderThickness="1" Padding="6" MaxWidth="280">
|
||||
<StackPanel>
|
||||
<StackPanel>
|
||||
<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}" />
|
||||
<iconPacks:PackIconMaterial Kind="FolderUploadOutline" Width="14" Height="14" Margin="0,0,4,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}" />
|
||||
<iconPacks:PackIconMaterial Kind="ContentSaveOutline" Width="14" Height="14" Margin="0,0,4,0" Foreground="{DynamicResource ForegroundBrush}" />
|
||||
<TextBlock Text="Salva" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
|
@ -124,20 +124,20 @@
|
|||
Command="{Binding ProcessImagesCommand}"
|
||||
IsEnabled="{Binding UiEnabled}">
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<iconPacks:PackIconMaterial Kind="PlayCircleOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="Green" />
|
||||
<iconPacks:PackIconMaterial Kind="PlayCircleOutline" Width="14" Height="14" Margin="0,0,4,0" Foreground="Green" />
|
||||
<TextBlock Text="Avvia" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button Width="120" Height="36"
|
||||
Command="{Binding AsyncCancelOperationCommand}">
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<iconPacks:PackIconMaterial Kind="StopCircleOutline" Width="14" Height="14" Margin="0,0,6,0" Foreground="Red" />
|
||||
<iconPacks:PackIconMaterial Kind="StopCircleOutline" Width="14" Height="14" Margin="0,0,4,0" Foreground="Red" />
|
||||
<TextBlock Text="Stop" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<Separator Margin="0,12,0,12" />
|
||||
<Separator Margin="0,8,0,8" />
|
||||
|
||||
<TextBlock Text="Stato" FontWeight="Bold" />
|
||||
<TextBlock Text="{Binding ProcessingStatus}" TextWrapping="Wrap" />
|
||||
|
|
|
|||
|
|
@ -3,33 +3,33 @@
|
|||
xmlns:avaloniaDataGrid="clr-namespace:Avalonia.Controls;assembly=Avalonia.Controls.DataGrid"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.AiTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="AI / OCR" FontWeight="Bold" />
|
||||
<CheckBox Content="Estrai numeri dalle immagini" IsChecked="{Binding ExtractNumbers}" Margin="0,8,0,0" />
|
||||
<CheckBox Content="Estrai numeri dalle immagini" IsChecked="{Binding ExtractNumbers}" Margin="0,6,0,0" />
|
||||
|
||||
<TextBlock Text="Modelli" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<Grid Margin="0,6,0,0" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<TextBlock Text="Modelli" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<Grid Margin="0,4,0,0" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<TextBlock Text="Cartella modelli:" VerticalAlignment="Center" Margin="0,0,8,0" Grid.Column="0" />
|
||||
<TextBox Text="{Binding ModelsFolderPath, Mode=TwoWay}" Grid.Column="1" VerticalAlignment="Center" />
|
||||
<Button Width="88" Margin="8,0,0,0" Command="{Binding SelectModelsFolderCommand}"
|
||||
<Button Width="88" Margin="6,0,0,0" Command="{Binding SelectModelsFolderCommand}"
|
||||
Grid.Column="2" Content="Scegli..." />
|
||||
<Button Width="56" Margin="8,0,0,0" Grid.Column="3"
|
||||
<Button Width="56" Margin="6,0,0,0" Grid.Column="3"
|
||||
Click="OpenModelsFolder_Click" Content="Apri" />
|
||||
</Grid>
|
||||
|
||||
<TextBlock Text="Output CSV" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<Grid Margin="0,6,0,0" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<TextBlock Text="Output CSV" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<Grid Margin="0,4,0,0" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<TextBlock Text="Percorso CSV:" VerticalAlignment="Center" Margin="0,0,8,0" Grid.Column="0" />
|
||||
<TextBox Text="{Binding CsvOutputPath, Mode=TwoWay}" Grid.Column="1" VerticalAlignment="Center" />
|
||||
<Button Width="88" Margin="8,0,0,0" Command="{Binding SelectCsvOutputCommand}"
|
||||
<Button Width="88" Margin="6,0,0,0" Command="{Binding SelectCsvOutputCommand}"
|
||||
Grid.Column="2" Content="Scegli..." />
|
||||
<Button Width="56" Margin="8,0,0,0" Grid.Column="3"
|
||||
<Button Width="56" Margin="6,0,0,0" Grid.Column="3"
|
||||
Click="OpenCsvOutputFolder_Click" Content="Apri" />
|
||||
</Grid>
|
||||
|
||||
<TextBlock Text="Anteprima risultati" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<TextBlock Text="Anteprima risultati" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<avaloniaDataGrid:DataGrid ItemsSource="{Binding PreviewResults}" IsReadOnly="True"
|
||||
AutoGenerateColumns="False" Height="200" Margin="0,6,0,0">
|
||||
AutoGenerateColumns="False" Height="200" Margin="0,4,0,0">
|
||||
<avaloniaDataGrid:DataGrid.Columns>
|
||||
<avaloniaDataGrid:DataGridTextColumn Header="Path" Binding="{Binding Path}" Width="*" />
|
||||
<avaloniaDataGrid:DataGridTextColumn Header="Text" Binding="{Binding Text}" Width="2*" />
|
||||
|
|
|
|||
|
|
@ -2,33 +2,33 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.FaceAiTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8" Spacing="8">
|
||||
<StackPanel Margin="4" Spacing="6">
|
||||
<TextBlock Text="Face Recognition Encoder" FontWeight="Bold" />
|
||||
<TextBlock Text="Esegue face_encoder.exe usando la cartella Destinazione corrente come --images."
|
||||
TextWrapping="Wrap" Opacity="0.8" />
|
||||
|
||||
<TextBlock Text="Eseguibile" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="8">
|
||||
<TextBlock Text="Eseguibile" FontWeight="Bold" Margin="0,4,0,0" />
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="6">
|
||||
<TextBlock Grid.Column="0" Text="face_encoder:" VerticalAlignment="Center" />
|
||||
<TextBox Grid.Column="1" Name="FaceExecutablePathTextBox" Text="{Binding FaceExecutablePath, Mode=TwoWay}" Watermark="C:\\tools\\face_encoder.exe" />
|
||||
<Button Grid.Column="2" Name="FaceSelectExecutableButton" Content="Scegli..." Click="SelectFaceExecutable_Click" Width="88" />
|
||||
<Button Grid.Column="3" Name="FaceOpenExecutableButton" Content="Apri" Click="OpenFaceExecutableFolder_Click" Width="56" />
|
||||
<Button Grid.Column="2" Name="FaceSelectExecutableButton" Content="Scegli..." Click="SelectFaceExecutable_Click" Width="88" Margin="6,0,0,0" />
|
||||
<Button Grid.Column="3" Name="FaceOpenExecutableButton" Content="Apri" Click="OpenFaceExecutableFolder_Click" Width="56" Margin="6,0,0,0" />
|
||||
</Grid>
|
||||
|
||||
<TextBlock Text="Output encodings" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="8">
|
||||
<TextBlock Text="Output encodings" FontWeight="Bold" Margin="0,4,0,0" />
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,Auto" ColumnSpacing="6">
|
||||
<TextBlock Grid.Column="0" Text="Cartella out:" VerticalAlignment="Center" />
|
||||
<TextBox Grid.Column="1" Name="FaceOutputFolderTextBox" Text="{Binding FaceOutputFolderPath, Mode=TwoWay}" Watermark="C:\\output\\encodings" />
|
||||
<Button Grid.Column="2" Name="FaceSelectOutputButton" Content="Scegli..." Click="SelectFaceOutputFolder_Click" Width="88" />
|
||||
<Button Grid.Column="3" Name="FaceOpenOutputButton" Content="Apri" Click="OpenFaceOutputFolder_Click" Width="56" />
|
||||
<Button Grid.Column="2" Name="FaceSelectOutputButton" Content="Scegli..." Click="SelectFaceOutputFolder_Click" Width="88" Margin="6,0,0,0" />
|
||||
<Button Grid.Column="3" Name="FaceOpenOutputButton" Content="Apri" Click="OpenFaceOutputFolder_Click" Width="56" Margin="6,0,0,0" />
|
||||
</Grid>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="8" Margin="0,8,0,0">
|
||||
<StackPanel Orientation="Horizontal" Spacing="6" Margin="0,6,0,0">
|
||||
<Button Name="FaceRunButton" Content="Esegui Face Encoder" Click="RunFaceEncoder_Click" />
|
||||
<TextBlock Name="FaceStatusTextBlock" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Output comando" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<TextBlock Text="Output comando" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<TextBox Name="FaceOutputTextBox"
|
||||
IsReadOnly="True"
|
||||
AcceptsReturn="True"
|
||||
|
|
|
|||
|
|
@ -2,57 +2,57 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.GeneralTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="Percorsi" FontWeight="Bold" />
|
||||
<StackPanel Margin="0,6,0,0">
|
||||
<Grid Margin="0,0,0,6" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<StackPanel Margin="0,4,0,0">
|
||||
<Grid Margin="0,0,0,4" ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<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="8,0,0,0" Command="{Binding SelectSourceFolderCommand}" Grid.Column="2" Content="Scegli..." />
|
||||
<Button Width="56" Margin="8,0,0,0" Grid.Column="3" Click="OpenSourceFolder_Click" Content="Apri" />
|
||||
<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" />
|
||||
</Grid>
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,Auto">
|
||||
<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="8,0,0,0" Command="{Binding SelectDestinationFolderCommand}" Grid.Column="2" Content="Scegli..." />
|
||||
<Button Width="56" Margin="8,0,0,0" Grid.Column="3" Click="OpenDestinationFolder_Click" Content="Apri" />
|
||||
<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" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Opzioni" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Margin="0,6,0,0">
|
||||
<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>
|
||||
|
||||
<TextBlock Text="Elaborazione" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<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="8,0,0,0" />
|
||||
<TextBox Text="{Binding ChunkSize, Mode=TwoWay}" Width="60" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Divisione cartelle" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<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="Numerazione" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<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>
|
||||
|
||||
<TextBlock Text="Libreria Immagini" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -2,37 +2,37 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.LogoTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="Logo" FontWeight="Bold" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<Button Command="{Binding SelectLogoFileCommand}" Content="Seleziona logo" />
|
||||
<TextBlock Text="{Binding LogoFile}" Margin="8,0,0,0" VerticalAlignment="Center"
|
||||
Width="250" TextTrimming="CharacterEllipsis" />
|
||||
</StackPanel>
|
||||
<StackPanel Margin="0,8,0,0">
|
||||
<StackPanel Margin="0,6,0,0">
|
||||
<Image Name="LogoPreview" Width="160" Height="160" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBox Text="{Binding LogoWidth}" Width="80" />
|
||||
<TextBox Text="{Binding LogoHeight}" Width="80" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding LogoHeight}" Width="80" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
<CheckBox Content="Aggiungi logo" IsChecked="{Binding AddLogo}" Margin="0,8,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||
<CheckBox Content="Aggiungi logo" IsChecked="{Binding AddLogo}" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBlock Text="Margine:" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding LogoMargin}" Width="80" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding LogoMargin}" Width="80" Margin="6,0,0,0" />
|
||||
<TextBlock Text="Trasparenza:" VerticalAlignment="Center" Margin="12,0,0,0" />
|
||||
<TextBox Text="{Binding LogoTransparency}" Width="60" Margin="8,0,0,0" />
|
||||
<Button Command="{Binding SelectTransparentColorCommand}" Margin="8,0,0,0"
|
||||
<TextBox Text="{Binding LogoTransparency}" Width="60" Margin="6,0,0,0" />
|
||||
<Button Command="{Binding SelectTransparentColorCommand}" Margin="6,0,0,0"
|
||||
Content="Seleziona trasparente" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBlock Text="Posizione:" VerticalAlignment="Center" />
|
||||
<ComboBox ItemsSource="{Binding HorizontalAlignments}"
|
||||
SelectedItem="{Binding LogoHorizontalPosition}"
|
||||
Width="120" Margin="8,0,0,0" />
|
||||
Width="120" Margin="6,0,0,0" />
|
||||
<ComboBox ItemsSource="{Binding VerticalPositions}"
|
||||
SelectedItem="{Binding LogoVerticalPosition}"
|
||||
Width="120" Margin="8,0,0,0" />
|
||||
Width="120" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
|
|
|
|||
|
|
@ -2,25 +2,25 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.PhotoTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="Dimensioni foto grandi" FontWeight="Bold" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBox Text="{Binding PhotoBigWidth}" Width="80" />
|
||||
<TextBox Text="{Binding PhotoBigHeight}" Width="80" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding PhotoBigHeight}" Width="80" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Opzioni foto" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<StackPanel Margin="0,6,0,0">
|
||||
<TextBlock Text="Opzioni foto" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<StackPanel Margin="0,4,0,0">
|
||||
<CheckBox Content="Mantieni dimensioni originali" IsChecked="{Binding KeepOriginalDimensions}" />
|
||||
<CheckBox Content="Rotazione automatica" IsChecked="{Binding AutomaticRotation}" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="JPEG" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBlock Text="JPEG" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBlock Text="Qualita:" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding JpegQuality}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding JpegQuality}" Width="60" Margin="6,0,0,0" />
|
||||
<TextBlock Text="Miniature Qualita:" VerticalAlignment="Center" Margin="12,0,0,0" />
|
||||
<TextBox Text="{Binding JpegQualityThumbnail}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding JpegQualityThumbnail}" Width="60" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.RaceUploadTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8" Spacing="8">
|
||||
<StackPanel Margin="4" Spacing="6">
|
||||
<TextBlock Text="Setup gara e upload foto processate" FontWeight="Bold" />
|
||||
<TextBlock Text="Flusso: login admin, creazione gara, creazione punti foto, upload file processati da cartella destinazione locale, indicizzazione punti foto."
|
||||
TextWrapping="Wrap" Opacity="0.8" />
|
||||
|
||||
<Grid ColumnDefinitions="Auto,*" RowDefinitions="Auto,Auto" ColumnSpacing="8" RowSpacing="8">
|
||||
<Grid ColumnDefinitions="Auto,*" RowDefinitions="Auto,Auto" ColumnSpacing="6" RowSpacing="6">
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Login:" VerticalAlignment="Center" />
|
||||
<TextBox Grid.Row="0" Grid.Column="1" Name="ApiLoginTextBox" Text="{Binding ApiLogin, Mode=TwoWay}" Watermark="admin user" />
|
||||
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
</Grid>
|
||||
|
||||
<TextBlock Text="Dati gara" FontWeight="Bold" Margin="0,4,0,0" />
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,*" RowDefinitions="Auto,Auto,Auto,Auto" ColumnSpacing="8" RowSpacing="8">
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,*" RowDefinitions="Auto,Auto,Auto,Auto" ColumnSpacing="6" RowSpacing="6">
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Descrizione:" VerticalAlignment="Center" />
|
||||
<TextBox Grid.Row="0" Grid.Column="1" Name="ApiRaceDescriptionTextBox" Text="{Binding ApiRaceDescription, Mode=TwoWay}" Watermark="Nome gara" />
|
||||
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
</ComboBox>
|
||||
</Grid>
|
||||
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,*" RowDefinitions="Auto,Auto" ColumnSpacing="8" RowSpacing="8">
|
||||
<Grid ColumnDefinitions="Auto,*,Auto,*" RowDefinitions="Auto,Auto" ColumnSpacing="6" RowSpacing="6">
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Evento Omaggio:" VerticalAlignment="Center" />
|
||||
<ComboBox Grid.Row="0" Grid.Column="1" Name="ApiFreeEventComboBox" SelectedIndex="{Binding ApiFreeEventIndex, Mode=TwoWay}">
|
||||
<ComboBoxItem Content="0 - No" />
|
||||
|
|
@ -65,12 +65,11 @@
|
|||
Watermark="/percorso/remoto/foto-ridotte" />
|
||||
</Grid>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Spacing="8">
|
||||
<StackPanel Orientation="Horizontal" Spacing="6">
|
||||
<Button Name="ApiCreateRaceButton" Content="Crea nuova gara" Click="CreateRace_Click" />
|
||||
<Button Name="ApiUploadButton" Content="Upload foto processate" Click="UploadProcessed_Click" />
|
||||
<TextBlock Name="ApiStatusTextBlock" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Output" FontWeight="Bold" Margin="0,4,0,0" />
|
||||
<TextBox Name="ApiOutputTextBox"
|
||||
IsReadOnly="True"
|
||||
|
|
|
|||
|
|
@ -2,52 +2,52 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.TextTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="Testo Orizzontale" FontWeight="Bold" />
|
||||
<TextBox Text="{Binding HorizontalText, Mode=TwoWay}" />
|
||||
|
||||
<TextBlock Text="Testo Verticale" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<TextBlock Text="Testo Verticale" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<TextBox Text="{Binding VerticalText, Mode=TwoWay}" AcceptsReturn="True"
|
||||
TextWrapping="Wrap" MinHeight="80" />
|
||||
|
||||
<TextBlock Text="Font" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<TextBlock Text="Font" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ComboBox ItemsSource="{Binding AvailableFonts}" SelectedItem="{Binding FontName}" Width="250" />
|
||||
<TextBox Text="{Binding FontSize}" Width="60" Margin="8,0,0,0" />
|
||||
<CheckBox Content="Grassetto" IsChecked="{Binding FontBold}" Margin="8,0,0,0" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding FontSize}" Width="60" Margin="6,0,0,0" />
|
||||
<CheckBox Content="Grassetto" IsChecked="{Binding FontBold}" Margin="6,0,0,0" VerticalAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Colore testo (hex)" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<TextBlock Text="Colore testo (hex)" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBox Text="{Binding TextColorRGB}" Width="120" />
|
||||
<Button Content="Seleziona colore" Command="{Binding SelectColorCommand}" Margin="8,0,0,0" />
|
||||
<Button Content="Seleziona colore" Command="{Binding SelectColorCommand}" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Dimensioni verticale" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<TextBlock Text="Dimensioni verticale" FontWeight="Bold" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="Size:" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding VerticalTextSize}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding VerticalTextSize}" Width="60" Margin="6,0,0,0" />
|
||||
<TextBlock Text="Margin:" VerticalAlignment="Center" Margin="12,0,0,0" />
|
||||
<TextBox Text="{Binding VerticalTextMargin}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding VerticalTextMargin}" Width="60" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBlock Text="Trasparenza testo:" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding TextTransparency}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding TextTransparency}" Width="60" Margin="6,0,0,0" />
|
||||
<TextBlock Text="Margine testo:" VerticalAlignment="Center" Margin="12,0,0,0" />
|
||||
<TextBox Text="{Binding TextMargin}" Width="60" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding TextMargin}" Width="60" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock Text="Tempo Gara" FontWeight="Bold" Margin="0,12,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<TextBlock Text="Tempo Gara" FontWeight="Bold" Margin="0,8,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<CheckBox Content="Aggiungi Orario" IsChecked="{Binding AddTime}" />
|
||||
<CheckBox Content="Aggiungi tempo gara" IsChecked="{Binding AddRaceTime}" Margin="12,0,0,0" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBlock Text="Partenza:" VerticalAlignment="Center" />
|
||||
<CalendarDatePicker SelectedDate="{Binding RaceStartDate}"
|
||||
IsEnabled="{Binding AddRaceTime}"
|
||||
Margin="8,0,0,0" Width="200" />
|
||||
Margin="6,0,0,0" Width="200" />
|
||||
<TextBox Text="{Binding TimeLabel}" Width="220" Margin="12,0,0,0" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
|
|
|||
|
|
@ -2,21 +2,21 @@
|
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
x:Class="ImageCatalog_2.AvaloniaViews.ThumbnailsTabView">
|
||||
<ScrollViewer>
|
||||
<StackPanel Margin="8">
|
||||
<StackPanel Margin="4">
|
||||
<TextBlock Text="Miniature" FontWeight="Bold" />
|
||||
<CheckBox Content="Crea miniature" IsChecked="{Binding CreateThumbnails}" Margin="0,6,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<CheckBox Content="Crea miniature" IsChecked="{Binding CreateThumbnails}" Margin="0,4,0,0" />
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBlock Text="Prefisso:" VerticalAlignment="Center" />
|
||||
<TextBox Text="{Binding ThumbnailPrefix}" Width="120" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding ThumbnailPrefix}" Width="120" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Margin="0,6,0,0">
|
||||
<StackPanel Orientation="Horizontal" Margin="0,4,0,0">
|
||||
<TextBox Text="{Binding ThumbnailWidth}" Width="80" />
|
||||
<TextBox Text="{Binding ThumbnailHeight}" Width="80" Margin="8,0,0,0" />
|
||||
<TextBox Text="{Binding ThumbnailHeight}" Width="80" Margin="6,0,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Margin="0,8,0,0">
|
||||
<StackPanel Margin="0,6,0,0">
|
||||
<TextBlock Text="Modalita miniature:" VerticalAlignment="Center" />
|
||||
<ComboBox SelectedIndex="{Binding ThumbnailOptionIndex, Mode=TwoWay}" Width="220" Margin="0,6,0,0">
|
||||
<ComboBox SelectedIndex="{Binding ThumbnailOptionIndex, Mode=TwoWay}" Width="220" Margin="0,4,0,0">
|
||||
<ComboBoxItem>Nessuna</ComboBoxItem>
|
||||
<ComboBoxItem>Aggiungi scritta</ComboBoxItem>
|
||||
<ComboBoxItem>Nome file</ComboBoxItem>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue