Browse Source

SD2-741. The active workbench window is no longer changed when switching between different layouts.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1264 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 20 years ago
parent
commit
c994982afc
  1. 13
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs

13
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs

@ -218,6 +218,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (dockPanel != null) { if (dockPanel != null) {
LockWindowUpdate(wbForm.Handle); LockWindowUpdate(wbForm.Handle);
try { try {
IViewContent activeView = GetActiveView();
dockPanel.ActiveDocumentChanged -= new EventHandler(ActiveMdiChanged); dockPanel.ActiveDocumentChanged -= new EventHandler(ActiveMdiChanged);
DetachPadContents(true); DetachPadContents(true);
@ -227,6 +228,9 @@ namespace ICSharpCode.SharpDevelop.Gui
LoadLayoutConfiguration(); LoadLayoutConfiguration();
ShowPads(); ShowPads();
ShowViewContents(); ShowViewContents();
if (activeView != null && activeView.WorkbenchWindow != null) {
activeView.WorkbenchWindow.SelectWindow();
}
} finally { } finally {
LockWindowUpdate(IntPtr.Zero); LockWindowUpdate(IntPtr.Zero);
} }
@ -556,6 +560,15 @@ namespace ICSharpCode.SharpDevelop.Gui
OnActiveWorkbenchWindowChanged(e); OnActiveWorkbenchWindowChanged(e);
} }
static IViewContent GetActiveView()
{
IWorkbenchWindow activeWindow = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if (activeWindow != null) {
return activeWindow.ViewContent;
}
return null;
}
IWorkbenchWindow oldSelectedWindow = null; IWorkbenchWindow oldSelectedWindow = null;
public virtual void OnActiveWorkbenchWindowChanged(EventArgs e) public virtual void OnActiveWorkbenchWindowChanged(EventArgs e)
{ {

Loading…
Cancel
Save