From a661d1dd36cfcd677a3c3ef0bf43f840c5cc8699 Mon Sep 17 00:00:00 2001 From: BRUNER Patrick Date: Mon, 18 May 2026 16:40:05 +0200 Subject: [PATCH 1/2] Font is now used correctly - in all gridviews --- src/LogExpert.Configuration/ConfigManager.cs | 52 +++++++++++++++---- src/LogExpert.Core/Config/Preferences.cs | 8 +++ .../Interfaces/ISharedToolWindow.cs | 4 +- .../ConfigManagerTests/ConfigManagerTest.cs | 6 +-- .../Services/ToolWindowCoordinatorTests.cs | 6 +-- .../Controls/LogWindow/LogWindow.cs | 20 ++++--- .../Controls/LogWindow/PatternWindow.cs | 3 +- src/LogExpert.UI/Dialogs/BookmarkWindow.cs | 7 ++- .../Dialogs/LogTabWindow/LogTabWindow.cs | 6 +-- src/LogExpert.UI/Dialogs/SettingsDialog.cs | 35 ++++++------- .../Interface/ILogPaintContextUI.cs | 2 +- .../Interface/IToolWindowCoordinator.cs | 2 +- .../ToolWindowCoordinator.cs | 10 ++-- 13 files changed, 94 insertions(+), 67 deletions(-) diff --git a/src/LogExpert.Configuration/ConfigManager.cs b/src/LogExpert.Configuration/ConfigManager.cs index 17815577..eb1d8440 100644 --- a/src/LogExpert.Configuration/ConfigManager.cs +++ b/src/LogExpert.Configuration/ConfigManager.cs @@ -1,3 +1,4 @@ +using System.ComponentModel; using System.Drawing; using System.Globalization; using System.Reflection; @@ -259,6 +260,9 @@ public ImportResult Import (FileInfo fileInfo, ExportImportFlags importFlags) // Proceed with import - Use Settings property to ensure _settings is initialized _settings = Instance.Import(Instance.Settings, fileInfo, importFlags); + // Re-apply defaults and materialize runtime-only fields (e.g. Preferences.Font from FontString) + // since the import path bypasses Load/InitializeSettings. + _settings = InitializeSettings(_settings); Save(SettingsFlags.All); _logger.Info("Import completed successfully"); @@ -602,17 +606,7 @@ private static Settings InitializeSettings (Settings settings) settings.FileColors ??= []; - try - { - using var fontFamily = new FontFamily(settings.Preferences.FontName); - settings.Preferences.FontName = fontFamily.Name; - } - catch (ArgumentException) - { - string genericMonospaceFont = FontFamily.GenericMonospace.Name; - _logger.Warn($"Specified font '{settings.Preferences.FontName}' not found. Falling back to default: '{genericMonospaceFont}'."); - settings.Preferences.FontName = genericMonospaceFont; - } + InitializeFont(settings); if (settings.Preferences.ShowTailColor == Color.Empty) { @@ -680,6 +674,42 @@ private static Settings InitializeSettings (Settings settings) return settings; } + /// + /// Materializes the persisted into a live + /// instance is the source of truth in settings.json so + /// that family, size, style and unit round-trip through the FontDialog. + /// + private static void InitializeFont (Settings settings) + { + var converter = TypeDescriptor.GetConverter(typeof(Font)); + var fallbackFamily = FontFamily.GenericMonospace.Name; + + Font font = TryDeserializeFont(converter, settings.Preferences.FontString, "FontString") + ?? new Font(fallbackFamily, 9f); + + settings.Preferences.Font?.Dispose(); + settings.Preferences.Font = font; + settings.Preferences.FontString = converter.ConvertToInvariantString(font); + } + + private static Font? TryDeserializeFont (TypeConverter converter, string? value, string sourceLabel) + { + if (string.IsNullOrWhiteSpace(value)) + { + return null; + } + + try + { + return converter.ConvertFromInvariantString(value) as Font; + } + catch (Exception ex) when (ex is NotSupportedException or ArgumentException or FormatException) + { + _logger.Warn(ex, $"Could not deserialize font from {sourceLabel}='{value}'."); + return null; + } + } + /// /// Saves the Settings to file, fires OnConfigChanged Event so LogTabWindow is updated /// diff --git a/src/LogExpert.Core/Config/Preferences.cs b/src/LogExpert.Core/Config/Preferences.cs index 37881e49..be0c50fe 100644 --- a/src/LogExpert.Core/Config/Preferences.cs +++ b/src/LogExpert.Core/Config/Preferences.cs @@ -158,8 +158,16 @@ public List HilightGroupList public bool FollowTail { get; set; } = true; + [Obsolete("This setting is no longer used and will be removed in a future version. The 'FontString' will be used for Importing / Exporting the Font")] public string FontName { get; set; } = "Courier New"; + public string FontString { get; set; } = "Courier New, 9pt, style=Regular"; + + [System.Text.Json.Serialization.JsonIgnore] + [Newtonsoft.Json.JsonIgnore] + public Font Font { get; set; } + + [Obsolete("This setting is no longer used and will be removed in a future version. The 'FontString' will be used for Importing / Exporting the Font")] public float FontSize { get => field; set => field = MathF.Round(value, 1); } = 9.0f; public List HighlightMaskList { get; set; } = []; diff --git a/src/LogExpert.Core/Interfaces/ISharedToolWindow.cs b/src/LogExpert.Core/Interfaces/ISharedToolWindow.cs index 101b4da5..062cef4e 100644 --- a/src/LogExpert.Core/Interfaces/ISharedToolWindow.cs +++ b/src/LogExpert.Core/Interfaces/ISharedToolWindow.cs @@ -1,3 +1,5 @@ +using System.Drawing; + using ColumnizerLib; using LogExpert.Core.Config; @@ -26,7 +28,7 @@ public interface ISharedToolWindow void SetColumnizer (ILogLineMemoryColumnizer columnizer); - void PreferencesChanged (string fontName, float fontSize, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags); + void PreferencesChanged (Font font, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags); #endregion } \ No newline at end of file diff --git a/src/LogExpert.Tests/ConfigManagerTests/ConfigManagerTest.cs b/src/LogExpert.Tests/ConfigManagerTests/ConfigManagerTest.cs index 275a1fb8..a4fa4cb7 100644 --- a/src/LogExpert.Tests/ConfigManagerTests/ConfigManagerTest.cs +++ b/src/LogExpert.Tests/ConfigManagerTests/ConfigManagerTest.cs @@ -678,12 +678,12 @@ public void Import_WithOtherFlag_ShouldMergePreferences () // Arrange // Set up current settings Settings currentSettings = _configManager.Settings; - currentSettings.Preferences.FontSize = 10; + currentSettings.Preferences.FontString = "Courier New, 9pt, style=Regular"; currentSettings.Preferences.ColumnizerMaskList.Clear(); // Create import settings with different preferences Settings importSettings = CreateTestSettings(); - importSettings.Preferences.FontSize = 12; + importSettings.Preferences.FontString = "Arial, 12pt, style=Bold"; importSettings.Preferences.ShowBubbles = true; string importFilePath = Path.Join(_testDir, "import_other.json"); @@ -698,7 +698,7 @@ public void Import_WithOtherFlag_ShouldMergePreferences () Assert.That(result.Success, Is.True); Settings updatedSettings = _configManager.Settings; - Assert.That(updatedSettings.Preferences.FontSize, Is.EqualTo(12), "Preferences should be merged from import file"); + Assert.That(updatedSettings.Preferences.FontString, Is.EqualTo("Arial, 12pt, style=Bold"), "Preferences should be merged from import file"); } [Test] diff --git a/src/LogExpert.Tests/Services/ToolWindowCoordinatorTests.cs b/src/LogExpert.Tests/Services/ToolWindowCoordinatorTests.cs index 2b18268b..92edd3df 100644 --- a/src/LogExpert.Tests/Services/ToolWindowCoordinatorTests.cs +++ b/src/LogExpert.Tests/Services/ToolWindowCoordinatorTests.cs @@ -136,8 +136,7 @@ public void ApplyPreferences_DoesNotThrow_WhenInitialized () _coordinator.Initialize(); // Act & Assert - Assert.DoesNotThrow(() => - _coordinator.ApplyPreferences("Courier New", 10f, true, 500, SettingsFlags.All)); + Assert.DoesNotThrow(() => _coordinator.ApplyPreferences(new Font("Courier New", 10f), true, 500, SettingsFlags.All)); } [Test] @@ -193,8 +192,7 @@ public void GetDockContent_BeforeInitialize_ReturnsNull () public void ApplyPreferences_BeforeInitialize_DoesNotThrow () { // Act & Assert - Assert.DoesNotThrow(() => - _coordinator.ApplyPreferences("Courier New", 10f, true, 500, SettingsFlags.All)); + Assert.DoesNotThrow(() => _coordinator.ApplyPreferences(new Font("Courier New", 10f), true, 500, SettingsFlags.All)); } [Test] diff --git a/src/LogExpert.UI/Controls/LogWindow/LogWindow.cs b/src/LogExpert.UI/Controls/LogWindow/LogWindow.cs index 241d0211..4b80fb49 100644 --- a/src/LogExpert.UI/Controls/LogWindow/LogWindow.cs +++ b/src/LogExpert.UI/Controls/LogWindow/LogWindow.cs @@ -821,10 +821,8 @@ private void OnLogWindowLoad (object sender, EventArgs e) { var setLastColumnWidth = Preferences.SetLastColumnWidth; var lastColumnWidth = Preferences.LastColumnWidth; - var fontName = Preferences.FontName; - var fontSize = Preferences.FontSize; - PreferencesChanged(fontName, fontSize, setLastColumnWidth, lastColumnWidth, true, SettingsFlags.GuiOrColors); + PreferencesChanged(Preferences.Font, setLastColumnWidth, lastColumnWidth, true, SettingsFlags.GuiOrColors); } [SupportedOSPlatform("windows")] @@ -2948,10 +2946,8 @@ private void LoadingFinished () var setLastColumnWidth = Preferences.SetLastColumnWidth; var lastColumnWidth = Preferences.LastColumnWidth; - var fontName = Preferences.FontName; - var fontSize = Preferences.FontSize; - PreferencesChanged(fontName, fontSize, setLastColumnWidth, lastColumnWidth, true, SettingsFlags.All); + PreferencesChanged(Preferences.Font, setLastColumnWidth, lastColumnWidth, true, SettingsFlags.All); //LoadPersistenceData(); } @@ -5433,7 +5429,7 @@ private void InitPatternWindow () _patternWindow = new PatternWindow(this); _patternWindow.SetColumnizer(CurrentColumnizer); //this.patternWindow.SetBlockList(blockList); - _patternWindow.SetFont(Preferences.FontName, Preferences.FontSize); + _patternWindow.SetFont(Preferences.Font); _patternWindow.Fuzzy = _patternArgs.Fuzzy; _patternWindow.MaxDiff = _patternArgs.MaxDiffInBlock; _patternWindow.MaxMisses = _patternArgs.MaxMisses; @@ -6755,7 +6751,7 @@ public void CellPainting (bool focused, int rowIndex, int columnIndex, bool isFi var stringToDraw = isFilteredGridView ? "!" : "i"; using var brush2 = new SolidBrush(Color.FromArgb(255, 190, 100, 0)); //dark orange - using var font = new Font(fontName, Preferences.FontSize, FontStyle.Bold); + using var font = new Font(fontName, Preferences.Font.Size, FontStyle.Bold); e.Graphics.DrawString(stringToDraw, font, brush2, new RectangleF(rect.Left, rect.Top, rect.Width, rect.Height), _format); } } @@ -7777,13 +7773,15 @@ public void Reload () } } - public void PreferencesChanged (string fontName, float fontSize, bool setLastColumnWidth, int lastColumnWidth, bool isLoadTime, SettingsFlags flags) + public void PreferencesChanged (Font font, bool setLastColumnWidth, int lastColumnWidth, bool isLoadTime, SettingsFlags flags) { if ((flags & SettingsFlags.GuiOrColors) == SettingsFlags.GuiOrColors) { - NormalFont = new Font(new FontFamily(fontName), fontSize); + font ??= Preferences.Font ?? new Font(FontFamily.GenericMonospace, 9f); + + NormalFont = font; BoldFont = new Font(NormalFont, FontStyle.Bold); - MonospacedFont = new Font(FONT_COURIER_NEW, Preferences.FontSize, FontStyle.Bold); + MonospacedFont = new Font(FONT_COURIER_NEW, NormalFont.Size, FontStyle.Bold); var lineSpacing = NormalFont.FontFamily.GetLineSpacing(FontStyle.Regular); var lineSpacingPixel = NormalFont.Size * lineSpacing / NormalFont.FontFamily.GetEmHeight(FontStyle.Regular); diff --git a/src/LogExpert.UI/Controls/LogWindow/PatternWindow.cs b/src/LogExpert.UI/Controls/LogWindow/PatternWindow.cs index c815d7b0..0e10d330 100644 --- a/src/LogExpert.UI/Controls/LogWindow/PatternWindow.cs +++ b/src/LogExpert.UI/Controls/LogWindow/PatternWindow.cs @@ -180,9 +180,8 @@ public void SetColumnizer (ILogLineMemoryColumnizer columnizer) contentDataGridView.Columns.Insert(1, contentInfoColumn); } - public void SetFont (string fontName, float fontSize) + public void SetFont (Font font) { - Font font = new(new FontFamily(fontName), fontSize); //var lineSpacing = font.FontFamily.GetLineSpacing(FontStyle.Regular); //var lineSpacingPixel = font.Size * lineSpacing / font.FontFamily.GetEmHeight(FontStyle.Regular); diff --git a/src/LogExpert.UI/Dialogs/BookmarkWindow.cs b/src/LogExpert.UI/Dialogs/BookmarkWindow.cs index 131e6f98..2dd0c288 100644 --- a/src/LogExpert.UI/Dialogs/BookmarkWindow.cs +++ b/src/LogExpert.UI/Dialogs/BookmarkWindow.cs @@ -195,11 +195,11 @@ public void SetBookmarkData (IBookmarkData bookmarkData) HideIfNeeded(); } - public void PreferencesChanged (string fontName, float fontSize, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags) + public void PreferencesChanged (Font font, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags) { if ((flags & SettingsFlags.GuiOrColors) == SettingsFlags.GuiOrColors) { - SetFont(fontName, fontSize); + SetFont(font); if (bookmarkDataGridView.Columns.Count > 1 && setLastColumnWidth) { bookmarkDataGridView.Columns[bookmarkDataGridView.Columns.Count - 1].MinimumWidth = lastColumnWidth; @@ -269,9 +269,8 @@ protected override void OnPaint (PaintEventArgs e) #region Private Methods - private void SetFont (string fontName, float fontSize) + private void SetFont (Font font) { - Font font = new(new FontFamily(fontName), fontSize); bookmarkDataGridView.DefaultCellStyle.Font = font; bookmarkDataGridView.RowTemplate.Height = font.Height + 4; bookmarkDataGridView.Refresh(); diff --git a/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs b/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs index 0f6199d7..7de7766e 100644 --- a/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs +++ b/src/LogExpert.UI/Dialogs/LogTabWindow/LogTabWindow.cs @@ -1226,15 +1226,13 @@ private void NotifyWindowsForChangedPrefs (SettingsFlags flags) var setLastColumnWidth = ConfigManager.Settings.Preferences.SetLastColumnWidth; var lastColumnWidth = ConfigManager.Settings.Preferences.LastColumnWidth; - var fontName = ConfigManager.Settings.Preferences.FontName; - var fontSize = ConfigManager.Settings.Preferences.FontSize; foreach (var logWindow in _tabController.GetAllWindows()) { - logWindow.PreferencesChanged(fontName, fontSize, setLastColumnWidth, lastColumnWidth, false, flags); + logWindow.PreferencesChanged(ConfigManager.Settings.Preferences.Font, setLastColumnWidth, lastColumnWidth, false, flags); } - _toolWindowCoordinator.ApplyPreferences(fontName, fontSize, setLastColumnWidth, lastColumnWidth, flags); + _toolWindowCoordinator.ApplyPreferences(ConfigManager.Settings.Preferences.Font, setLastColumnWidth, lastColumnWidth, flags); HighlightGroupList = ConfigManager.Settings.Preferences.HighlightGroupList; if ((flags & SettingsFlags.HighlightSettings) == SettingsFlags.HighlightSettings) diff --git a/src/LogExpert.UI/Dialogs/SettingsDialog.cs b/src/LogExpert.UI/Dialogs/SettingsDialog.cs index 54ce91fa..a4de497a 100644 --- a/src/LogExpert.UI/Dialogs/SettingsDialog.cs +++ b/src/LogExpert.UI/Dialogs/SettingsDialog.cs @@ -1,3 +1,4 @@ +using System.ComponentModel; using System.Globalization; using System.Runtime.Versioning; using System.Security; @@ -25,7 +26,7 @@ internal partial class SettingsDialog : Form private readonly Image _emptyImage = new Bitmap(16, 16); private readonly LogTabWindow _logTabWin; - private const string DEFAULT_FONT_NAME = "Courier New"; + private const float DEFAULT_FONT_SIZE = 9.0f; private ILogExpertPluginConfigurator _selectedPlugin; private ToolEntry _selectedTool; @@ -119,16 +120,6 @@ private void FillDialog () { Preferences ??= new Preferences(); - if (Preferences.FontName == null) - { - Preferences.FontName = DEFAULT_FONT_NAME; - } - - if (Math.Abs(Preferences.FontSize) <= 0.1) - { - Preferences.FontSize = 9.0f; - } - FillPortableMode(); checkBoxDarkMode.Checked = Preferences.DarkMode; @@ -266,8 +257,10 @@ private void FillPortableMode () private void DisplayFontName () { - labelFont.Text = $"{Preferences.FontName} {Preferences.FontSize}"; - labelFont.Font = new Font(new FontFamily(Preferences.FontName), Preferences.FontSize); + var font = Preferences.Font ?? new Font(FontFamily.GenericMonospace, DEFAULT_FONT_SIZE); + var style = font.Style == FontStyle.Regular ? string.Empty : $" {font.Style}"; + labelFont.Text = $"{font.Name} {font.Size}{style}"; + labelFont.Font = font; } private void SaveMultifileData () @@ -714,18 +707,24 @@ private void OnSettingsDialogLoad (object sender, EventArgs e) private void OnBtnChangeFontClick (object sender, EventArgs e) { - FontDialog dlg = new() + var currentFont = Preferences.Font ?? new Font(FontFamily.GenericMonospace, DEFAULT_FONT_SIZE); + + using FontDialog dlg = new() { - ShowEffects = false, + ShowEffects = true, AllowVerticalFonts = false, AllowScriptChange = false, - Font = new Font(new FontFamily(Preferences.FontName), Preferences.FontSize) + Font = currentFont }; if (dlg.ShowDialog() == DialogResult.OK) { - Preferences.FontSize = dlg.Font.Size; - Preferences.FontName = dlg.Font.FontFamily.Name; + var converter = TypeDescriptor.GetConverter(typeof(Font)); + var selected = (Font)dlg.Font.Clone(); + + Preferences.Font?.Dispose(); + Preferences.Font = selected; + Preferences.FontString = converter.ConvertToInvariantString(selected); } DisplayFontName(); diff --git a/src/LogExpert.UI/Interface/ILogPaintContextUI.cs b/src/LogExpert.UI/Interface/ILogPaintContextUI.cs index e4edd3c6..5dd0b737 100644 --- a/src/LogExpert.UI/Interface/ILogPaintContextUI.cs +++ b/src/LogExpert.UI/Interface/ILogPaintContextUI.cs @@ -13,7 +13,7 @@ internal interface ILogPaintContextUI : ILogPaintContext { #region Properties - Font MonospacedFont { get; } // Font font = new Font("Courier New", this.Preferences.fontSize, FontStyle.Bold); + Font MonospacedFont { get; } Font NormalFont { get; } diff --git a/src/LogExpert.UI/Interface/IToolWindowCoordinator.cs b/src/LogExpert.UI/Interface/IToolWindowCoordinator.cs index cbfb3911..6e2840db 100644 --- a/src/LogExpert.UI/Interface/IToolWindowCoordinator.cs +++ b/src/LogExpert.UI/Interface/IToolWindowCoordinator.cs @@ -48,7 +48,7 @@ internal interface IToolWindowCoordinator : IDisposable /// /// Forwards preference changes to the BookmarkWindow. /// - void ApplyPreferences (string fontName, float fontSize, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags); + void ApplyPreferences (Font font, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags); /// /// Sets the line column visibility on the BookmarkWindow. diff --git a/src/LogExpert.UI/Services/ToolWindowCoordinatorService/ToolWindowCoordinator.cs b/src/LogExpert.UI/Services/ToolWindowCoordinatorService/ToolWindowCoordinator.cs index 366ece8b..19ec21c1 100644 --- a/src/LogExpert.UI/Services/ToolWindowCoordinatorService/ToolWindowCoordinator.cs +++ b/src/LogExpert.UI/Services/ToolWindowCoordinatorService/ToolWindowCoordinator.cs @@ -9,8 +9,6 @@ using LogExpert.UI.Controls.LogWindow; using LogExpert.UI.Interface; -using NLog; - using WeifenLuo.WinFormsUI.Docking; namespace LogExpert.UI.Services.ToolWindowCoordinatorService; @@ -18,8 +16,6 @@ namespace LogExpert.UI.Services.ToolWindowCoordinatorService; [SupportedOSPlatform("windows")] internal sealed class ToolWindowCoordinator (IConfigManager configManager) : IToolWindowCoordinator { - private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); - private readonly IConfigManager _configManager = configManager; private BookmarkWindow? _bookmarkWindow; @@ -36,7 +32,7 @@ public void Initialize () }; var prefs = _configManager.Settings.Preferences; - _bookmarkWindow.PreferencesChanged(prefs.FontName, prefs.FontSize, prefs.SetLastColumnWidth, prefs.LastColumnWidth, SettingsFlags.All); + _bookmarkWindow.PreferencesChanged(prefs.Font, prefs.SetLastColumnWidth, prefs.LastColumnWidth, SettingsFlags.All); _bookmarkWindow.VisibleChanged += OnBookmarkWindowVisibleChanged; _firstBookmarkWindowShow = true; } @@ -119,9 +115,9 @@ public void ToggleBookmarkVisibility (DockPanel dockPanel) : (IDockContent?)null; } - public void ApplyPreferences (string fontName, float fontSize, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags) + public void ApplyPreferences (Font font, bool setLastColumnWidth, int lastColumnWidth, SettingsFlags flags) { - _bookmarkWindow?.PreferencesChanged(fontName, fontSize, setLastColumnWidth, lastColumnWidth, flags); + _bookmarkWindow?.PreferencesChanged(font, setLastColumnWidth, lastColumnWidth, flags); } public void SetLineColumnVisible (bool visible) From f533c8918b3f4b8f8689bc093143f98534154868 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 18 May 2026 14:44:49 +0000 Subject: [PATCH 2/2] chore: update plugin hashes [skip ci] --- .../PluginHashGenerator.Generated.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/PluginRegistry/PluginHashGenerator.Generated.cs b/src/PluginRegistry/PluginHashGenerator.Generated.cs index 3f760ce3..42a817ce 100644 --- a/src/PluginRegistry/PluginHashGenerator.Generated.cs +++ b/src/PluginRegistry/PluginHashGenerator.Generated.cs @@ -10,7 +10,7 @@ public static partial class PluginValidator { /// /// Gets pre-calculated SHA256 hashes for built-in plugins. - /// Generated: 2026-05-13 13:50:16 UTC + /// Generated: 2026-05-18 14:44:47 UTC /// Configuration: Release /// Plugin count: 22 /// @@ -18,28 +18,28 @@ public static Dictionary GetBuiltInPluginHashes() { return new Dictionary(StringComparer.OrdinalIgnoreCase) { - ["AutoColumnizer.dll"] = "86C5DDC854DC04B343EEA978B476890A5AA9036B244C8FD6D15E1930457B6C03", + ["AutoColumnizer.dll"] = "634CB25EEA09ED577924B42ED442F154A67BB0CF7CE3A94386536E19BB0ABDF2", ["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", ["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", - ["CsvColumnizer.dll"] = "68B8C03EDEAE41ABEEB75944E6439BE681CFCBF3C8CDD4569DAEB650E9E6355D", - ["CsvColumnizer.dll (x86)"] = "68B8C03EDEAE41ABEEB75944E6439BE681CFCBF3C8CDD4569DAEB650E9E6355D", - ["DefaultPlugins.dll"] = "56D060ADC533C7EB0A80652804645B1A81A65391DBCF9DC2CB0505C03743D135", - ["FlashIconHighlighter.dll"] = "4C681084EE3A28519B1B1F57BDFAD2F80A9AD63AE775EAA69890A3724537D6A6", - ["GlassfishColumnizer.dll"] = "B7E2EA2222D24ACADAACB8687F9A27D84149816860F0ECC1B557E80F62662E5A", - ["JsonColumnizer.dll"] = "1375219FEF5A517863E8DFE965A13DEC031E99D8692028A9FF7965EB7A98702D", - ["JsonCompactColumnizer.dll"] = "B8DDC43D83D00E949E2A97CE69391E99CB70B90AEB0A8AF4C6B4D02EB182C10D", - ["Log4jXmlColumnizer.dll"] = "E373B90BD9D1F82E0FBFC235AC65F7782364DFD50DCADB1EA127711E1244FDA5", - ["LogExpert.Core.dll"] = "4C31F7485A2DA6C9C47D6CC7014C30AC04223D30FF6CFCD04300CC10770C4384", - ["LogExpert.Resources.dll"] = "26C4B4BDB26BCB0AC8EEF2C6BA34CA55B34851771C60400B1C83E604030469F5", + ["CsvColumnizer.dll"] = "52D3C61DF91C9EA546AC5DBE5B95492DC9BAFDBCCFBE0531BCAB6E5003FC5EBC", + ["CsvColumnizer.dll (x86)"] = "52D3C61DF91C9EA546AC5DBE5B95492DC9BAFDBCCFBE0531BCAB6E5003FC5EBC", + ["DefaultPlugins.dll"] = "870098D44238FBA24B1DB5D3B288A733F58F02A6827CD2F88A10A47E7F41DB4E", + ["FlashIconHighlighter.dll"] = "23D1DA294C45C964E2A215CD3E9B411BA1527E35512954F97D4972B57F108565", + ["GlassfishColumnizer.dll"] = "DF7A10A0B01FA051CC5D74ED67A3B814F571A068EE26E42B63EB93D0037D6826", + ["JsonColumnizer.dll"] = "8076C312EBDB2CB182CB14186ACCE4F134DBDC5CBDC5AFAF3AB96AB9E1536665", + ["JsonCompactColumnizer.dll"] = "72582949383131764C5D490EFACE50AB5271812339A613A6E9DA4790A5BD7028", + ["Log4jXmlColumnizer.dll"] = "0BCAB71BA2457F6C99EF1CEC23B3C37D98733C4323037B3E8BC6B392499273D1", + ["LogExpert.Core.dll"] = "71D798E476B4BEEAF9DFB75DBE57BDC0E6676F3085EFEACBFC73159E59243109", + ["LogExpert.Resources.dll"] = "EDF8F824CAD03F8B0F25E9119D5E64284465BCA9118B69BFBC901B9EDE5A5845", ["Microsoft.Extensions.DependencyInjection.Abstractions.dll"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93", ["Microsoft.Extensions.DependencyInjection.Abstractions.dll (x86)"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93", ["Microsoft.Extensions.Logging.Abstractions.dll"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D", ["Microsoft.Extensions.Logging.Abstractions.dll (x86)"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D", - ["RegexColumnizer.dll"] = "8082C7CECC1E42D24DEA8A751C43E38226ABD8C336F054556660BF29D2B250D1", - ["SftpFileSystem.dll"] = "14549F4FD15A86ADDD944655EF4FF295FB0449102845DD34F4D9EB1306EC5575", - ["SftpFileSystem.dll (x86)"] = "B76B5F958C0F1DB62D81511D7DBBE28C4398D48D9685B0F5BA124D04F6BCC7AE", - ["SftpFileSystem.Resources.dll"] = "4A3AB35CB7D10B21A4AD203BEF5658394FC4EBC5E6831A53C4C5FCA357C324BA", - ["SftpFileSystem.Resources.dll (x86)"] = "4A3AB35CB7D10B21A4AD203BEF5658394FC4EBC5E6831A53C4C5FCA357C324BA", + ["RegexColumnizer.dll"] = "C7AE8F4872EE00EFC7995558FE00934C2DC666A6BF0700E61BD0D0795AF96E25", + ["SftpFileSystem.dll"] = "E2CEBB24CFAF9CC0282CBDA14FF5AA47DA649198BE52C490E5427D1849ACCA1B", + ["SftpFileSystem.dll (x86)"] = "2CF325C8CB52629A8925005D530FEEC8C67F3933124FC9008AD886F029C3E9C2", + ["SftpFileSystem.Resources.dll"] = "E4B004CAF83C91CFB0B2192E5EAB7269EBAB9910EF1E8FFE9305E26186F28895", + ["SftpFileSystem.Resources.dll (x86)"] = "E4B004CAF83C91CFB0B2192E5EAB7269EBAB9910EF1E8FFE9305E26186F28895", }; }