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..9912141b8 100644
--- a/Source/Editor/Options/VisualOptions.cs
+++ b/Source/Editor/Options/VisualOptions.cs
@@ -94,5 +94,33 @@ 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;
+
+ ///
+ /// 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 eaf5b792f..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.
///
@@ -419,9 +426,10 @@ 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;
+ _colorDebugLogText = options.Visual.ColorDebugLogText;
}
///
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;