diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-04 03:42:54 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-04 03:42:54 +0400 |
commit | 45b8f30f2634ec85d05d07e044463b1b1cf24521 (patch) | |
tree | 8bf9c6da6713ebdc03aba2d8c11cc0858d5bedeb /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui | |
parent | 763a9855f393ef7d3e191d596dcbc24eed2c8fcf (diff) |
* MonoDevelop.Ide.Gui/DefaultWorkbench.cs: Fix hiding toolbars in
full view mode, and destroying of toolbar layouts.
svn path=/trunk/monodevelop/; revision=156656
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs index e9bbaf591d..805c9b5d05 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DefaultWorkbench.cs @@ -174,13 +174,8 @@ namespace MonoDevelop.Ide.Gui InitializeLayout (value); toolbarFrame.CurrentLayout = dock.CurrentLayout = value; - - //don't allow the "full view" layouts to persist - they are always derived from the "normal" layout - //else they will diverge - if (oldLayout != null && oldLayout.EndsWith (fullViewModeTag)) { - dock.DeleteLayout (oldLayout); - toolbarFrame.DeleteLayout (oldLayout); - } + + DestroyFullViewLayouts (oldLayout); // persist the selected layout PropertyService.Set ("MonoDevelop.Core.Gui.CurrentWorkbenchLayout", value); @@ -953,12 +948,24 @@ namespace MonoDevelop.Ide.Gui } } + //don't allow the "full view" layouts to persist - they are always derived from the "normal" layout + //else they will diverge + void DestroyFullViewLayouts (string oldLayout) + { + if (oldLayout != null && oldLayout.EndsWith (fullViewModeTag)) { + dock.DeleteLayout (oldLayout); + toolbarFrame.DeleteLayout (oldLayout); + } + } + public void ToggleFullViewMode () { this.tabControl.LeaveDragMode (0); if (IsInFullViewMode) { + var oldLayout = dock.CurrentLayout; toolbarFrame.CurrentLayout = dock.CurrentLayout = CurrentLayout; + DestroyFullViewLayouts (oldLayout); } else { string fullViewLayout = CurrentLayout + fullViewModeTag; if (!dock.HasLayout (fullViewLayout)) @@ -969,7 +976,7 @@ namespace MonoDevelop.Ide.Gui it.Status = DockItemStatus.AutoHide; } foreach (var tb in toolbarFrame.Toolbars) - tb.Status.Visible = false; + tb.Status = new DockToolbarStatus (tb.Id, false, tb.Position); } } |