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

Loading…
Cancel
Save