mirror of
https://github.com/ShareX/ShareX.git
synced 2024-07-02 21:20:28 +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
|
||||
{
|
||||
private static DebugForm instance;
|
||||
|
||||
public Logger Logger { get; private set; }
|
||||
|
||||
public DebugForm(Logger logger)
|
||||
private DebugForm(Logger logger)
|
||||
{
|
||||
InitializeComponent();
|
||||
Icon = ShareXResources.Icon;
|
||||
|
@ -54,6 +56,16 @@ public DebugForm(Logger logger)
|
|||
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)
|
||||
{
|
||||
this.InvokeSafe(() => AppendMessage(message));
|
||||
|
@ -65,7 +77,7 @@ private void AppendMessage(string message)
|
|||
{
|
||||
int start = rtbDebug.SelectionStart;
|
||||
int len = rtbDebug.SelectionLength;
|
||||
rtbDebug.AppendText(message + Environment.NewLine);
|
||||
rtbDebug.AppendText(message);
|
||||
if (len > 0)
|
||||
{
|
||||
rtbDebug.Select(start, len);
|
||||
|
@ -97,7 +109,7 @@ private void btnLoadedAssemblies_Click(object sender, EventArgs e)
|
|||
}
|
||||
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)
|
||||
|
|
|
@ -1585,7 +1585,7 @@ private void tsbImageHistory_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)
|
||||
|
|
Loading…
Reference in a new issue