Browse Source

Fix ActivatePad() implementation so that it doesn't force the pad to be docked in the main window (forum-11355).

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5933 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 16 years ago
parent
commit
4390991377
  1. 11
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs
  2. 3
      src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs

11
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs

@ -73,7 +73,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -73,7 +73,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public event EventHandler ActiveWorkbenchWindowChanged;
public IWorkbenchWindow ActiveWorkbenchWindow {
public IWorkbenchWindow ActiveWorkbenchWindow {
get {
return dockingManager.ActiveDocument as IWorkbenchWindow;
}
@ -191,7 +191,14 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -191,7 +191,14 @@ namespace ICSharpCode.SharpDevelop.Gui
public void ActivatePad(PadDescriptor padDescriptor)
{
ShowPad(padDescriptor);
AvalonPadContent p;
if (pads.TryGetValue(padDescriptor, out p)) {
if (!p.IsVisible)
p.Show();
p.Activate();
} else {
ShowPad(padDescriptor);
}
}
public void HidePad(PadDescriptor padDescriptor)

3
src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs

@ -180,9 +180,6 @@ namespace ICSharpCode.SharpDevelop @@ -180,9 +180,6 @@ namespace ICSharpCode.SharpDevelop
{
CreatePad();
if (padContent == null) return;
if (!WorkbenchSingleton.Workbench.WorkbenchLayout.IsVisible(this)) {
WorkbenchSingleton.Workbench.WorkbenchLayout.ShowPad(this);
}
WorkbenchSingleton.Workbench.WorkbenchLayout.ActivatePad(this);
}

Loading…
Cancel
Save