Browse Source

Fixed SD2-781: Null exception when adding new item to project

Fixed SD2-776: Warn when creating a new file while project is open

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1345 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
a98a281951
  1. 19
      src/Main/Base/Project/Src/Commands/FileCommands.cs
  2. 7
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs
  3. 1
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs

19
src/Main/Base/Project/Src/Commands/FileCommands.cs

@ -25,6 +25,17 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -25,6 +25,17 @@ namespace ICSharpCode.SharpDevelop.Commands
{
public override void Run()
{
if (ProjectService.CurrentProject != null) {
if (MessageService.ShowCustomDialog("${res:Dialog.NewFile.AddToProjectQuestion}",
"${res:Dialog.NewFile.AddToProjectQuestionTitle}",
"${res:Dialog.NewFile.AddToProjectQuestionProject}",
"${res:Dialog.NewFile.AddToProjectQuestionStandalone}")
== 1)
{
new Project.Commands.AddNewItemsToProject().Run();
return;
}
}
using (NewFileDialog nfd = new NewFileDialog(null)) {
nfd.Owner = (Form)WorkbenchSingleton.Workbench;
nfd.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm);
@ -164,7 +175,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -164,7 +175,7 @@ namespace ICSharpCode.SharpDevelop.Commands
fdiag.AddExtension = true;
fdiag.Filter = String.Join("|", (string[])(AddInTree.GetTreeNode("/SharpDevelop/Workbench/FileFilter").BuildChildItems(null)).ToArray(typeof(string)));
if (fdiag.ShowDialog(ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.MainForm) == DialogResult.OK) {
string fileName = fdiag.FileName;
// currently useless, because the fdiag.FileName can't
@ -247,7 +258,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -247,7 +258,7 @@ namespace ICSharpCode.SharpDevelop.Commands
public class ExitWorkbenchCommand : AbstractMenuCommand
{
public override void Run()
{
{
((Form)WorkbenchSingleton.Workbench).Close();
}
}
@ -312,7 +323,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -312,7 +323,7 @@ namespace ICSharpCode.SharpDevelop.Commands
public class ClearRecentFiles : AbstractMenuCommand
{
public override void Run()
{
{
try {
FileService.RecentOpen.ClearRecentFiles();
@ -323,7 +334,7 @@ namespace ICSharpCode.SharpDevelop.Commands @@ -323,7 +334,7 @@ namespace ICSharpCode.SharpDevelop.Commands
public class ClearRecentProjects : AbstractMenuCommand
{
public override void Run()
{
{
try {
FileService.RecentOpen.ClearRecentProjects();

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

@ -263,9 +263,10 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -263,9 +263,10 @@ 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;
DirectoryNode node = null;
while (selectedNode != null && node == null) {
node = selectedNode as DirectoryNode;
selectedNode = selectedNode.Parent;
}
if (node == null) {
return;

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

@ -72,6 +72,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -72,6 +72,7 @@ namespace ICSharpCode.SharpDevelop.Project
if (ProjectService.OpenSolution != null) {
ProjectServiceSolutionLoaded(null, new SolutionEventArgs(ProjectService.OpenSolution));
}
ActiveWindowChanged(null, null);
}
public void StartLabelEdit(ExtTreeNode node)

Loading…
Cancel
Save