Browse Source

Fixed forum-9717: exception using Project - Add - New Folder when the project browser is not open.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4450 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
46d59d6d7f
  1. 15
      src/Main/Base/Project/Src/Gui/AbstractPadContent.cs
  2. 29
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs

15
src/Main/Base/Project/Src/Gui/AbstractPadContent.cs

@ -24,6 +24,21 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -24,6 +24,21 @@ namespace ICSharpCode.SharpDevelop.Gui
{
}
public void BringToFront()
{
PadDescriptor d = this.PadDescriptor;
if (d != null)
d.BringPadToFront();
}
protected virtual PadDescriptor PadDescriptor {
get {
if (WorkbenchSingleton.Workbench == null || WorkbenchSingleton.Workbench.WorkbenchLayout == null)
return null;
return WorkbenchSingleton.Workbench.GetPad(GetType());
}
}
public bool IsVisible {
get {
Control ctl = this.Control;

29
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs

@ -162,16 +162,13 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -162,16 +162,13 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
public override void Run()
{
ProjectBrowserPad.Instance.BringToFront();
this.AddExistingItems();
}
protected IEnumerable<FileProjectItem> AddExistingItems()
{
TreeNode selectedNode = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
DirectoryNode node = selectedNode as DirectoryNode;
if (node == null && selectedNode != null) {
node = selectedNode.Parent as DirectoryNode;
}
DirectoryNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedDirectoryNode;
if (node == null) {
return null;
}
@ -277,11 +274,8 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -277,11 +274,8 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
public override void Run()
{
TreeNode selectedNode = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
DirectoryNode node = selectedNode as DirectoryNode;
if (node == null && selectedNode != null) {
node = selectedNode.Parent as DirectoryNode;
}
ProjectBrowserPad.Instance.BringToFront();
DirectoryNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedDirectoryNode;
if (node == null) {
return;
}
@ -344,6 +338,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -344,6 +338,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
public override void Run()
{
ProjectBrowserPad.Instance.BringToFront();
this.AddNewItems();
}
@ -411,11 +406,9 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -411,11 +406,9 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
public override void Run()
{
TreeNode selectedNode = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
DirectoryNode node = selectedNode as DirectoryNode;
if (node == null) {
node = selectedNode.Parent as DirectoryNode;
}
ProjectBrowserPad.Instance.BringToFront();
DirectoryNode node = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedDirectoryNode;
if (node == null) {
return;
}
@ -432,8 +425,10 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -432,8 +425,10 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
TreeNode selectedNode = ProjectBrowserPad.Instance.ProjectBrowserControl.SelectedNode;
DirectoryNode node = selectedNode as DirectoryNode;
Directory.CreateDirectory(node.Directory);
IncludeFileInProject.IncludeDirectoryNode(node, false);
if (node != null) {
Directory.CreateDirectory(node.Directory);
IncludeFileInProject.IncludeDirectoryNode(node, false);
}
}
}
}

Loading…
Cancel
Save