Skip to content

Commit 3b97d5d

Browse files
committed
review comments
1 parent fb44d16 commit 3b97d5d

8 files changed

Lines changed: 60 additions & 37 deletions

File tree

src/LogExpert/Classes/Filter/FilterStarter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ private Filter DoWork(FilterParams filterParams, int startLine, int maxCount, Pr
149149
_logger.Info("Started Filter worker [{0}] for line {1}", Environment.CurrentManagedThreadId, startLine);
150150

151151
// Give every thread own copies of ColumnizerCallback and FilterParams, because the state of the objects changes while filtering
152-
FilterParams threadFilterParams = filterParams.CopyCurrentColumnizer();
152+
FilterParams threadFilterParams = filterParams.CloneWithCurrentColumnizer();
153153
ColumnizerCallback threadColumnizerCallback = _callback.CreateCopy();
154154

155155
Filter filter = new(threadColumnizerCallback);

src/LogExpert/Classes/RangeFinder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class RangeFinder(FilterParams filterParams, ColumnizerCallback callback)
1515
#region Fields
1616

1717
private static readonly ILogger _logger = LogManager.GetCurrentClassLogger();
18-
private readonly FilterParams _filterParams = filterParams.CopyCurrentColumnizer();
18+
private readonly FilterParams _filterParams = filterParams.CloneWithCurrentColumnizer();
1919

2020
#endregion
2121

@@ -44,7 +44,7 @@ public Range FindRange(int startLine)
4444
bool foundStartLine = false;
4545

4646
Range range = new();
47-
FilterParams tmpParam = _filterParams.CopyCurrentColumnizer();
47+
FilterParams tmpParam = _filterParams.CloneWithCurrentColumnizer();
4848

4949
tmpParam.SearchText = _filterParams.RangeSearchText;
5050

src/LogExpert/Controls/LogWindow/LogWindowEventHandlers.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1343,7 +1343,7 @@ private void OnToggleHighlightPanelButtonClick(object sender, EventArgs e)
13431343

13441344
private void OnSaveFilterButtonClick(object sender, EventArgs e)
13451345
{
1346-
FilterParams newParams = _filterParams.MemberwiseCopy();
1346+
FilterParams newParams = _filterParams.Clone();
13471347
newParams.Color = Color.FromKnownColor(KnownColor.Black);
13481348
ConfigManager.Settings.filterList.Add(newParams);
13491349
OnFilterListChanged(this);
@@ -1402,7 +1402,7 @@ private void OnFilterListBoxMouseDoubleClick(object sender, MouseEventArgs e)
14021402
if (filterListBox.SelectedIndex >= 0)
14031403
{
14041404
FilterParams filterParams = (FilterParams)filterListBox.Items[filterListBox.SelectedIndex];
1405-
FilterParams newParams = filterParams.MemberwiseCopy();
1405+
FilterParams newParams = filterParams.Clone();
14061406
//newParams.historyList = ConfigManager.Settings.filterHistoryList;
14071407
this._filterParams = newParams;
14081408
ReInitFilterParams(this._filterParams);

src/LogExpert/Controls/LogWindow/LogWindowPrivate.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,14 @@ private void RestoreFilterTabs(PersistenceData persistenceData)
291291
{
292292
foreach (FilterTabData data in persistenceData.filterTabDataList)
293293
{
294-
FilterParams persistFilterParams = data.filterParams;
294+
FilterParams persistFilterParams = data.FilterParams;
295295
ReInitFilterParams(persistFilterParams);
296296
List<int> filterResultList = [];
297297
//List<int> lastFilterResultList = new List<int>();
298298
List<int> filterHitList = [];
299299
Filter(persistFilterParams, filterResultList, _lastFilterLinesList, filterHitList);
300-
FilterPipe pipe = new(persistFilterParams.MemberwiseCopy(), this);
301-
WritePipeToTab(pipe, filterResultList, data.persistenceData.tabName, data.persistenceData);
300+
FilterPipe pipe = new(persistFilterParams.Clone(), this);
301+
WritePipeToTab(pipe, filterResultList, data.PersistenceData.tabName, data.PersistenceData);
302302
}
303303
}
304304

@@ -2680,7 +2680,7 @@ private void FilterToTab()
26802680

26812681
private void WriteFilterToTab()
26822682
{
2683-
FilterPipe pipe = new(_filterParams.MemberwiseCopy(), this);
2683+
FilterPipe pipe = new(_filterParams.Clone(), this);
26842684
lock (_filterResultList)
26852685
{
26862686
string namePrefix = "->F";

src/LogExpert/Controls/LogWindow/LogWindowsPublic.cs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -246,9 +246,11 @@ public PersistenceData GetPersistenceData()
246246

247247
foreach (FilterPipe filterPipe in _filterPipeList)
248248
{
249-
FilterTabData data = new();
250-
data.persistenceData = filterPipe.OwnLogWindow.GetPersistenceData();
251-
data.filterParams = filterPipe.FilterParams;
249+
FilterTabData data = new()
250+
{
251+
PersistenceData = filterPipe.OwnLogWindow.GetPersistenceData(),
252+
FilterParams = filterPipe.FilterParams
253+
};
252254
persistenceData.filterTabDataList.Add(data);
253255
}
254256
}
@@ -486,9 +488,11 @@ public void CellPainting(BufferedDataGridView gridView, int rowIndex, DataGridVi
486488

487489
if (bookmark.Text.Length > 0)
488490
{
489-
StringFormat format = new();
490-
format.LineAlignment = StringAlignment.Center;
491-
format.Alignment = StringAlignment.Center;
491+
StringFormat format = new()
492+
{
493+
LineAlignment = StringAlignment.Center,
494+
Alignment = StringAlignment.Center
495+
};
492496
Brush brush2 = new SolidBrush(Color.FromArgb(255, 190, 100, 0));
493497
Font font = new("Courier New", Preferences.fontSize, FontStyle.Bold);
494498
e.Graphics.DrawString("i", font, brush2, new RectangleF(r.Left, r.Top, r.Width, r.Height),
@@ -1190,8 +1194,10 @@ public void CopyMarkedLinesToTab()
11901194
lineNumList.Sort();
11911195
// create dummy FilterPipe for connecting line numbers to original window
11921196
// setting IsStopped to true prevents further filter processing
1193-
FilterPipe pipe = new FilterPipe(new FilterParams(), this);
1194-
pipe.IsStopped = true;
1197+
FilterPipe pipe = new FilterPipe(new FilterParams(), this)
1198+
{
1199+
IsStopped = true
1200+
};
11951201
WritePipeToTab(pipe, lineNumList, Text + "->C", null);
11961202
}
11971203
else
@@ -1235,9 +1241,11 @@ public void Reload()
12351241
{
12361242
SavePersistenceData(false);
12371243

1238-
_reloadMemento = new ReloadMemento();
1239-
_reloadMemento.CurrentLine = dataGridView.CurrentCellAddress.Y;
1240-
_reloadMemento.FirstDisplayedLine = dataGridView.FirstDisplayedScrollingRowIndex;
1244+
_reloadMemento = new ReloadMemento
1245+
{
1246+
CurrentLine = dataGridView.CurrentCellAddress.Y,
1247+
FirstDisplayedLine = dataGridView.FirstDisplayedScrollingRowIndex
1248+
};
12411249
_forcedColumnizerForLoading = CurrentColumnizer;
12421250

12431251
if (_fileNames == null || !IsMultiFile)

src/Logexpert.Core/Classes/Filter/FilterParams.cs

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace LogExpert.Core.Classes.Filter
66
{
77
[Serializable]
8-
public class FilterParams
8+
public class FilterParams : ICloneable
99
{
1010
#region Fields
1111

@@ -105,9 +105,13 @@ public string RangeSearchText
105105

106106
#region Public methods
107107

108-
public FilterParams CopyCurrentColumnizer()
108+
/// <summary>
109+
/// Returns a new FilterParams object with the current columnizer set to the one used in this object.
110+
/// </summary>
111+
/// <returns></returns>
112+
public FilterParams CloneWithCurrentColumnizer()
109113
{
110-
FilterParams newParams = MemberwiseCopy();
114+
FilterParams newParams = Clone();
111115
newParams.Init();
112116
// removed cloning of columnizer for filtering, because this causes issues with columnizers that hold internal states (like CsvColumnizer)
113117
// newParams.currentColumnizer = Util.CloneColumnizer(this.currentColumnizer);
@@ -147,11 +151,20 @@ public void CreateRegex()
147151
/// Shallow Copy
148152
/// </summary>
149153
/// <returns></returns>
150-
public FilterParams MemberwiseCopy()
154+
public FilterParams Clone()
151155
{
152156
return (FilterParams)MemberwiseClone();
153157
}
154158

159+
/// <summary>
160+
/// Shallow Copy
161+
/// </summary>
162+
/// <returns></returns>
163+
object ICloneable.Clone()
164+
{
165+
return Clone();
166+
}
167+
155168
#endregion
156169
}
157170
}

src/Logexpert.Core/Classes/Persister/FilterTabData.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ namespace LogExpert.Core.Classes.Persister
44
{
55
public class FilterTabData
66
{
7-
#region Fields
7+
public FilterParams FilterParams { get; set; } = new();
88

9-
public FilterParams filterParams;
10-
public PersistenceData persistenceData;
11-
12-
#endregion
9+
public PersistenceData PersistenceData { get; set; } = new();
1310
}
1411
}

src/Logexpert.Core/Classes/Persister/Persister.cs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class PersistenceData
4747
#endregion
4848
}
4949

50+
//TODO Rewrite as json Persister, xml is outdated and difficult to parse and write
5051
public class Persister
5152
{
5253
#region Fields
@@ -245,7 +246,7 @@ private static void WriteFilterTabs(XmlDocument xmlDoc, XmlElement rootElement,
245246
rootElement.AppendChild(filterTabsElement);
246247
foreach (FilterTabData data in dataList)
247248
{
248-
PersistenceData persistenceData = data.persistenceData;
249+
PersistenceData persistenceData = data.PersistenceData;
249250
XmlElement filterTabElement = xmlDoc.CreateElement("filterTab");
250251
filterTabsElement.AppendChild(filterTabElement);
251252
WriteBookmarks(xmlDoc, filterTabElement, persistenceData.bookmarkList);
@@ -255,7 +256,7 @@ private static void WriteFilterTabs(XmlDocument xmlDoc, XmlElement rootElement,
255256
WriteFilterTabs(xmlDoc, filterTabElement, persistenceData.filterTabDataList);
256257
XmlElement filterElement = xmlDoc.CreateElement("tabFilter");
257258
filterTabElement.AppendChild(filterElement);
258-
List<FilterParams> filterList = [data.filterParams];
259+
List<FilterParams> filterList = [data.FilterParams];
259260
WriteFilter(xmlDoc, filterElement, filterList);
260261
}
261262
}
@@ -276,8 +277,8 @@ private static List<FilterTabData> ReadFilterTabs(XmlElement startNode)
276277
{
277278
List<FilterParams> filterList = ReadFilter(filterNode as XmlElement);
278279
FilterTabData data = new();
279-
data.persistenceData = persistenceData;
280-
data.filterParams = filterList[0]; // there's only 1
280+
data.PersistenceData = persistenceData;
281+
data.FilterParams = filterList[0]; // there's only 1
281282
dataList.Add(data);
282283
}
283284
}
@@ -426,6 +427,7 @@ private static Encoding ReadEncoding(XmlElement fileElement)
426427
string posX = null;
427428
string posY = null;
428429
string line = null;
430+
429431
foreach (XmlAttribute attr in node.Attributes)
430432
{
431433
if (attr.Name.Equals("line"))
@@ -454,8 +456,12 @@ private static Encoding ReadEncoding(XmlElement fileElement)
454456
continue;
455457
}
456458
int lineNum = int.Parse(line);
457-
Entities.Bookmark bookmark = new(lineNum);
458-
bookmark.OverlayOffset = new Size(int.Parse(posX), int.Parse(posY));
459+
460+
Entities.Bookmark bookmark = new(lineNum)
461+
{
462+
OverlayOffset = new Size(int.Parse(posX), int.Parse(posY))
463+
};
464+
459465
if (text != null)
460466
{
461467
bookmark.Text = text;
@@ -466,8 +472,7 @@ private static Encoding ReadEncoding(XmlElement fileElement)
466472
return bookmarkList;
467473
}
468474

469-
private static void WriteRowHeightList(XmlDocument xmlDoc, XmlElement rootElement,
470-
SortedList<int, RowHeightEntry> rowHeightList)
475+
private static void WriteRowHeightList(XmlDocument xmlDoc, XmlElement rootElement, SortedList<int, RowHeightEntry> rowHeightList)
471476
{
472477
XmlElement rowheightElement = xmlDoc.CreateElement("rowheights");
473478
rootElement.AppendChild(rowheightElement);

0 commit comments

Comments
 (0)