diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Options/DebuggingOptions.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Options/DebuggingOptions.cs
index 36d20fa23a..12d22ae6d2 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Options/DebuggingOptions.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Options/DebuggingOptions.cs
@@ -5,8 +5,12 @@
// $Revision$
//
-using Debugger;
using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+using Debugger;
+
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Debugging;
@@ -25,5 +29,14 @@ namespace ICSharpCode.SharpDevelop.Services
public bool ShowArgumentNames;
public bool ShowArgumentValues;
public bool ShowExternalMethods;
+
+ // Properties for the DebuggerExceptionForm
+ public FormWindowState DebuggerEventWindowState = FormWindowState.Normal;
+ public Size DebuggerEventWindowSize = new Size(646, 235);
+
+ // Properties for the DebuggeeExceptionForm
+ public FormWindowState DebuggeeExceptionWindowState = FormWindowState.Normal;
+ public Size DebuggeeExceptionWindowSize = new Size(646,431);
+ public bool ShowExceptionDetails;
}
}
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.Designer.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.Designer.cs
index 9c36ce02c0..01460d4d08 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.Designer.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.Designer.cs
@@ -132,6 +132,7 @@ namespace ICSharpCode.SharpDevelop.Services
this.ClientSize = new System.Drawing.Size(638, 399);
this.Controls.Add(this.splitContainer);
this.Name = "DebugeeExceptionForm";
+ this.Resize += new System.EventHandler(this.debugeeExceptionFormResize);
this.Controls.SetChildIndex(this.splitContainer, 0);
this.Controls.SetChildIndex(this.textBox, 0);
this.Controls.SetChildIndex(this.buttonBreak, 0);
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs
index 3507d56e19..21e5826b63 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs
@@ -37,6 +37,7 @@
//
#endregion
+using System;
using System.Collections.Generic;
using Aga.Controls.Tree;
@@ -64,10 +65,14 @@ namespace ICSharpCode.SharpDevelop.Services
textBox.Location = new System.Drawing.Point(0, 4);
splitContainer.Panel1.Controls.Add(textBox);
- // To make the localVarList size properly, it must be rendered full size first.
- splitContainer.Panel2Collapsed = true;
-
- linkExceptionDetail.Text = StringParser.Parse(linkExceptionDetail.Text);
+ // To make the localVarList size properly, it must be rendered full size in the designer.
+ // To get the text right we set the panel to the opposite of what we want and then fire linkExceptionDetail.Click().
+ splitContainer.Panel2Collapsed = DebuggingOptions.Instance.ShowExceptionDetails;
+ DebuggingOptions.Instance.ShowExceptionDetails = ! DebuggingOptions.Instance.ShowExceptionDetails;
+ linkExceptionDetailLinkClicked(linkExceptionDetail, new EventArgs());
+
+ WindowState = DebuggingOptions.Instance.DebuggeeExceptionWindowState;
+ Size = DebuggingOptions.Instance.DebuggeeExceptionWindowSize;
InitializeLocalVarList();
}
@@ -133,10 +138,16 @@ namespace ICSharpCode.SharpDevelop.Services
}
}
-
+ void debugeeExceptionFormResize(object sender, System.EventArgs e)
+ {
+ DebuggingOptions.Instance.DebuggeeExceptionWindowSize = Size;
+ DebuggingOptions.Instance.DebuggeeExceptionWindowState = WindowState;
+ }
+
void linkExceptionDetailLinkClicked(object sender, System.EventArgs e)
{
splitContainer.Panel2Collapsed = ! splitContainer.Panel2Collapsed;
+ DebuggingOptions.Instance.ShowExceptionDetails = ! splitContainer.Panel2Collapsed;
linkExceptionDetail.Text = splitContainer.Panel2Collapsed
? StringParser.Parse("${res:MainWindow.Windows.Debug.ExceptionForm.ShowExceptionDetails}")
: StringParser.Parse("${res:MainWindow.Windows.Debug.ExceptionForm.HideExceptionDetails}");
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.Designer.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.Designer.cs
index 45cfd3273d..0f38c439c0 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.Designer.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.Designer.cs
@@ -128,6 +128,7 @@ namespace ICSharpCode.SharpDevelop.Services
this.Name = "DebuggerEventForm";
this.ShowInTaskbar = false;
this.TopMost = true;
+ this.Resize += new System.EventHandler(this.debuggerEventFormResize);
((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs
index 7c12191978..a69cc4dbbd 100644
--- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs
+++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs
@@ -60,6 +60,10 @@ namespace ICSharpCode.SharpDevelop.Services
buttonBreak.Text = StringParser.Parse(buttonBreak.Text);
buttonContinue.Text = StringParser.Parse(buttonContinue.Text);
buttonTerminate.Text = StringParser.Parse(buttonTerminate.Text);
+
+
+ WindowState = DebuggingOptions.Instance.DebuggerEventWindowState;
+ Size = DebuggingOptions.Instance.DebuggerEventWindowSize;
}
///
@@ -99,5 +103,11 @@ namespace ICSharpCode.SharpDevelop.Services
result = Result.Terminate;
Close();
}
+
+ void debuggerEventFormResize(object sender, EventArgs e)
+ {
+ DebuggingOptions.Instance.DebuggerEventWindowSize = Size;
+ DebuggingOptions.Instance.DebuggerEventWindowState = WindowState;
+ }
}
}