Browse Source

GAC references displayed using short names in project browser and class browser. Extra GAC information displayed in property pad.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@796 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 20 years ago
parent
commit
7483a7e3c7
  1. 10
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 2
      src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/Nodes/ReferenceFolderNode.cs
  3. 4
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs
  4. 72
      src/Main/Base/Project/Src/Project/Items/ReferenceProjectItem.cs

10
AddIns/ICSharpCode.SharpDevelop.addin

@ -409,6 +409,11 @@ @@ -409,6 +409,11 @@
label = "${res:ProjectComponent.ContextMenu.Rename}"
shortcut = "F2"
class = "ICSharpCode.SharpDevelop.Project.Commands.RenameEntryEvent"/>
<MenuItem id = "RenameSeparator" type = "Separator" />
<MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon"
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"/>
</ComplexCondition>
</Path>
@ -504,6 +509,11 @@ @@ -504,6 +509,11 @@
label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "RemoveSeparator" type = "Separator" />
<MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon"
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"/>
</Path>
<!-- END Project Browser Paths-->

2
src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/Nodes/ReferenceFolderNode.cs

@ -77,7 +77,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -77,7 +77,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public ReferenceNode(ReferenceProjectItem item)
{
this.item = item;
Text = item.Include;
Text = item.Name;
SetIcon("Icons.16x16.Reference");

4
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/ReferenceNode.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
namespace ICSharpCode.SharpDevelop.Project
{
@ -31,7 +32,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -31,7 +32,7 @@ namespace ICSharpCode.SharpDevelop.Project
if (referenceProjectItem.ItemType == ItemType.ProjectReference) {
Text = Path.GetFileNameWithoutExtension(referenceProjectItem.Include);
} else {
Text = referenceProjectItem.Include;
Text = referenceProjectItem.Name;
}
}
@ -57,6 +58,5 @@ namespace ICSharpCode.SharpDevelop.Project @@ -57,6 +58,5 @@ namespace ICSharpCode.SharpDevelop.Project
{
return visitor.Visit(this, data);
}
}
}

72
src/Main/Base/Project/Src/Project/Items/ReferenceProjectItem.cs

@ -7,17 +7,16 @@ @@ -7,17 +7,16 @@
using System;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Text;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project
{
/// <summary>
/// Description of ReferenceProjectItem.
/// </summary>
public class ReferenceProjectItem : ProjectItem
{
public override ItemType ItemType {
@ -60,6 +59,62 @@ namespace ICSharpCode.SharpDevelop.Project @@ -60,6 +59,62 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
[ReadOnly(true)]
[LocalizedProperty("(Name)", Description="The reference name")]
public string Name {
get {
AssemblyName assemblyName = GetAssemblyName(Include);
if (assemblyName != null) {
return assemblyName.Name;
}
return Include;
}
}
[ReadOnly(true)]
[LocalizedProperty("Version",
Description="The major, minor, revision and build numbers of the reference.")]
public Version Version {
get {
AssemblyName assemblyName = GetAssemblyName(Include);
if (assemblyName != null) {
return assemblyName.Version;
}
return null;
}
}
[ReadOnly(true)]
[LocalizedProperty("Culture", Description="The culture supported by the reference")]
public string Culture {
get {
AssemblyName assemblyName = GetAssemblyName(Include);
if (assemblyName != null && assemblyName.CultureInfo != null) {
return assemblyName.CultureInfo.Name;
}
return null;
}
}
[ReadOnly(true)]
[LocalizedProperty("Public Key Token", Description="The public key token")]
public string PublicKeyToken {
get {
AssemblyName assemblyName = GetAssemblyName(Include);
if (assemblyName != null) {
byte[] bytes = assemblyName.GetPublicKeyToken();
if (bytes != null) {
StringBuilder token = new StringBuilder();
foreach (byte b in bytes) {
token.Append(b.ToString("x2"));
}
return token.ToString();
}
}
return null;
}
}
public override string FileName {
get {
try
@ -102,5 +157,16 @@ namespace ICSharpCode.SharpDevelop.Project @@ -102,5 +157,16 @@ namespace ICSharpCode.SharpDevelop.Project
Include,
Properties);
}
AssemblyName GetAssemblyName(string include)
{
try {
if (this.ItemType != ItemType.ProjectReference) {
return new AssemblyName(include);
}
} catch (ArgumentException) { }
return null;
}
}
}

Loading…
Cancel
Save