Browse Source

Fixed SD2-853: Cut and paste folder removes folder and contained files

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1482 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
81835b5c25
  1. 13
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs
  2. 3
      src/Main/Base/Project/Src/Project/MSBuildEngine.cs

13
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs

@ -594,18 +594,21 @@ namespace ICSharpCode.SharpDevelop.Project
ProjectService.SaveSolution(); ProjectService.SaveSolution();
} }
public void CopyDirectoryHere(string fileName, bool performMove) public void CopyDirectoryHere(string directoryName, bool performMove)
{ {
AddExistingItemsToProject.CopyDirectory(fileName, this, true); string copiedName = Path.Combine(Directory, Path.GetFileName(directoryName));
if (FileUtility.IsEqualFileName(directoryName, copiedName))
return;
AddExistingItemsToProject.CopyDirectory(directoryName, this, true);
if (performMove) { if (performMove) {
foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) { foreach (IViewContent content in WorkbenchSingleton.Workbench.ViewContentCollection) {
if (content.FileName != null && if (content.FileName != null &&
FileUtility.IsBaseDirectory(fileName, content.FileName)) FileUtility.IsBaseDirectory(directoryName, content.FileName))
{ {
content.FileName = FileUtility.RenameBaseDirectory(content.FileName, fileName, Path.Combine(this.directory, Path.GetFileName(fileName))); content.FileName = FileUtility.RenameBaseDirectory(content.FileName, directoryName, Path.Combine(this.directory, Path.GetFileName(directoryName)));
} }
} }
FileService.RemoveFile(fileName, true); FileService.RemoveFile(directoryName, true);
} }
} }

3
src/Main/Base/Project/Src/Project/MSBuildEngine.cs

@ -207,6 +207,9 @@ namespace ICSharpCode.SharpDevelop.Project
results.NativeCompilerReturnValue = 0; results.NativeCompilerReturnValue = 0;
else else
results.NativeCompilerReturnValue = 1; results.NativeCompilerReturnValue = 1;
} catch (ArgumentException ex) {
results.NativeCompilerReturnValue = -2;
results.Errors.Add(new CompilerError(null, -1, -1, "", ex.Message));
} catch (InvalidProjectFileException ex) { } catch (InvalidProjectFileException ex) {
results.NativeCompilerReturnValue = -2; results.NativeCompilerReturnValue = -2;
results.Errors.Add(new CompilerError(ex.ProjectFile, ex.LineNumber, ex.ColumnNumber, ex.ErrorCode, ex.Message)); results.Errors.Add(new CompilerError(ex.ProjectFile, ex.LineNumber, ex.ColumnNumber, ex.ErrorCode, ex.Message));

Loading…
Cancel
Save