diff --git a/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.png b/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.png new file mode 100644 index 0000000..030967e Binary files /dev/null and b/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.png differ diff --git a/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.xaml b/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.xaml new file mode 100644 index 0000000..ce30eef --- /dev/null +++ b/src/Stratis.VS.StratisEVM/Images/SoliditySourceFileIcon.xaml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Stratis.VS.StratisEVM/SolidityProject.imagemanifest b/src/Stratis.VS.StratisEVM/SolidityProject.imagemanifest index 2e3c5b1..7083102 100644 --- a/src/Stratis.VS.StratisEVM/SolidityProject.imagemanifest +++ b/src/Stratis.VS.StratisEVM/SolidityProject.imagemanifest @@ -5,7 +5,9 @@ + + @@ -14,6 +16,12 @@ + + + + + + \ No newline at end of file diff --git a/src/Stratis.VS.StratisEVM/SolidityProjectMonikers.cs b/src/Stratis.VS.StratisEVM/SolidityProjectMonikers.cs index 7cab0c0..2e7c77c 100644 --- a/src/Stratis.VS.StratisEVM/SolidityProjectMonikers.cs +++ b/src/Stratis.VS.StratisEVM/SolidityProjectMonikers.cs @@ -5,15 +5,27 @@ namespace Stratis.VS.StratisEVM { public static class SolidityProjectMonikers { - private static readonly Guid ManifestGuid = new Guid("293347bb-f054-408c-8ad9-cbabe93176fc"); + private static readonly Guid ProjectManifestGuid = new Guid("293347bb-f054-408c-8ad9-cbabe93176fc"); + + private static readonly Guid SoliditySourceManifestGuid = new Guid("c0a684d8-7f68-4bc3-9b34-60a864cfdf98"); private const int ProjectIcon = 0; + private const int SoliditySourceIcon = 1; + public static ImageMoniker ProjectIconImageMoniker { get { - return new ImageMoniker { Guid = ManifestGuid, Id = ProjectIcon }; + return new ImageMoniker { Guid = ProjectManifestGuid, Id = ProjectIcon }; + } + } + + public static ImageMoniker SolidityIconImageMoniker + { + get + { + return new ImageMoniker { Guid = SoliditySourceManifestGuid, Id = SoliditySourceIcon }; } } } diff --git a/src/Stratis.VS.StratisEVM/SolidityProjectTreePropertiesProvider.cs b/src/Stratis.VS.StratisEVM/SolidityProjectTreePropertiesProvider.cs index bc4b1d5..be83be5 100644 --- a/src/Stratis.VS.StratisEVM/SolidityProjectTreePropertiesProvider.cs +++ b/src/Stratis.VS.StratisEVM/SolidityProjectTreePropertiesProvider.cs @@ -30,6 +30,11 @@ public void CalculatePropertyValues( // TODO: Provide a moniker that represents the desired icon (you can use the "Custom Icons" item template to add a .imagemanifest to the project) propertyValues.Icon = SolidityProjectMonikers.ProjectIconImageMoniker.ToProjectSystemType(); } + + else if (propertyValues.Flags.Contains(ProjectTreeFlags.Common.SourceFile) && propertyValues.Flags.Contains(ProjectTreeFlags.Common.FileOnDisk) && propertyValues.Flags.Contains(ProjectTreeFlags.Common.FileOnDisk)) + { + propertyValues.Icon = SolidityProjectMonikers.SolidityIconImageMoniker.ToProjectSystemType(); + } } } } diff --git a/src/Stratis.VS.StratisEVM/Stratis.VS.StratisEVM.csproj b/src/Stratis.VS.StratisEVM/Stratis.VS.StratisEVM.csproj index 13b7f3b..173b3bc 100644 --- a/src/Stratis.VS.StratisEVM/Stratis.VS.StratisEVM.csproj +++ b/src/Stratis.VS.StratisEVM/Stratis.VS.StratisEVM.csproj @@ -69,6 +69,7 @@ + Always true @@ -182,6 +183,10 @@ Designer MSBuild:Compile + + MSBuild:Compile + Designer + Designer MSBuild:Compile