mirror of
https://github.com/ShareX/ShareX.git
synced 2024-07-04 22:21:23 +12:00
fixed #1914: Use singleton debug window
This commit is contained in:
parent
3b06f7daa0
commit
212b21904f
|
@ -33,9 +33,11 @@ namespace ShareX.HelpersLib
|
||||||
{
|
{
|
||||||
public partial class DebugForm : Form
|
public partial class DebugForm : Form
|
||||||
{
|
{
|
||||||
|
private static DebugForm instance;
|
||||||
|
|
||||||
public Logger Logger { get; private set; }
|
public Logger Logger { get; private set; }
|
||||||
|
|
||||||
public DebugForm(Logger logger)
|
private DebugForm(Logger logger)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
Icon = ShareXResources.Icon;
|
Icon = ShareXResources.Icon;
|
||||||
|
@ -54,6 +56,16 @@ public DebugForm(Logger logger)
|
||||||
FormClosing += (sender, e) => Logger.MessageAdded -= logger_MessageAdded;
|
FormClosing += (sender, e) => Logger.MessageAdded -= logger_MessageAdded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DebugForm GetFormInstance(Logger logger)
|
||||||
|
{
|
||||||
|
if (instance == null || instance.IsDisposed)
|
||||||
|
{
|
||||||
|
instance = new DebugForm(logger);
|
||||||
|
}
|
||||||
|
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
private void logger_MessageAdded(string message)
|
private void logger_MessageAdded(string message)
|
||||||
{
|
{
|
||||||
this.InvokeSafe(() => AppendMessage(message));
|
this.InvokeSafe(() => AppendMessage(message));
|
||||||
|
@ -65,7 +77,7 @@ private void AppendMessage(string message)
|
||||||
{
|
{
|
||||||
int start = rtbDebug.SelectionStart;
|
int start = rtbDebug.SelectionStart;
|
||||||
int len = rtbDebug.SelectionLength;
|
int len = rtbDebug.SelectionLength;
|
||||||
rtbDebug.AppendText(message + Environment.NewLine);
|
rtbDebug.AppendText(message);
|
||||||
if (len > 0)
|
if (len > 0)
|
||||||
{
|
{
|
||||||
rtbDebug.Select(start, len);
|
rtbDebug.Select(start, len);
|
||||||
|
@ -97,7 +109,7 @@ private void btnLoadedAssemblies_Click(object sender, EventArgs e)
|
||||||
}
|
}
|
||||||
string assemblies = sb.ToString().Trim();
|
string assemblies = sb.ToString().Trim();
|
||||||
|
|
||||||
AppendMessage("Loaded assemblies:\r\n" + assemblies);
|
DebugHelper.WriteLine($"Loaded assemblies:\r\n{assemblies}");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void rtbDebug_LinkClicked(object sender, LinkClickedEventArgs e)
|
private void rtbDebug_LinkClicked(object sender, LinkClickedEventArgs e)
|
||||||
|
|
|
@ -1585,7 +1585,7 @@ private void tsbImageHistory_Click(object sender, EventArgs e)
|
||||||
|
|
||||||
private void tsmiShowDebugLog_Click(object sender, EventArgs e)
|
private void tsmiShowDebugLog_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
new DebugForm(DebugHelper.Logger).Show();
|
DebugForm.GetFormInstance(DebugHelper.Logger).ForceActivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tsmiTestImageUpload_Click(object sender, EventArgs e)
|
private void tsmiTestImageUpload_Click(object sender, EventArgs e)
|
||||||
|
|
Loading…
Reference in a new issue