From 1e9f9c8e82dfa61f8385a3bdfa77d7aeae44ae8d Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Wed, 26 Mar 2025 23:38:54 +0100 Subject: [PATCH 1/2] move log colors to visual settings --- Source/Editor/Options/InterfaceOptions.cs | 23 ----------------------- Source/Editor/Options/VisualOptions.cs | 21 +++++++++++++++++++++ Source/Editor/Windows/DebugLogWindow.cs | 6 +++--- Source/Editor/Windows/OutputLogWindow.cs | 12 ++++++------ 4 files changed, 30 insertions(+), 32 deletions(-) diff --git a/Source/Editor/Options/InterfaceOptions.cs b/Source/Editor/Options/InterfaceOptions.cs index 3b80cd63c..9c0ed17dc 100644 --- a/Source/Editor/Options/InterfaceOptions.cs +++ b/Source/Editor/Options/InterfaceOptions.cs @@ -346,13 +346,6 @@ namespace FlaxEditor.Options } } - /// - /// Gets or sets the output log text color. - /// - [DefaultValue(typeof(Color), "1,1,1,1")] - [EditorDisplay("Output Log", "Text Color"), EditorOrder(430), Tooltip("The output log text color.")] - public Color OutputLogTextColor { get; set; } = Color.White; - /// /// Gets or sets the output log text shadow color. /// @@ -379,22 +372,6 @@ namespace FlaxEditor.Options } } - /// - /// Gets or sets the output log text color for warnings - /// - [DefaultValue(typeof(Color), "1,1,0,1")] - [EditorDisplay("Output Log", "Warning Color"), EditorOrder(446), Tooltip("The output log text color for warnings.")] - public Color OutputLogWarningTextColor { get; set; } = Color.Yellow; - - - /// - /// Gets or sets the output log text color for errors - /// - [DefaultValue(typeof(Color), "1,0,0,1")] - [EditorDisplay("Output Log", "Error Color"), EditorOrder(445), Tooltip("The output log text color for errors.")] - public Color OutputLogErrorTextColor { get; set; } = Color.Red; - - /// /// Gets or sets a value indicating whether auto-focus output log window on code compilation error. /// diff --git a/Source/Editor/Options/VisualOptions.cs b/Source/Editor/Options/VisualOptions.cs index 4f014ae16..e985ae343 100644 --- a/Source/Editor/Options/VisualOptions.cs +++ b/Source/Editor/Options/VisualOptions.cs @@ -94,5 +94,26 @@ namespace FlaxEditor.Options [DefaultValue(true)] [EditorDisplay("Preview"), EditorOrder(1000)] public bool EnableParticlesPreview { get; set; } = true; + + /// + /// Gets or sets the output log text color. + /// + [DefaultValue(typeof(Color), "1,1,1,1")] + [EditorDisplay("Log", "Info Color"), EditorOrder(1500), Tooltip("The color used for info messages in the Debug and Output Log.")] + public Color LogInfoColor { get; set; } = Color.White; + + /// + /// Gets or sets the output log text color for warnings + /// + [DefaultValue(typeof(Color), "1,1,0,1")] + [EditorDisplay("Log", "Warning Color"), EditorOrder(1501), Tooltip("The color used for warnings in the Debug and Output Log.")] + public Color LogWarningColor { get; set; } = Color.Yellow; + + /// + /// Gets or sets the output log text color for errors + /// + [DefaultValue(typeof(Color), "1,0,0,1")] + [EditorDisplay("Log", "Error Color"), EditorOrder(1502), Tooltip("The color used for errors in the Debug and Output Log.")] + public Color LogErrorColor { get; set; } = Color.Red; } } diff --git a/Source/Editor/Windows/DebugLogWindow.cs b/Source/Editor/Windows/DebugLogWindow.cs index eaf5b792f..e33c76a16 100644 --- a/Source/Editor/Windows/DebugLogWindow.cs +++ b/Source/Editor/Windows/DebugLogWindow.cs @@ -419,9 +419,9 @@ namespace FlaxEditor.Windows _groupButtons[0].Checked = options.Interface.DebugLogShowErrorMessages; _groupButtons[1].Checked = options.Interface.DebugLogShowWarningMessages; _groupButtons[2].Checked = options.Interface.DebugLogShowInfoMessages; - _colorInfo = options.Interface.OutputLogTextColor; - _colorWarning = options.Interface.OutputLogWarningTextColor; - _colorError = options.Interface.OutputLogErrorTextColor; + _colorInfo = options.Visual.LogInfoColor; + _colorWarning = options.Visual.LogWarningColor; + _colorError = options.Visual.LogErrorColor; } /// diff --git a/Source/Editor/Windows/OutputLogWindow.cs b/Source/Editor/Windows/OutputLogWindow.cs index fa09a1867..e298796f4 100644 --- a/Source/Editor/Windows/OutputLogWindow.cs +++ b/Source/Editor/Windows/OutputLogWindow.cs @@ -284,26 +284,26 @@ namespace FlaxEditor.Windows if (options.Interface.OutputLogTimestampsFormat == _timestampsFormats && options.Interface.OutputLogShowLogType == _showLogType && _output.DefaultStyle.Font == options.Interface.OutputLogTextFont && - _output.DefaultStyle.Color == options.Interface.OutputLogTextColor && + _output.DefaultStyle.Color == options.Visual.LogInfoColor && _output.DefaultStyle.ShadowColor == options.Interface.OutputLogTextShadowColor && _output.DefaultStyle.ShadowOffset == options.Interface.OutputLogTextShadowOffset && - _output.WarningStyle.Color == options.Interface.OutputLogWarningTextColor && - _output.ErrorStyle.Color == options.Interface.OutputLogErrorTextColor) + _output.WarningStyle.Color == options.Visual.LogWarningColor && + _output.ErrorStyle.Color == options.Visual.LogErrorColor) return; _output.DefaultStyle = new TextBlockStyle { Font = options.Interface.OutputLogTextFont, - Color = options.Interface.OutputLogTextColor, + Color = options.Visual.LogInfoColor, ShadowColor = options.Interface.OutputLogTextShadowColor, ShadowOffset = options.Interface.OutputLogTextShadowOffset, BackgroundSelectedBrush = new SolidColorBrush(Style.Current.BackgroundSelected), }; _output.WarningStyle = _output.DefaultStyle; - _output.WarningStyle.Color = options.Interface.OutputLogWarningTextColor; + _output.WarningStyle.Color = options.Visual.LogWarningColor; _output.ErrorStyle = _output.DefaultStyle; - _output.ErrorStyle.Color = options.Interface.OutputLogErrorTextColor; + _output.ErrorStyle.Color = options.Visual.LogErrorColor; _timestampsFormats = options.Interface.OutputLogTimestampsFormat; _showLogType = options.Interface.OutputLogShowLogType; From 40f2067732639c0ff6f535d688ebc644d21865f9 Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Wed, 26 Mar 2025 23:39:22 +0100 Subject: [PATCH 2/2] improve message readability --- Source/Editor/Options/VisualOptions.cs | 7 +++++++ Source/Editor/Windows/DebugLogWindow.cs | 20 ++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Source/Editor/Options/VisualOptions.cs b/Source/Editor/Options/VisualOptions.cs index e985ae343..9912141b8 100644 --- a/Source/Editor/Options/VisualOptions.cs +++ b/Source/Editor/Options/VisualOptions.cs @@ -115,5 +115,12 @@ namespace FlaxEditor.Options [DefaultValue(typeof(Color), "1,0,0,1")] [EditorDisplay("Log", "Error Color"), EditorOrder(1502), Tooltip("The color used for errors in the Debug and Output Log.")] public Color LogErrorColor { get; set; } = Color.Red; + + /// + /// Gets or sets a value wether the Debug Log entry text color should use the set color. + /// + [DefaultValue(true)] + [EditorDisplay("Log", "Color Debug Log Text"), EditorOrder(1503), Tooltip("Wether to use the set colors in the text of a Debug Log entry.")] + public bool ColorDebugLogText = true; } } diff --git a/Source/Editor/Windows/DebugLogWindow.cs b/Source/Editor/Windows/DebugLogWindow.cs index e33c76a16..b49a98783 100644 --- a/Source/Editor/Windows/DebugLogWindow.cs +++ b/Source/Editor/Windows/DebugLogWindow.cs @@ -125,7 +125,12 @@ namespace FlaxEditor.Windows // Background if (_window._selected == this) - Render2D.FillRectangle(clientRect, IsFocused ? style.BackgroundSelected : style.LightBackground); + { + Render2D.FillRectangle(clientRect, style.LightBackground); + // Small rectangle to signal that entry is selected + Rectangle selectionHighlightRect = clientRect with { Width = 5 }; + Render2D.FillRectangle(selectionHighlightRect, style.BackgroundSelected); + } else if (IsMouseOver) Render2D.FillRectangle(clientRect, style.BackgroundHighlighted); else if (index % 2 == 0) @@ -134,18 +139,19 @@ namespace FlaxEditor.Windows var color = Group == LogGroup.Error ? _window._colorError : (Group == LogGroup.Warning ? _window._colorWarning : _window._colorInfo); // Icon - Render2D.DrawSprite(Icon, new Rectangle(5, 0, 32, 32), color); + Render2D.DrawSprite(Icon, new Rectangle(8, 0, 32, 32), color); // Title - var textRect = new Rectangle(38, 2, clientRect.Width - 40, clientRect.Height - 10); + var textRect = new Rectangle(43, 2, clientRect.Width - 40, clientRect.Height - 10); Render2D.PushClip(ref clientRect); + bool coloredText = _window._colorDebugLogText; if (LogCount == 1) { - Render2D.DrawText(style.FontMedium, Desc.Title, textRect, color); + Render2D.DrawText(style.FontMedium, Desc.Title, textRect, coloredText ? color : style.Foreground); } else if (LogCount > 1) { - Render2D.DrawText(style.FontMedium, $"{Desc.Title} ({LogCount})", textRect, color); + Render2D.DrawText(style.FontMedium, $"{Desc.Title} ({LogCount})", textRect, coloredText ? color : style.Foreground); } Render2D.PopClip(); } @@ -311,7 +317,8 @@ namespace FlaxEditor.Windows private Color _colorInfo; private Color _colorWarning; private Color _colorError; - + private bool _colorDebugLogText; + /// /// Initializes a new instance of the class. /// @@ -422,6 +429,7 @@ namespace FlaxEditor.Windows _colorInfo = options.Visual.LogInfoColor; _colorWarning = options.Visual.LogWarningColor; _colorError = options.Visual.LogErrorColor; + _colorDebugLogText = options.Visual.ColorDebugLogText; } ///