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 @@ + - - - - + + + + + + + + - - -