From 1e08b5c378f6e4195307102cd09ec8bd6f743db9 Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Mon, 5 Feb 2018 16:36:21 +0100
Subject: [PATCH] Include icons for systray as resources.

Refers to #2
---
 ATXTray/Properties/Resources.resx             |  29 ++++++++--
 ATXTray/icon-default.ico                      | Bin 894 -> 0 bytes
 ATxTray/ATXTray.csproj                        |  11 +++-
 ATxTray/AutoTxTray.cs                         |  12 ++--
 ATxTray/Properties/Resources.Designer.cs      |  52 +++++++++++++++++-
 .../Resources/IconDefault.ico                 | Bin
 .../Resources/IconStopped.ico                 | Bin
 .../Resources/IconSuspended.ico               | Bin
 .../Resources/IconTx0.ico                     | Bin
 .../Resources/IconTx1.ico                     | Bin
 10 files changed, 90 insertions(+), 14 deletions(-)
 delete mode 100644 ATXTray/icon-default.ico
 rename ATXTray/AutoTx.ico => ATxTray/Resources/IconDefault.ico (100%)
 rename ATXTray/icon-stopped.ico => ATxTray/Resources/IconStopped.ico (100%)
 rename ATXTray/icon-suspended.ico => ATxTray/Resources/IconSuspended.ico (100%)
 rename ATXTray/icon-tx-0.ico => ATxTray/Resources/IconTx0.ico (100%)
 rename ATXTray/icon-tx-1.ico => ATxTray/Resources/IconTx1.ico (100%)

diff --git a/ATXTray/Properties/Resources.resx b/ATXTray/Properties/Resources.resx
index af7dbeb..2b26db5 100644
--- a/ATXTray/Properties/Resources.resx
+++ b/ATXTray/Properties/Resources.resx
@@ -46,7 +46,7 @@
     
     mimetype: application/x-microsoft.net.object.binary.base64
     value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
     
     mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
             : and then encoded with base64 encoding.
     -->
   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
     <xsd:element name="root" msdata:IsDataSet="true">
       <xsd:complexType>
         <xsd:choice maxOccurs="unbounded">
@@ -68,9 +69,10 @@
               <xsd:sequence>
                 <xsd:element name="value" type="xsd:string" minOccurs="0" />
               </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="name" use="required" type="xsd:string" />
               <xsd:attribute name="type" type="xsd:string" />
               <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
             </xsd:complexType>
           </xsd:element>
           <xsd:element name="assembly">
@@ -85,9 +87,10 @@
                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
               </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
             </xsd:complexType>
           </xsd:element>
           <xsd:element name="resheader">
