Browse Source

Fixed SD2-1000: Deleting the ".." folder visible when the project contains incorrectly linked files deletes the whole parent directory

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1707 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Daniel Grunwald 19 years ago
parent
commit
254e7d1eb1
  1. 6
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 11
      src/Main/Base/Project/Src/Project/Items/FileProjectItem.cs

6
AddIns/ICSharpCode.SharpDevelop.addin

@ -471,7 +471,7 @@ @@ -471,7 +471,7 @@
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<ComplexCondition>
<Not>
@ -522,7 +522,7 @@ @@ -522,7 +522,7 @@
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<ComplexCondition>
<Not>
@ -550,7 +550,7 @@ @@ -550,7 +550,7 @@
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<ComplexCondition>
<Not>

11
src/Main/Base/Project/Src/Project/Items/FileProjectItem.cs

@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.ComponentModel;
using System.IO;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project
@ -108,7 +109,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -108,7 +109,7 @@ namespace ICSharpCode.SharpDevelop.Project
[Browsable(false)]
public bool IsLink {
get {
return base.Properties.IsSet("Link");
return base.Properties.IsSet("Link") || !FileUtility.IsBaseDirectory(this.Project.Directory, this.FileName);
}
}
@ -120,10 +121,12 @@ namespace ICSharpCode.SharpDevelop.Project @@ -120,10 +121,12 @@ namespace ICSharpCode.SharpDevelop.Project
/// </summary>
public string VirtualName {
get {
if (IsLink)
if (base.Properties.IsSet("Link"))
return base.Properties["Link"];
else
else if (FileUtility.IsBaseDirectory(this.Project.Directory, this.FileName))
return this.Include;
else
return Path.GetFileName(this.Include);
}
}

Loading…
Cancel
Save