From 91695f350c2a695fc252213e2c6eb8f380f78145 Mon Sep 17 00:00:00 2001 From: Alberto Balbo Date: Sun, 7 Sep 2025 01:03:46 +0200 Subject: [PATCH] Aggiornamento interfaccia e gestione lavori video * Aggiornato il titolo e le dimensioni della finestra principale. * Riorganizzata la struttura dell'interfaccia con nuovi controlli. * Implementata la classe `VideoProcessingService` per gestire la coda di elaborazione. * Aggiunta la finestra di configurazione per i lavori selezionati. * Introdotta la classe `StatusColorConverter` per la visualizzazione degli stati. * Modifiche ai file di impostazioni per nuove opzioni di configurazione. * Aggiornamento alla versione 1.0.0.0 --- .../Converters/StatusColorConverter.cs | 33 ++ Ganimede/Ganimede/MainWindow.xaml | 165 +++++- Ganimede/Ganimede/MainWindow.xaml.cs | 540 ++++++++++++------ Ganimede/Ganimede/Models/VideoJob.cs | 129 +++++ .../Ganimede/Properties/Settings.Designer.cs | 36 ++ .../Ganimede/Properties/Settings.settings | 9 + .../Services/VideoProcessingService.cs | 291 ++++++++++ .../Ganimede/Windows/JobConfigWindow.xaml | 88 +++ .../Ganimede/Windows/JobConfigWindow.xaml.cs | 169 ++++++ Ganimede/Ganimede/Windows/SettingsWindow.xaml | 90 +++ .../Ganimede/Windows/SettingsWindow.xaml.cs | 148 +++++ 11 files changed, 1500 insertions(+), 198 deletions(-) create mode 100644 Ganimede/Ganimede/Converters/StatusColorConverter.cs create mode 100644 Ganimede/Ganimede/Models/VideoJob.cs create mode 100644 Ganimede/Ganimede/Services/VideoProcessingService.cs create mode 100644 Ganimede/Ganimede/Windows/JobConfigWindow.xaml create mode 100644 Ganimede/Ganimede/Windows/JobConfigWindow.xaml.cs create mode 100644 Ganimede/Ganimede/Windows/SettingsWindow.xaml create mode 100644 Ganimede/Ganimede/Windows/SettingsWindow.xaml.cs diff --git a/Ganimede/Ganimede/Converters/StatusColorConverter.cs b/Ganimede/Ganimede/Converters/StatusColorConverter.cs new file mode 100644 index 0000000..9099a84 --- /dev/null +++ b/Ganimede/Ganimede/Converters/StatusColorConverter.cs @@ -0,0 +1,33 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using System.Windows.Media; +using Ganimede.Models; + +namespace Ganimede +{ + public class StatusColorConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is JobStatus status) + { + return status switch + { + JobStatus.Pending => new SolidColorBrush(Colors.Orange), + JobStatus.Processing => new SolidColorBrush(Colors.LightBlue), + JobStatus.Completed => new SolidColorBrush(Colors.LightGreen), + JobStatus.Failed => new SolidColorBrush(Colors.Red), + JobStatus.Cancelled => new SolidColorBrush(Colors.Gray), + _ => new SolidColorBrush(Colors.White) + }; + } + return new SolidColorBrush(Colors.White); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/Ganimede/Ganimede/MainWindow.xaml b/Ganimede/Ganimede/MainWindow.xaml index 02e701b..b712776 100644 --- a/Ganimede/Ganimede/MainWindow.xaml +++ b/Ganimede/Ganimede/MainWindow.xaml @@ -5,9 +5,13 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Ganimede" mc:Ignorable="d" - Title="Frame Extractor" Height="600" Width="900" + Title="Ganimede - Frame Extractor" Height="800" Width="1200" Background="#222"> - + + + + + @@ -15,34 +19,145 @@ + - - - - + + + + + + + + - - -