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