Browse Source

Fixed SD2-432: Project references added to the wrong project.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@427 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 21 years ago
parent
commit
89fa2c30d6
  1. 9
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs
  2. 4
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs
  3. 4
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs
  4. 3
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs
  5. 5
      src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs

9
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/ReferenceFolderNodeCommands.cs

@ -24,13 +24,16 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{ {
public override void Run() public override void Run()
{ {
if (ProjectService.CurrentProject == null) { AbstractProjectBrowserTreeNode node = Owner as AbstractProjectBrowserTreeNode;
IProject project = (node != null) ? node.Project : ProjectService.CurrentProject;
if (project == null) {
return; return;
} }
using (SelectReferenceDialog selDialog = new SelectReferenceDialog(ProjectService.CurrentProject)) { LoggingService.Info("Show add reference dialog for " + project.FileName);
using (SelectReferenceDialog selDialog = new SelectReferenceDialog(project)) {
if (selDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK) { if (selDialog.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK) {
foreach (ReferenceProjectItem reference in selDialog.ReferenceInformations) { foreach (ReferenceProjectItem reference in selDialog.ReferenceInformations) {
ProjectService.AddProjectItem(ProjectService.CurrentProject, reference); ProjectService.AddProjectItem(project, reference);
} }
ProjectService.SaveSolution(); ProjectService.SaveSolution();
} }

4
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs

@ -171,6 +171,10 @@ namespace ICSharpCode.SharpDevelop.Project
#endregion #endregion
public void PadActivated()
{
TreeViewAfterSelect(null, new TreeViewEventArgs(treeView.SelectedNode));
}
void TreeViewAfterSelect(object sender, TreeViewEventArgs e) void TreeViewAfterSelect(object sender, TreeViewEventArgs e)
{ // set current project & current combine { // set current project & current combine

4
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs

@ -80,6 +80,9 @@ namespace ICSharpCode.SharpDevelop.Project
void ActiveWindowChanged(object sender, EventArgs e) void ActiveWindowChanged(object sender, EventArgs e)
{ {
if (WorkbenchSingleton.Workbench.ActiveContent == this) {
projectBrowserPanel.ProjectBrowserControl.PadActivated();
} else {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) {
return; return;
} }
@ -94,6 +97,7 @@ namespace ICSharpCode.SharpDevelop.Project
lastFileName = fileName; lastFileName = fileName;
projectBrowserPanel.SelectFile(fileName); projectBrowserPanel.SelectFile(fileName);
} }
}
#region ICSharpCode.SharpDevelop.Gui.IClipboardHandler interface implementation #region ICSharpCode.SharpDevelop.Gui.IClipboardHandler interface implementation
public bool EnableCut { public bool EnableCut {

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

@ -42,11 +42,8 @@ namespace ICSharpCode.SharpDevelop.Gui
public object ActiveContent { public object ActiveContent {
get { get {
if (dockPanel == null || dockPanel.ActiveContent == null) { if (dockPanel == null || dockPanel.ActiveContent == null) {
if (this.ActiveWorkbenchwindow == null) {
return null; return null;
} }
return this.ActiveWorkbenchwindow.ActiveViewContent;
}
if (dockPanel.ActiveContent.IsDisposed) { if (dockPanel.ActiveContent.IsDisposed) {
return null; return null;

5
src/Main/Base/Project/Src/Services/ProjectService/ProjectService.cs

@ -148,10 +148,11 @@ namespace ICSharpCode.SharpDevelop.Project
static void ActiveWindowChanged(object sender, EventArgs e) static void ActiveWindowChanged(object sender, EventArgs e)
{ {
if (OpenSolution == null || WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) { IViewContent viewContent = WorkbenchSingleton.Workbench.ActiveContent as IViewContent;
if (OpenSolution == null || viewContent == null) {
return; return;
} }
string fileName = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.FileName; string fileName = viewContent.FileName;
if (fileName == null) { if (fileName == null) {
return; return;
} }

Loading…
Cancel
Save