Skip to content

Commit 1e9faf4

Browse files
committed
fix #1621 fix #1620
1 parent 3f79827 commit 1e9faf4

File tree

6 files changed

+34
-23
lines changed

6 files changed

+34
-23
lines changed

Analogy.CommonControls/Tools/JsonViewerForm.cs

+24-15
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,34 @@
11
using System;
22
using System.Windows.Forms;
3+
using Analogy.Common;
4+
using Analogy.Common.Interfaces;
35
using Analogy.Interfaces;
6+
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
47

58
namespace Analogy.CommonControls.Tools
69
{
710
public partial class JsonViewerForm : DevExpress.XtraEditors.XtraForm
811
{
12+
private IUserSettingsManager Settings { get; }
913
private JsonTreeUC _jsonTreeView;
1014
private AnalogyLogMessage? Message { get; }
1115
private string JsonData { get; set; }
1216
private readonly bool _useRawField;
17+
private static Guid WindowID { get; } = new Guid("1d611a7b-3b85-4df2-8d31-05e0b8a2679d");
1318

14-
public JsonViewerForm()
19+
public JsonViewerForm(IUserSettingsManager settings)
1520
{
21+
Settings = settings;
1622
InitializeComponent();
1723
JsonData = string.Empty;
1824
}
1925

20-
public JsonViewerForm(AnalogyLogMessage message) : this()
26+
public JsonViewerForm(AnalogyLogMessage message, IUserSettingsManager settings) : this(settings)
2127
{
2228
Message = message;
2329
_useRawField = message.RawTextType == AnalogyRowTextType.JSON;
2430
}
25-
public JsonViewerForm(string json) : this()
31+
public JsonViewerForm(string json, IUserSettingsManager settings) : this(settings)
2632
{
2733
JsonData = json;
2834
_useRawField = false;
@@ -34,26 +40,29 @@ private void JsonViewerForm_Load(object sender, EventArgs e)
3440
return;
3541
}
3642

37-
_jsonTreeView = new JsonTreeUC();
38-
splitContainerControl1.Panel1.Controls.Add(_jsonTreeView);
43+
this.FormClosing += (_, _) =>
44+
{
45+
Settings.SetWindowPosition(WindowID, CommonUtils.CreatePosition(this));
46+
};
47+
48+
CommonUtils.RepositionIfNeeded(this, WindowID, Settings);
49+
_jsonTreeView = new JsonTreeUC();
50+
splitContainerControl1.Panel2.Controls.Add(_jsonTreeView);
3951
_jsonTreeView.Dock = DockStyle.Fill;
40-
if (string.IsNullOrEmpty(JsonData) && Message != null)
52+
if (!string.IsNullOrEmpty(JsonData))
53+
{
54+
memoEdit1.Text = JsonData;
55+
_jsonTreeView.ShowJson(JsonData);
56+
}
57+
else if (Message != null)
4158
{
4259
memoEdit1.Text = _useRawField ? Message.RawText : Message.Text;
43-
JsonData =Utils.ExtractJsonObject(_useRawField ? Message.RawText : Message.Text);
60+
JsonData = Utils.ExtractJsonObject(_useRawField ? Message.RawText : Message.Text);
4461
if (!string.IsNullOrEmpty(JsonData))
4562
{
4663
_jsonTreeView.ShowJson(JsonData);
4764
}
48-
return;
4965
}
50-
if (!string.IsNullOrEmpty(JsonData))
51-
{
52-
memoEdit1.Text = JsonData;
53-
_jsonTreeView.ShowJson(JsonData);
54-
}
55-
56-
5766
}
5867

5968
private void sbtnLoad_Click(object sender, EventArgs e)

Analogy.CommonControls/UserControls/LogMessagesUC.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ private void SetupEventsHandlers()
462462
item.Click += (_, __) =>
463463
{
464464
var json = meMessageDetails.SelectedText;
465-
JsonViewerForm j = new JsonViewerForm(json);
465+
JsonViewerForm j = new JsonViewerForm(json, Settings);
466466
j.Show(this);
467467
};
468468
e.Menu.Items.Add(item);
@@ -504,7 +504,7 @@ private void SetupEventsHandlers()
504504

505505
break;
506506
case AnalogyRowTextType.JSON:
507-
var viewer = new JsonViewerForm(m);
507+
var viewer = new JsonViewerForm(m, Settings);
508508
viewer.Show(this);
509509
break;
510510
default:
@@ -562,7 +562,7 @@ private void SetupEventsHandlers()
562562
(AnalogyLogMessage message, _) = GetMessageFromSelectedFocusedRowInGrid();
563563
if (message != null)
564564
{
565-
JsonViewerForm j = new JsonViewerForm(message);
565+
JsonViewerForm j = new JsonViewerForm(message, Settings);
566566
j.Show(this);
567567
}
568568
};

