- Updated MainWindow.axaml to increase height and add new UI elements for SSH upload configuration. - Implemented commands for opening source and destination paths in file explorer. - Added FaceUploadPath and SSH configuration properties to DataModel and AiSettingsViewModel. - Introduced validation for FaceUploadPath format and commands for uploading face encoder output. - Enhanced PickerPreferenceService to manage SSH credentials and upload preferences. - Updated settings persistence to include FaceUploadPath and SSH preferences. - Added tests for FaceUploadPath validation and upload command enabling logic.
107 lines
No EOL
6 KiB
XML
107 lines
No EOL
6 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:iconPacks="https://github.com/MahApps/IconPacks.Avalonia"
|
|
x:Class="CatalogLite.MainWindow"
|
|
x:CompileBindings="False"
|
|
Title="Catalog Lite"
|
|
Width="740"
|
|
Height="560"
|
|
MinWidth="640"
|
|
MinHeight="500">
|
|
<Grid Margin="16" RowDefinitions="Auto,Auto,*,Auto" RowSpacing="12">
|
|
<Grid ColumnDefinitions="150,*,104,72" ColumnSpacing="10">
|
|
<TextBlock Text="Sorgente" VerticalAlignment="Center" FontWeight="SemiBold" />
|
|
<TextBox Grid.Column="1" Text="{Binding SourcePath, Mode=TwoWay}" Watermark="Cartella sorgente" />
|
|
<Button Grid.Column="2" Command="{Binding SelectSourceFolderCommand}" ToolTip.Tip="Seleziona cartella sorgente">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="7">
|
|
<iconPacks:PackIconMaterial Kind="FolderOpenOutline" Width="16" Height="16" />
|
|
<TextBlock Text="Scegli" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button Grid.Column="3" Click="OpenSourcePath_Click" ToolTip.Tip="Apri cartella sorgente in Esplora file">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
|
|
<iconPacks:PackIconMaterial Kind="Folder" Width="16" Height="16" />
|
|
<TextBlock Text="Apri" />
|
|
</StackPanel>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="1" ColumnDefinitions="150,*,104,72" ColumnSpacing="10">
|
|
<TextBlock Text="Destinazione" VerticalAlignment="Center" FontWeight="SemiBold" />
|
|
<TextBox Grid.Column="1" Text="{Binding DestinationPath, Mode=TwoWay}" Watermark="Cartella destinazione" />
|
|
<Button Grid.Column="2" Command="{Binding SelectDestinationFolderCommand}" ToolTip.Tip="Seleziona cartella destinazione">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="7">
|
|
<iconPacks:PackIconMaterial Kind="FolderOpenOutline" Width="16" Height="16" />
|
|
<TextBlock Text="Scegli" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button Grid.Column="3" Click="OpenDestinationPath_Click" ToolTip.Tip="Apri cartella destinazione in Esplora file">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="6">
|
|
<iconPacks:PackIconMaterial Kind="Folder" Width="16" Height="16" />
|
|
<TextBlock Text="Apri" />
|
|
</StackPanel>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Border Grid.Row="2"
|
|
Background="{DynamicResource PanelBackgroundBrush}"
|
|
BorderBrush="{DynamicResource BorderMutedBrush}"
|
|
BorderThickness="1"
|
|
Padding="14">
|
|
<Grid RowDefinitions="Auto,Auto" RowSpacing="10">
|
|
<Grid ColumnDefinitions="150,*" ColumnSpacing="10">
|
|
<TextBlock Text="Testo orizzontale" VerticalAlignment="Center" FontWeight="SemiBold" />
|
|
<TextBox Grid.Column="1"
|
|
Text="{Binding HorizontalText, Mode=TwoWay}"
|
|
Watermark="Testo applicato alle foto orizzontali" />
|
|
</Grid>
|
|
<Grid Grid.Row="1" ColumnDefinitions="150,*" ColumnSpacing="10">
|
|
<TextBlock Text="Testo verticale" VerticalAlignment="Top" Margin="0,8,0,0" FontWeight="SemiBold" />
|
|
<TextBox Grid.Column="1"
|
|
Text="{Binding VerticalText, Mode=TwoWay}"
|
|
AcceptsReturn="True"
|
|
TextWrapping="Wrap"
|
|
MinHeight="96"
|
|
VerticalContentAlignment="Top"
|
|
Watermark="Testo multilinea per foto verticali" />
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<Border Grid.Row="3"
|
|
Background="{DynamicResource PanelBackgroundBrush}"
|
|
BorderBrush="{DynamicResource BorderMutedBrush}"
|
|
BorderThickness="1"
|
|
Padding="14">
|
|
<Grid RowDefinitions="Auto,Auto,Auto,Auto" RowSpacing="8">
|
|
<TextBlock Text="{Binding ProcessingStatus}" TextWrapping="Wrap" />
|
|
<ProgressBar Grid.Row="1"
|
|
Minimum="0"
|
|
Maximum="{Binding ProgressBarMaximum}"
|
|
Value="{Binding ProgressBarValue}" />
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" Spacing="6">
|
|
<TextBlock Text="Elaborate" FontWeight="SemiBold" />
|
|
<TextBlock Text="{Binding ProcessedImagesCount}" />
|
|
<TextBlock Text="/" />
|
|
<TextBlock Text="{Binding TotalImagesCount}" />
|
|
</StackPanel>
|
|
<TextBlock Grid.Row="3" Text="{Binding SpeedCounter}" TextWrapping="Wrap" Opacity="0.78" />
|
|
</Grid>
|
|
</Border>
|
|
|
|
<StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Right" Spacing="10">
|
|
<Button Command="{Binding StartProcessingCommand}" MinWidth="112" ToolTip.Tip="Avvia elaborazione">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="7">
|
|
<iconPacks:PackIconMaterial Kind="PlayCircleOutline" Width="16" Height="16" Foreground="{DynamicResource AccentBrush}" />
|
|
<TextBlock Text="Avvia" />
|
|
</StackPanel>
|
|
</Button>
|
|
<Button Command="{Binding StopProcessingCommand}" MinWidth="112" ToolTip.Tip="Ferma elaborazione">
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="7">
|
|
<iconPacks:PackIconMaterial Kind="StopCircleOutline" Width="16" Height="16" Foreground="#B3261E" />
|
|
<TextBlock Text="Stop" />
|
|
</StackPanel>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Window> |