diff --git a/src/Main/Base/Project/Src/Commands/FileCommands.cs b/src/Main/Base/Project/Src/Commands/FileCommands.cs index 408b8c92c5..f349966ba7 100644 --- a/src/Main/Base/Project/Src/Commands/FileCommands.cs +++ b/src/Main/Base/Project/Src/Commands/FileCommands.cs @@ -32,7 +32,7 @@ namespace ICSharpCode.SharpDevelop.Commands "${res:Dialog.NewFile.AddToProjectQuestionStandalone}") == 0) { - new Project.Commands.AddNewItemsToProject().Run(); + ProjectBrowserPad.Instance.CurrentProject.AddNewItemsToProject(); return; } } diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs index 89c1a23955..ca6f3b50eb 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs @@ -33,7 +33,14 @@ namespace ICSharpCode.SharpDevelop.Project return projectBrowserPanel.SelectedNode; } } - + public ProjectNode CurrentProject { + get { + AbstractProjectBrowserTreeNode node = SelectedNode; + while (node != null && !(node is ProjectNode)) + node = (AbstractProjectBrowserTreeNode)node.Parent; + return (ProjectNode)node; + } + } /// /// Gets the root node of the project tree view. /// diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ProjectNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ProjectNode.cs index 88eed038fb..c117c5a17a 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ProjectNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ProjectNode.cs @@ -176,5 +176,11 @@ namespace ICSharpCode.SharpDevelop.Project { return visitor.Visit(this, data); } + + public virtual void AddNewItemsToProject() + { + new Project.Commands.AddNewItemsToProject().Run(); + return; + } } } diff --git a/src/Main/Base/Project/Src/Project/AbstractProject.cs b/src/Main/Base/Project/Src/Project/AbstractProject.cs index 8fb2552c09..83b693ac1c 100644 --- a/src/Main/Base/Project/Src/Project/AbstractProject.cs +++ b/src/Main/Base/Project/Src/Project/AbstractProject.cs @@ -258,7 +258,7 @@ namespace ICSharpCode.SharpDevelop.Project [ReadOnly(true)] [LocalizedProperty("${res:Dialog.ProjectOptions.Configuration}")] - public string Configuration { + public virtual string Configuration { get { return activeConfiguration; }