diff --git a/src/LogExpert/Classes/Columnizer/ColumnizerPicker.cs b/src/LogExpert/Classes/Columnizer/ColumnizerPicker.cs index 40ab9408..4ccc4cc9 100644 --- a/src/LogExpert/Classes/Columnizer/ColumnizerPicker.cs +++ b/src/LogExpert/Classes/Columnizer/ColumnizerPicker.cs @@ -48,7 +48,7 @@ public static ILogLineColumnizer CloneColumnizer(ILogLineColumnizer columnizer) object o = cti.Invoke(new object[] { }); if (o is IColumnizerConfigurator configurator) { - configurator.LoadConfig(ConfigManager.Settings.preferences.PortableMode ? ConfigManager.PortableModeDir : ConfigManager.ConfigDir); + configurator.LoadConfig(ConfigManager.Settings.Preferences.PortableMode ? ConfigManager.PortableModeDir : ConfigManager.ConfigDir); } return (ILogLineColumnizer)o; } diff --git a/src/LogExpert/Classes/Log/LogFileInfo.cs b/src/LogExpert/Classes/Log/LogFileInfo.cs index 882dd6dc..31bd9bc8 100644 --- a/src/LogExpert/Classes/Log/LogFileInfo.cs +++ b/src/LogExpert/Classes/Log/LogFileInfo.cs @@ -102,7 +102,7 @@ public bool FileExists public int PollInterval { - get { return ConfigManager.Settings.preferences.pollingInterval; } + get { return ConfigManager.Settings.Preferences.pollingInterval; } } public long LengthWithoutRetry diff --git a/src/LogExpert/Classes/Log/PositionAwareStreamReaderBase.cs b/src/LogExpert/Classes/Log/PositionAwareStreamReaderBase.cs index e30b5ea9..94e4a88f 100644 --- a/src/LogExpert/Classes/Log/PositionAwareStreamReaderBase.cs +++ b/src/LogExpert/Classes/Log/PositionAwareStreamReaderBase.cs @@ -72,7 +72,7 @@ public sealed override long Position public sealed override bool IsBufferComplete => true; - protected static int MaxLineLen => MAX_LINE_LEN; + protected static int MaxLineLen => ConfigManager.Settings.Preferences.MaxLineLength; #endregion diff --git a/src/LogExpert/Classes/PaintHelper.cs b/src/LogExpert/Classes/PaintHelper.cs index ae921e9e..043f921a 100644 --- a/src/LogExpert/Classes/PaintHelper.cs +++ b/src/LogExpert/Classes/PaintHelper.cs @@ -26,7 +26,7 @@ internal class PaintHelper #region Properties - private static Preferences Preferences => ConfigManager.Settings.preferences; + private static Preferences Preferences => ConfigManager.Settings.Preferences; #endregion diff --git a/src/LogExpert/Classes/PluginRegistry.cs b/src/LogExpert/Classes/PluginRegistry.cs index 966c6779..7854d6d7 100644 --- a/src/LogExpert/Classes/PluginRegistry.cs +++ b/src/LogExpert/Classes/PluginRegistry.cs @@ -2,7 +2,9 @@ using LogExpert.Config; using LogExpert.Entities; using LogExpert.Extensions; + using NLog; + using System; using System.Collections.Generic; using System.IO; diff --git a/src/LogExpert/Config/ColorMode.cs b/src/LogExpert/Config/ColorMode.cs index daff9877..3e203602 100644 --- a/src/LogExpert/Config/ColorMode.cs +++ b/src/LogExpert/Config/ColorMode.cs @@ -39,7 +39,7 @@ public static class ColorMode public static void LoadColorMode() { - var preferences = ConfigManager.Settings.preferences; + var preferences = ConfigManager.Settings.Preferences; if (preferences.darkMode) { diff --git a/src/LogExpert/Config/ConfigManager.cs b/src/LogExpert/Config/ConfigManager.cs index b8b6bafb..96639027 100644 --- a/src/LogExpert/Config/ConfigManager.cs +++ b/src/LogExpert/Config/ConfigManager.cs @@ -166,11 +166,11 @@ private Settings LoadOrCreateNew(FileSystemInfo fileInfo) } } - settings.preferences ??= new Preferences(); + settings.Preferences ??= new Preferences(); - settings.preferences.toolEntries ??= []; + settings.Preferences.toolEntries ??= []; - settings.preferences.columnizerMaskList ??= []; + settings.Preferences.columnizerMaskList ??= []; settings.fileHistoryList ??= []; @@ -178,24 +178,24 @@ private Settings LoadOrCreateNew(FileSystemInfo fileInfo) settings.fileColors ??= []; - if (settings.preferences.showTailColor == Color.Empty) + if (settings.Preferences.showTailColor == Color.Empty) { - settings.preferences.showTailColor = Color.FromKnownColor(KnownColor.Blue); + settings.Preferences.showTailColor = Color.FromKnownColor(KnownColor.Blue); } - if (settings.preferences.timeSpreadColor == Color.Empty) + if (settings.Preferences.timeSpreadColor == Color.Empty) { - settings.preferences.timeSpreadColor = Color.Gray; + settings.Preferences.timeSpreadColor = Color.Gray; } - if (settings.preferences.bufferCount < 10) + if (settings.Preferences.bufferCount < 10) { - settings.preferences.bufferCount = 100; + settings.Preferences.bufferCount = 100; } - if (settings.preferences.linesPerBuffer < 1) + if (settings.Preferences.linesPerBuffer < 1) { - settings.preferences.linesPerBuffer = 500; + settings.Preferences.linesPerBuffer = 500; } settings.filterList ??= []; @@ -224,25 +224,25 @@ private Settings LoadOrCreateNew(FileSystemInfo fileInfo) settings.hilightGroupList.Add(defaultGroup); } - settings.preferences.highlightMaskList ??= []; + settings.Preferences.highlightMaskList ??= []; - if (settings.preferences.pollingInterval < 20) + if (settings.Preferences.pollingInterval < 20) { - settings.preferences.pollingInterval = 250; + settings.Preferences.pollingInterval = 250; } - settings.preferences.multiFileOptions ??= new MultiFileOptions(); + settings.Preferences.multiFileOptions ??= new MultiFileOptions(); - settings.preferences.defaultEncoding ??= Encoding.Default.HeaderName; + settings.Preferences.defaultEncoding ??= Encoding.Default.HeaderName; - if (settings.preferences.maximumFilterEntriesDisplayed == 0) + if (settings.Preferences.maximumFilterEntriesDisplayed == 0) { - settings.preferences.maximumFilterEntriesDisplayed = 20; + settings.Preferences.maximumFilterEntriesDisplayed = 20; } - if (settings.preferences.maximumFilterEntries == 0) + if (settings.Preferences.maximumFilterEntries == 0) { - settings.preferences.maximumFilterEntries = 30; + settings.Preferences.maximumFilterEntries = 30; } SetBoundsWithinVirtualScreen(settings); @@ -265,7 +265,7 @@ private void Save(Settings settings, SettingsFlags flags) _logger.Info("Saving settings"); lock (this) { - string dir = Settings.preferences.PortableMode ? Application.StartupPath : ConfigDir; + string dir = Settings.Preferences.PortableMode ? Application.StartupPath : ConfigDir; if (!Directory.Exists(dir)) { @@ -367,11 +367,11 @@ private Settings Import(Settings currentSettings, FileInfo fileInfo, ExportImpor if ((flags & ExportImportFlags.Other) == ExportImportFlags.Other) { newSettings = ownSettings; - newSettings.preferences = ObjectClone.Clone(importSettings.preferences); - newSettings.preferences.columnizerMaskList = ownSettings.preferences.columnizerMaskList; - newSettings.preferences.highlightMaskList = ownSettings.preferences.highlightMaskList; + newSettings.Preferences = ObjectClone.Clone(importSettings.Preferences); + newSettings.Preferences.columnizerMaskList = ownSettings.Preferences.columnizerMaskList; + newSettings.Preferences.highlightMaskList = ownSettings.Preferences.highlightMaskList; newSettings.hilightGroupList = ownSettings.hilightGroupList; - newSettings.preferences.toolEntries = ownSettings.preferences.toolEntries; + newSettings.Preferences.toolEntries = ownSettings.Preferences.toolEntries; } else { @@ -380,11 +380,11 @@ private Settings Import(Settings currentSettings, FileInfo fileInfo, ExportImpor if ((flags & ExportImportFlags.ColumnizerMasks) == ExportImportFlags.ColumnizerMasks) { - newSettings.preferences.columnizerMaskList = ReplaceOrKeepExisting(flags, ownSettings.preferences.columnizerMaskList, importSettings.preferences.columnizerMaskList); + newSettings.Preferences.columnizerMaskList = ReplaceOrKeepExisting(flags, ownSettings.Preferences.columnizerMaskList, importSettings.Preferences.columnizerMaskList); } if ((flags & ExportImportFlags.HighlightMasks) == ExportImportFlags.HighlightMasks) { - newSettings.preferences.highlightMaskList = ReplaceOrKeepExisting(flags, ownSettings.preferences.highlightMaskList, importSettings.preferences.highlightMaskList); + newSettings.Preferences.highlightMaskList = ReplaceOrKeepExisting(flags, ownSettings.Preferences.highlightMaskList, importSettings.Preferences.highlightMaskList); } if ((flags & ExportImportFlags.HighlightSettings) == ExportImportFlags.HighlightSettings) { @@ -392,7 +392,7 @@ private Settings Import(Settings currentSettings, FileInfo fileInfo, ExportImpor } if ((flags & ExportImportFlags.ToolEntries) == ExportImportFlags.ToolEntries) { - newSettings.preferences.toolEntries = ReplaceOrKeepExisting(flags, ownSettings.preferences.toolEntries, importSettings.preferences.toolEntries); + newSettings.Preferences.toolEntries = ReplaceOrKeepExisting(flags, ownSettings.Preferences.toolEntries, importSettings.Preferences.toolEntries); } return newSettings; diff --git a/src/LogExpert/Config/Settings.cs b/src/LogExpert/Config/Settings.cs index 01a10f8e..d21d88a3 100644 --- a/src/LogExpert/Config/Settings.cs +++ b/src/LogExpert/Config/Settings.cs @@ -45,7 +45,7 @@ public class Settings public List lastOpenFilesList = []; - public Preferences preferences = new(); + public Preferences Preferences { get; set; } = new(); public RegexHistory regexHistory = new(); diff --git a/src/LogExpert/Controls/LogTabWindow/LogTabWindow.cs b/src/LogExpert/Controls/LogTabWindow/LogTabWindow.cs index 3642814f..9cd35f32 100644 --- a/src/LogExpert/Controls/LogTabWindow/LogTabWindow.cs +++ b/src/LogExpert/Controls/LogTabWindow/LogTabWindow.cs @@ -297,7 +297,7 @@ public LogWindow.LogWindow CurrentLogWindow public SearchParams SearchParams { get; private set; } = new SearchParams(); - public Preferences Preferences => ConfigManager.Settings.preferences; + public Preferences Preferences => ConfigManager.Settings.Preferences; public List HilightGroupList { get; private set; } = []; diff --git a/src/LogExpert/Controls/LogTabWindow/LogTabWindowEventHandlers.cs b/src/LogExpert/Controls/LogTabWindow/LogTabWindowEventHandlers.cs index 05683ee3..9b877d46 100644 --- a/src/LogExpert/Controls/LogTabWindow/LogTabWindowEventHandlers.cs +++ b/src/LogExpert/Controls/LogTabWindow/LogTabWindowEventHandlers.cs @@ -44,7 +44,7 @@ private void OnLogTabWindowLoad(object sender, EventArgs e) } } - if (ConfigManager.Settings.preferences.openLastFiles && _startupFileNames == null) + if (ConfigManager.Settings.Preferences.openLastFiles && _startupFileNames == null) { List tmpList = ObjectClone.Clone(ConfigManager.Settings.lastOpenFilesList); @@ -81,7 +81,7 @@ private void OnLogTabWindowClosing(object sender, CancelEventArgs e) _ledThread.Join(); IList deleteLogWindowList = new List(); - ConfigManager.Settings.alwaysOnTop = TopMost && ConfigManager.Settings.preferences.allowOnlyOneInstance; + ConfigManager.Settings.alwaysOnTop = TopMost && ConfigManager.Settings.Preferences.allowOnlyOneInstance; SaveLastOpenFilesList(); foreach (LogWindow.LogWindow logWindow in _logWindowList) @@ -952,7 +952,7 @@ private void OnLockInstanceToolStripMenuItemClick(object sender, EventArgs e) private void OnOptionToolStripMenuItemDropDownOpening(object sender, EventArgs e) { - lockInstanceToolStripMenuItem.Enabled = !ConfigManager.Settings.preferences.allowOnlyOneInstance; + lockInstanceToolStripMenuItem.Enabled = !ConfigManager.Settings.Preferences.allowOnlyOneInstance; lockInstanceToolStripMenuItem.Checked = StaticData.CurrentLockedMainWindow == this; } diff --git a/src/LogExpert/Controls/LogTabWindow/LogTabWindowPrivate.cs b/src/LogExpert/Controls/LogTabWindow/LogTabWindowPrivate.cs index 8434da66..c3cfac92 100644 --- a/src/LogExpert/Controls/LogTabWindow/LogTabWindowPrivate.cs +++ b/src/LogExpert/Controls/LogTabWindow/LogTabWindowPrivate.cs @@ -68,7 +68,7 @@ private void InitBookmarkWindow() _bookmarkWindow = new BookmarkWindow(); _bookmarkWindow.HideOnClose = true; _bookmarkWindow.ShowHint = DockState.DockBottom; - _bookmarkWindow.PreferencesChanged(ConfigManager.Settings.preferences, false, SettingsFlags.All); + _bookmarkWindow.PreferencesChanged(ConfigManager.Settings.Preferences, false, SettingsFlags.All); _bookmarkWindow.VisibleChanged += OnBookmarkWindowVisibleChanged; _firstBookmarkWindowShow = true; } @@ -120,15 +120,15 @@ private void SetTooltipText(LogWindow.LogWindow logWindow, string logFileName) private void FillDefaultEncodingFromSettings(EncodingOptions encodingOptions) { - if (ConfigManager.Settings.preferences.defaultEncoding != null) + if (ConfigManager.Settings.Preferences.defaultEncoding != null) { try { - encodingOptions.DefaultEncoding = Encoding.GetEncoding(ConfigManager.Settings.preferences.defaultEncoding); + encodingOptions.DefaultEncoding = Encoding.GetEncoding(ConfigManager.Settings.Preferences.defaultEncoding); } catch (ArgumentException) { - _logger.Warn("Encoding " + ConfigManager.Settings.preferences.defaultEncoding + " is not a valid encoding"); + _logger.Warn("Encoding " + ConfigManager.Settings.Preferences.defaultEncoding + " is not a valid encoding"); encodingOptions.DefaultEncoding = null; } } @@ -426,7 +426,7 @@ private void LoadFiles(string[] names, bool invertLogic) return; } - MultiFileOption option = ConfigManager.Settings.preferences.multiFileOption; + MultiFileOption option = ConfigManager.Settings.Preferences.multiFileOption; if (option == MultiFileOption.Ask) { MultiLoadRequestDialog dlg = new(); @@ -622,7 +622,7 @@ private void GuiStateUpdateWorker(GuiStateArgs e) cellSelectModeToolStripMenuItem.Checked = e.CellSelectMode; RefreshEncodingMenuBar(e.CurrentEncoding); - if (e.TimeshiftPossible && ConfigManager.Settings.preferences.timestampControl) + if (e.TimeshiftPossible && ConfigManager.Settings.Preferences.timestampControl) { dragControlDateTime.MinDateTime = e.MinTimestamp; dragControlDateTime.MaxDateTime = e.MaxTimestamp; @@ -922,12 +922,12 @@ private void RefreshEncodingMenuBar(Encoding encoding) private void OpenSettings(int tabToOpen) { - SettingsDialog dlg = new(ConfigManager.Settings.preferences, this, tabToOpen); + SettingsDialog dlg = new(ConfigManager.Settings.Preferences, this, tabToOpen); dlg.TopMost = TopMost; if (DialogResult.OK == dlg.ShowDialog()) { - ConfigManager.Settings.preferences = dlg.Preferences; + ConfigManager.Settings.Preferences = dlg.Preferences; ConfigManager.Save(SettingsFlags.Settings); NotifyWindowsForChangedPrefs(SettingsFlags.Settings); } @@ -942,11 +942,11 @@ private void NotifyWindowsForChangedPrefs(SettingsFlags flags) { foreach (LogWindow.LogWindow logWindow in _logWindowList) { - logWindow.PreferencesChanged(ConfigManager.Settings.preferences, false, flags); + logWindow.PreferencesChanged(ConfigManager.Settings.Preferences, false, flags); } } - _bookmarkWindow.PreferencesChanged(ConfigManager.Settings.preferences, false, flags); + _bookmarkWindow.PreferencesChanged(ConfigManager.Settings.Preferences, false, flags); HilightGroupList = ConfigManager.Settings.hilightGroupList; if ((flags & SettingsFlags.HighlightSettings) == SettingsFlags.HighlightSettings) @@ -960,7 +960,7 @@ private void ApplySettings(Settings settings, SettingsFlags flags) if ((flags & SettingsFlags.WindowPosition) == SettingsFlags.WindowPosition) { TopMost = alwaysOnTopToolStripMenuItem.Checked = settings.alwaysOnTop; - dragControlDateTime.DragOrientation = settings.preferences.timestampControlDragOrientation; + dragControlDateTime.DragOrientation = settings.Preferences.timestampControlDragOrientation; hideLineColumnToolStripMenuItem.Checked = settings.hideLineColumn; } @@ -971,7 +971,7 @@ private void ApplySettings(Settings settings, SettingsFlags flags) if ((flags & SettingsFlags.GuiOrColors) == SettingsFlags.GuiOrColors) { - SetTabIcons(settings.preferences); + SetTabIcons(settings.Preferences); } if ((flags & SettingsFlags.ToolSettings) == SettingsFlags.ToolSettings) diff --git a/src/LogExpert/Controls/LogTabWindow/LogTabWindowPublic.cs b/src/LogExpert/Controls/LogTabWindow/LogTabWindowPublic.cs index feac4536..ec5d385a 100644 --- a/src/LogExpert/Controls/LogTabWindow/LogTabWindowPublic.cs +++ b/src/LogExpert/Controls/LogTabWindow/LogTabWindowPublic.cs @@ -233,7 +233,7 @@ public void ScrollAllTabsToTimestamp(DateTime timestamp, LogWindow.LogWindow sen public ILogLineColumnizer FindColumnizerByFileMask(string fileName) { - foreach (ColumnizerMaskEntry entry in ConfigManager.Settings.preferences.columnizerMaskList) + foreach (ColumnizerMaskEntry entry in ConfigManager.Settings.Preferences.columnizerMaskList) { if (entry.mask != null) { @@ -258,7 +258,7 @@ public ILogLineColumnizer FindColumnizerByFileMask(string fileName) public HilightGroup FindHighlightGroupByFileMask(string fileName) { - foreach (HighlightMaskEntry entry in ConfigManager.Settings.preferences.highlightMaskList) + foreach (HighlightMaskEntry entry in ConfigManager.Settings.Preferences.highlightMaskList) { if (entry.mask != null) { diff --git a/src/LogExpert/Controls/LogWindow/LogWindow.cs b/src/LogExpert/Controls/LogWindow/LogWindow.cs index 0d47e5e6..32cc4b4f 100644 --- a/src/LogExpert/Controls/LogWindow/LogWindow.cs +++ b/src/LogExpert/Controls/LogWindow/LogWindow.cs @@ -196,7 +196,7 @@ public LogWindow(LogTabWindow.LogTabWindow parent, string fileName, bool isTempF filterComboBox.Items.Add(item); } - filterComboBox.DropDownHeight = filterComboBox.ItemHeight * ConfigManager.Settings.preferences.maximumFilterEntriesDisplayed; + filterComboBox.DropDownHeight = filterComboBox.ItemHeight * ConfigManager.Settings.Preferences.maximumFilterEntriesDisplayed; AutoResizeFilterBox(); filterRegexCheckBox.Checked = _filterParams.isRegex; @@ -494,7 +494,7 @@ public string Title public string ForcedPersistenceFileName { get; set; } = null; - public Preferences Preferences => ConfigManager.Settings.preferences; + public Preferences Preferences => ConfigManager.Settings.Preferences; public string GivenFileName { get; set; } = null; diff --git a/src/LogExpert/Controls/LogWindow/LogWindowPrivate.cs b/src/LogExpert/Controls/LogWindow/LogWindowPrivate.cs index 1d237040..f04431dc 100644 --- a/src/LogExpert/Controls/LogWindow/LogWindowPrivate.cs +++ b/src/LogExpert/Controls/LogWindow/LogWindowPrivate.cs @@ -1967,7 +1967,7 @@ private async void FilterSearch(string text) _filterParams.lowerSearchText = text.ToLower(); ConfigManager.Settings.filterHistoryList.Remove(text); ConfigManager.Settings.filterHistoryList.Insert(0, text); - int maxHistory = ConfigManager.Settings.preferences.maximumFilterEntries; + int maxHistory = ConfigManager.Settings.Preferences.maximumFilterEntries; if (ConfigManager.Settings.filterHistoryList.Count > maxHistory) { @@ -2042,7 +2042,7 @@ private async void FilterSearch(string text) Settings settings = ConfigManager.Settings; //FilterFx fx = settings.preferences.multiThreadFilter ? MultiThreadedFilter : new FilterFx(Filter); - FilterFxAction = settings.preferences.multiThreadFilter ? MultiThreadedFilter : Filter; + FilterFxAction = settings.Preferences.multiThreadFilter ? MultiThreadedFilter : Filter; //Task.Run(() => fx.Invoke(_filterParams, _filterResultList, _lastFilterLinesList, _filterHitList)); Task filterFxActionTask = Task.Run(() => Filter(_filterParams, _filterResultList, _lastFilterLinesList, _filterHitList)); diff --git a/src/LogExpert/Dialogs/FilterSelectorForm.cs b/src/LogExpert/Dialogs/FilterSelectorForm.cs index 05297708..9410c479 100644 --- a/src/LogExpert/Dialogs/FilterSelectorForm.cs +++ b/src/LogExpert/Dialogs/FilterSelectorForm.cs @@ -84,7 +84,7 @@ private void OnConfigButtonClick(object sender, EventArgs e) { string configDir = ConfigManager.ConfigDir; - if (ConfigManager.Settings.preferences.PortableMode) + if (ConfigManager.Settings.Preferences.PortableMode) { configDir = ConfigManager.PortableModeDir; } diff --git a/src/LogExpert/Dialogs/SettingsDialog.cs b/src/LogExpert/Dialogs/SettingsDialog.cs index 357d9d95..8e1ba2b9 100644 --- a/src/LogExpert/Dialogs/SettingsDialog.cs +++ b/src/LogExpert/Dialogs/SettingsDialog.cs @@ -1022,7 +1022,7 @@ private void OnBtnImportClick(object sender, EventArgs e) } ConfigManager.Import(fileInfo, dlg.ImportFlags); - Preferences = ConfigManager.Settings.preferences; + Preferences = ConfigManager.Settings.Preferences; FillDialog(); MessageBox.Show(this, @"Settings imported", @"LogExpert"); } diff --git a/src/LogExpert/Program.cs b/src/LogExpert/Program.cs index 5713627e..5f7c6abb 100644 --- a/src/LogExpert/Program.cs +++ b/src/LogExpert/Program.cs @@ -150,7 +150,7 @@ private static void Sub_Main(Server server, string[] orgArgs) // another instance already exists WindowsIdentity wi = WindowsIdentity.GetCurrent(); //LogExpertProxy proxy = (LogExpertProxy)Activator.GetObject(typeof(LogExpertProxy), "ipc://LogExpert" + pId + "/LogExpertProxy"); - if (settings.preferences.allowOnlyOneInstance) + if (settings.Preferences.allowOnlyOneInstance) { client.LoadFiles(new Grpc.FileNames { FileNames_ = { args } }); } @@ -176,12 +176,12 @@ private static void Sub_Main(Server server, string[] orgArgs) MessageBox.Show($"Cannot open connection to first instance ({errMsg})", "LogExpert"); } - if (settings.preferences.allowOnlyOneInstance && settings.preferences.ShowErrorMessageAllowOnlyOneInstances) + if (settings.Preferences.allowOnlyOneInstance && settings.Preferences.ShowErrorMessageAllowOnlyOneInstances) { AllowOnlyOneInstanceErrorDialog a = new(); if (a.ShowDialog() == DialogResult.OK) { - settings.preferences.ShowErrorMessageAllowOnlyOneInstances = !a.DoNotShowThisMessageAgain; + settings.Preferences.ShowErrorMessageAllowOnlyOneInstances = !a.DoNotShowThisMessageAgain; ConfigManager.Save(SettingsFlags.All); }