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. 30
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs
  4. 5
      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

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

@ -60,7 +60,7 @@ namespace ICSharpCode.SharpDevelop.Project
projectBrowserPanel.ViewSolution(ProjectService.OpenSolution); projectBrowserPanel.ViewSolution(ProjectService.OpenSolution);
} }
} }
public void StartLabelEdit(ExtTreeNode node) public void StartLabelEdit(ExtTreeNode node)
{ {
ProjectBrowserControl.TreeView.StartLabelEdit(node); ProjectBrowserControl.TreeView.StartLabelEdit(node);
@ -80,19 +80,23 @@ namespace ICSharpCode.SharpDevelop.Project
void ActiveWindowChanged(object sender, EventArgs e) void ActiveWindowChanged(object sender, EventArgs e)
{ {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) { if (WorkbenchSingleton.Workbench.ActiveContent == this) {
return; projectBrowserPanel.ProjectBrowserControl.PadActivated();
} } else {
string fileName = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.FileName; if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null) {
if (fileName == null || lastFileName == fileName) { return;
return; }
} string fileName = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.FileName;
if (fileName == null || lastFileName == fileName) {
if (!FileUtility.IsValidFileName(fileName)) { return;
return; }
if (!FileUtility.IsValidFileName(fileName)) {
return;
}
lastFileName = fileName;
projectBrowserPanel.SelectFile(fileName);
} }
lastFileName = fileName;
projectBrowserPanel.SelectFile(fileName);
} }
#region ICSharpCode.SharpDevelop.Gui.IClipboardHandler interface implementation #region ICSharpCode.SharpDevelop.Gui.IClipboardHandler interface implementation

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

@ -42,10 +42,7 @@ 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) {

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