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; + } } }