Analogy.CommonControls/UserControls/ServerSideLogMessagesUC.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ private void SetupEventsHandlers()
362362
item.Click += (_, __) =>
363363
{
364364
var json = meMessageDetails.SelectedText;
365-
JsonViewerForm j = new JsonViewerForm(json);
365+
JsonViewerForm j = new JsonViewerForm(json, Settings);
366366
j.Show(this);
367367
};
368368
e.Menu.Items.Add(item);
@@ -404,7 +404,7 @@ private void SetupEventsHandlers()
404404

405405
break;
406406
case AnalogyRowTextType.JSON:
407-
var viewer = new JsonViewerForm(m);
407+
var viewer = new JsonViewerForm(m, Settings);
408408
viewer.Show(this);
409409
break;
410410
default:
@@ -462,7 +462,7 @@ private void SetupEventsHandlers()
462462
(AnalogyLogMessage message, _) = GetMessageFromSelectedFocusedRowInGrid();
463463
if (message != null)
464464
{
465-
JsonViewerForm j = new JsonViewerForm(message);
465+
JsonViewerForm j = new JsonViewerForm(message, Settings);
466466
j.Show(this);
467467
}
468468
};

Analogy/Analogy.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<OutputType>WinExe</OutputType>
66
<NeutralLanguage>en-US</NeutralLanguage>
77
<TargetFrameworks>net48;net471;net7.0-windows;net6.0-windows</TargetFrameworks>
8-
<Version>4.11.0</Version>
8+
<Version>4.11.1</Version>
99
<PublishRepositoryUrl>true</PublishRepositoryUrl>
1010
<EmbedUntrackedSources>true</EmbedUntrackedSources>
1111
<IncludeSymbols>true</IncludeSymbols>

Analogy/CommonChangeLog.cs

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ public static IEnumerable<AnalogyChangeLog> GetChangeLog()
1111
{
1212
return new List<AnalogyChangeLog>
1313
{
14+
new AnalogyChangeLog("V4.11.1 - [Json Viewer] Remember last open position and state of the Json Viewer Form #1621",AnalogChangeLogType.Improvement, "Lior Banai", new DateTime(2023, 02, 08)),
15+
new AnalogyChangeLog("V4.11.1 - 'View in Json Visualizer' no longer displays 'tree view' in latest update 4.11.0 #1620",AnalogChangeLogType.Bug, "Lior Banai", new DateTime(2023, 02, 08)),
1416
new AnalogyChangeLog("V4.11.0 - Refactor Json Viewer #1614",AnalogChangeLogType.Improvement, "Lior Banai", new DateTime(2023, 02, 04)),
1517
new AnalogyChangeLog("V4.11.0 - Add RawText, LineNumber and MethodName columns #1616",AnalogChangeLogType.Improvement, "Lior Banai", new DateTime(2023, 02, 04)),
1618
new AnalogyChangeLog("V4.11.0 - Message details window doesn't remember its size #1612",AnalogChangeLogType.Improvement, "Lior Banai", new DateTime(2023, 01, 28)),

Analogy/DataProviders/AnalogyBuiltInFactory.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ public class AnalogyUnixTimeAction : IAnalogyCustomAction
181181

182182
public class AnalogyJsonViewerAction : IAnalogyCustomAction
183183
{
184-
public Action Action => () => new JsonViewerForm().Show();
184+
public Action Action => () => new JsonViewerForm(UserSettingsManager.UserSettings).Show();
185185
public Guid Id { get; set; } = new Guid("330b8471-c763-4579-a7e5-9efed71a56a5");
186186
public Image? SmallImage { get; set; } = Resources.json16x16;
187187
public Image? LargeImage { get; set; } = Resources.json32x32;

0 commit comments

Comments
 (0)