@@ -109,9 +112,25 @@
     <value>2.0</value>
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="IconDefault" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\IconDefault.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="IconStopped" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\IconStopped.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="IconSuspended" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\IconSuspended.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="IconTx0" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\IconTx0.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="IconTx1" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\IconTx1.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/ATXTray/icon-default.ico b/ATXTray/icon-default.ico
deleted file mode 100644
index 86d3957ca994afc11765c905518831604be8b3fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 894
zcma)5O-mb56n)~ttt)Y-OZWZ)-@Q*4ip@l#O}elU6Ql@2DHElwMuoQGM@6v3O0y^u
zFjf<)#+@Gve}lVLEg~wKtxM1KO~x_0FnMpdbM860pHZp`-`ZM*XT9pLR;o@Z)r1R3
zHR1~XoDZjFDdAGrE8Q8PP>&dilupe*)<)7fio3caOyj>y?yo79<gEUqiDmtw8$Z&V
zUi4K$jwUEMWb&t$$qPIDZP!y3&gjhuMU%dS;_s;cy(wOMgpCWWNfVpROApz)rhzd;
zK?un?)ME-~p6f0X8vV(mnIK~Roa=B5wNRhSpI08ZZ1Rtu{3VC-$%&e^;|jh+9~i3u
z&Dse%MxpLXyjap54$c!envCRa=<Fe?<{t-m)$I-r47^G!vWJ$V!4JoH{lB>8wslL3
zHf{WU-}1#UZ2;jC{_i8nC*ksR!OH35l9gy~m2*c1XuW8QOyB*gBd^WYl?SFXA}JsK
zuxN4g6P-cxWdxYl(7cBuv9jczTrAPxCoGIz3G9Q8CV6<lA2A`cKa|Z&emjYU0WG*f
z66Ix_XEyF<oj>KNJVko3FhR1fLM>8}6GPu*EuEMx&?msSX;A8@MyWmgZ_-uv2K_<1
K>=&+RM0*QY=~Qn3

diff --git a/ATxTray/ATXTray.csproj b/ATxTray/ATXTray.csproj
index 50ac413..c73dad1 100644
--- a/ATxTray/ATXTray.csproj
+++ b/ATxTray/ATXTray.csproj
@@ -32,7 +32,7 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <PropertyGroup>
-    <ApplicationIcon>AutoTx.ico</ApplicationIcon>
+    <ApplicationIcon>Resources\IconDefault.ico</ApplicationIcon>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
@@ -91,7 +91,11 @@
     <None Include="App.config" />
   </ItemGroup>
   <ItemGroup>
-    <Content Include="AutoTx.ico" />
+    <None Include="Resources\IconTx1.ico" />
+    <None Include="Resources\IconTx0.ico" />
+    <None Include="Resources\IconSuspended.ico" />
+    <None Include="Resources\IconStopped.ico" />
+    <None Include="Resources\IconDefault.ico" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\ATxCommon\ATxCommon.csproj">
@@ -99,6 +103,9 @@
       <Name>ATxCommon</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="IconDefault.ico" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/ATxTray/AutoTxTray.cs b/ATxTray/AutoTxTray.cs
index 684c2e5..03e300e 100644
--- a/ATxTray/AutoTxTray.cs
+++ b/ATxTray/AutoTxTray.cs
@@ -39,11 +39,11 @@ namespace ATxTray
         private static int _txProgressPct;
         
         private readonly NotifyIcon _notifyIcon = new NotifyIcon();
-        private readonly Icon _tiDefault = new Icon("icon-default.ico");
-        private readonly Icon _tiStopped = new Icon("icon-stopped.ico");
-        private readonly Icon _tiSuspended = new Icon("icon-suspended.ico");
-        private readonly Icon _tiTx0 = new Icon("icon-tx-0.ico");
-        private readonly Icon _tiTx1 = new Icon("icon-tx-1.ico");
+        private readonly Icon _tiDefault = Properties.Resources.IconDefault;
+        private readonly Icon _tiStopped = Properties.Resources.IconStopped;
+        private readonly Icon _tiSuspended = Properties.Resources.IconSuspended;
+        private readonly Icon _tiTx0 = Properties.Resources.IconTx0;
+        private readonly Icon _tiTx1 = Properties.Resources.IconTx1;
         private readonly ContextMenuStrip _cmStrip = new ContextMenuStrip();
         private readonly ToolStripMenuItem _miExit = new ToolStripMenuItem();
         private readonly ToolStripMenuItem _miTitle = new ToolStripMenuItem();
@@ -115,7 +115,7 @@ namespace ATxTray
 
             _miTitle.Font = new Font(_cmStrip.Font, FontStyle.Bold);
             _miTitle.Text = AppTitle;
-            _miTitle.Image = Image.FromFile("icon-default.ico");
+            _miTitle.Image = _tiDefault.ToBitmap();
             _miTitle.BackColor = Color.LightCoral;
             _miTitle.Click += ShowContextMenu;
 
diff --git a/ATxTray/Properties/Resources.Designer.cs b/ATxTray/Properties/Resources.Designer.cs
index 394274b..e8ee16c 100644
--- a/ATxTray/Properties/Resources.Designer.cs
+++ b/ATxTray/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace ATxTray.Properties {
     // class via a tool like ResGen or Visual Studio.
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -59,5 +59,55 @@ namespace ATxTray.Properties {
                 resourceCulture = value;
             }
         }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon IconDefault {
+            get {
+                object obj = ResourceManager.GetObject("IconDefault", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon IconStopped {
+            get {
+                object obj = ResourceManager.GetObject("IconStopped", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon IconSuspended {
+            get {
+                object obj = ResourceManager.GetObject("IconSuspended", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon IconTx0 {
+            get {
+                object obj = ResourceManager.GetObject("IconTx0", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
+        /// </summary>
+        internal static System.Drawing.Icon IconTx1 {
+            get {
+                object obj = ResourceManager.GetObject("IconTx1", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
     }
 }
diff --git a/ATXTray/AutoTx.ico b/ATxTray/Resources/IconDefault.ico
similarity index 100%
rename from ATXTray/AutoTx.ico
rename to ATxTray/Resources/IconDefault.ico
diff --git a/ATXTray/icon-stopped.ico b/ATxTray/Resources/IconStopped.ico
similarity index 100%
rename from ATXTray/icon-stopped.ico
rename to ATxTray/Resources/IconStopped.ico
diff --git a/ATXTray/icon-suspended.ico b/ATxTray/Resources/IconSuspended.ico
similarity index 100%
rename from ATXTray/icon-suspended.ico
rename to ATxTray/Resources/IconSuspended.ico
diff --git a/ATXTray/icon-tx-0.ico b/ATxTray/Resources/IconTx0.ico
similarity index 100%
rename from ATXTray/icon-tx-0.ico
rename to ATxTray/Resources/IconTx0.ico
diff --git a/ATXTray/icon-tx-1.ico b/ATxTray/Resources/IconTx1.ico
similarity index 100%
rename from ATXTray/icon-tx-1.ico
rename to ATxTray/Resources/IconTx1.ico
-- 
GitLab