worktimehero

git clone https://git.clttr.info/worktimehero.git
Log (Feed) | Files | Refs (Tags) | README | LICENSE

commit 204d3ac40e2b0c24cad417d8a9d09dba1915b5f6
parent 3315977dc1e69666eb1b3acf50d74d5f8ea2bdd9
Author: René Wagner <rwagner@rw-net.de>
Date:   Thu, 17 Sep 2020 19:18:25 +0200

new icon when in pause mode

Diffstat:
MWorkTimeHero/AboutBox.resx | 2++
MWorkTimeHero/MainForm.Designer.cs | 3+++
MWorkTimeHero/MainForm.cs | 39+++++++++++++++++++++++----------------
MWorkTimeHero/MainForm.resx | 76++++++++++++++++++++++++++++++++++++++--------------------------------------
MWorkTimeHero/Properties/Resources.Designer.cs | 46+++++++++++++++++++++++++++++++++-------------
MWorkTimeHero/Properties/Resources.resx | 276++++++++++++++++++++++++++++++++++++++++---------------------------------------
MWorkTimeHero/WorkTimeHero.csproj | 45++++++++++++++++++++++++++++++---------------
AWorkTimeHero/clock-error-icon.ico | 0
AWorkTimeHero/clock-go-icon.ico | 0
AWorkTimeHero/clock-icon.ico | 0
AWorkTimeHero/clock-pause-icon.ico | 0
AWorkTimeHero/clock-play-icon.ico | 0
AWorkTimeHero/clock-red-icon.ico | 0
AWorkTimeHero/clock-stop-icon.ico | 0
DWorkTimeHero/clock.ico | 0
DWorkTimeHero/clock_15.ico | 0
DWorkTimeHero/clock_45.ico | 0
DWorkTimeHero/clock_error.ico | 0
DWorkTimeHero/clock_red.ico | 0
19 files changed, 270 insertions(+), 217 deletions(-)

diff --git a/WorkTimeHero/AboutBox.resx b/WorkTimeHero/AboutBox.resx @@ -607,6 +607,8 @@ Kleines Windows-Tool zum Erfassen der täglichen Arbeitszeit. https://git.sr.ht/~rwa/worktimehero +Icons von famfamfam: http://famfamfam.com + ## Funktionen - Startet Zeiterfassung automatisch beim Programmstart - versteckt sich im Systemtray mit einem kleinen Icon diff --git a/WorkTimeHero/MainForm.Designer.cs b/WorkTimeHero/MainForm.Designer.cs @@ -163,6 +163,7 @@ // // ntiWorkTimeHero // + this.ntiWorkTimeHero.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info; this.ntiWorkTimeHero.ContextMenuStrip = this.cmsNotifyIcon; this.ntiWorkTimeHero.Icon = ((System.Drawing.Icon)(resources.GetObject("ntiWorkTimeHero.Icon"))); this.ntiWorkTimeHero.Text = "WorkTimeHero"; @@ -328,9 +329,11 @@ this.Controls.Add(this.dtpIndividualBreak); this.Controls.Add(this.dtpStartTime); this.Controls.Add(this.lblStartTime); + this.DoubleBuffered = true; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; + this.MinimizeBox = false; this.Name = "MainForm"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.Text = "WorkTimeHero"; diff --git a/WorkTimeHero/MainForm.cs b/WorkTimeHero/MainForm.cs @@ -9,6 +9,7 @@ using WorkTimeHero.Properties; using IWshRuntimeLibrary; using System.IO; using File = System.IO.File; +using System.Diagnostics; namespace WorkTimeHero { @@ -112,27 +113,33 @@ namespace WorkTimeHero private void RefreshIcons() { - Icon newIcon = Resources.clock; + Icon newIcon = Resources.clock_play_icon; ToolTipIcon newToolTipIcon = ToolTipIcon.Info; - if (wtc.WorkTimePercentage > 25) - { - newIcon = Resources.clock_15; - } - if (wtc.WorkTimePercentage > 75) - { - newIcon = Resources.clock_45; - } - if (wtc.RemainingWorkTime.TotalMinutes <= 0) + if (wtc.IsInBreak) { - newIcon = Resources.clock_error; - newToolTipIcon = ToolTipIcon.Warning; + newIcon = Resources.clock_pause_icon; } - if (wtc.DoneWorkTime.TotalMinutes >= 615) + else { - newIcon = Resources.clock_red; - newToolTipIcon = ToolTipIcon.Error; + //if (wtc.WorkTimePercentage > 25) + //{ + // newIcon = Resources.clock_15; + //} + if (wtc.WorkTimePercentage > 50) + { + newIcon = Resources.clock_go_icon; + } + if (wtc.RemainingWorkTime.TotalMinutes <= 0) + { + newIcon = Resources.clock_error_icon; + newToolTipIcon = ToolTipIcon.Warning; + } + if (wtc.DoneWorkTime.TotalMinutes >= 600) + { + newIcon = Resources.clock_red_icon; + newToolTipIcon = ToolTipIcon.Error; + } } - ntiWorkTimeHero.Icon = newIcon; Icon = newIcon; ntiWorkTimeHero.BalloonTipIcon = newToolTipIcon; diff --git a/WorkTimeHero/MainForm.resx b/WorkTimeHero/MainForm.resx @@ -130,49 +130,49 @@ <data name="ntiWorkTimeHero.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA - AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8AAAAAAAAAADMAAAAyAAAAEAAAABkAAAAxAAAAMwAAADMAAAAzAAAAMQAAABkAAAAQAAAAMgAA - ADMAAAAA////AAAAAABFou//QKTz/CZ8snSXLEOWrTta+Kw8Xf+sO13/rDxd/607WviXLEOWJnyydECk - 8/xFou//AAAAAP///wAAAAAARKz2+4bo//+gSm3/tkFY/7hVXv+5Wl//uVpf/7laX/+4VV7/tkFY/6BK - bf+E5v//RKz2+wAAAAD///8AAAAAADKe02KhTG7/uUhX/8BdYf/TcnP/4Hx9/+B8ff/gfH3/03Jz/8Bd - Yf+5SFf/oUxu/zKe02IAAAAA////AAAAAACZMkOVukpc/8Zpbv/fe3z/4s/P/+n///+Zraz/6P///+LO - zv/fe3v/xmlu/7pKXP+ZMkOVAAAAAP///wAAAAAAsENY+MZvev/bfX//383O/9/////i////4v///97/ - ///d////3szO/9t9f//Gb3r/sENY+AAAAAD///8AAAAAALBFWf/TiZP/54GA/9X////a////VElH/7bO - 0P/Z/f//1fz//9X////ngYD/04mT/7BFWf8AAAAA////AAAAAACxR1f/25ij/+qCgf+Am5z/1P///7XR - 1P9aUE7/rsbJ/8/5/v9+mJr/6YKB/9uYo/+xR1f/AAAAAP///wAAAAAAtUVS/+Wos//tg4P/xP///6rM - 0P9eVFH/rcnN/8j1/P/E8/n/wfz//+yDgv/lqLP/tUVS/wAAAAD///8AAAAAIrRKVf/loa3/7ZSX/9LJ - zf9aV1T/pMjP/8H2//+88Pj/t/H6/83Dxv/sk5b/5aGt/7RKVf8AAAAi////ADyc47p+eaL/zmtx//a+ - y//xiYr/zsXM/7D2//9lhYr/rfL8/8q/xf/vhob/9b3K/85rcf9+eaL/PJzjuv///wBIr/T/UcX//6tb - Zf/cjJP//s3a//Wgo//yhoT/9IaE//KGg//1n6L//cza/9yLk/+rW2X/UcX//0iv9P////8ATbHy+mfX - /f9o1/v/r2Fl/9N0ef/4yNb//+f5///n+f//5/n/+MjW/9N0ef+vYWX/aNf7/2fX/f9NsfL6////AFC4 - 9Fxaxvf/efH//3r///+Fjqf/sVZY/7ZRUP+1UlH/tlFQ/7FWWP+Fjqf/ev///3nx//9axvf/ULj0XP// - /wAAAAAAUbz1XFG89fpOwPv/Rcn/qQAAAAAAAAAAAAAAAAAAAAAAAAAARcn/qU7A+/9RvPX6Ubz1XAAA - AAD///8A//8AAIADAACAAwAAgAMAAIADAACAAwAAgAMAAIADAACAAwAAgAMAAAABAAAAAQAAAAEAAAAB - AAAAAQAAh8MAAA== + AAD///8AoqKiDKKiotiioqL5oqKiK////wD///8A////AP///wD///8AO4hC7kOQSv8zejj/hpeI66Ki + ohj///8A////ALS0tBW0tLTz29vb/7Ozsu18Wi+Be1gswHtYLO17WCzte1gswEWRSvd4yoH/YLFo/zN7 + OP9ail5S////AP///wD///8AxsbGQdPT0//Cv738nGs7/6ZsNf+ubzf/rm83/6ZsNf9Rm1L/f86J/37P + iP9ismr/NH46+i52Mzb///8A////AIxlNmejiGn1r3hE/7uMXv/Ck3H/xJF0/8OPcf+/kGz/WaZc/4bS + kP9uynr/gtGL/2S0bf81gDz3////AJZtOzSWbTvVs31G/8KZcf/Yqon/79/P//r28//69fP/79/R/2Gx + Zf+M1Zf/ds+D/4jUkv9runT/PYtE/////wChdUGAsIBK/8abb//Zqoj///7r///67v///fL///7y///8 + 7/9qv3P/ktme/5LZnf93xYH/Waph/0WWTTb///8ArH5IwL+PWP/No4H/8NvB///35v/68uP/xcC2//Ht + 3v///Oj/bsV3/5fco/+Bzo3/ZLlu/5SJTc3///8A////ALeHTu3JnGb/z5+A//rz4v/99un/8vDj/42M + hP+Bf3f/0s/C/3LKfP9mw3H/Yr5t/7KiZv+3h07t////AP///wDCkFTtzqZx/9Glif/69un//fju//// + +f+BgHn/sa6k/4F/d//Jxrr/2+e//8mWcv/OpnH/wpBU7f///wD///8AzZlbwNOsdf/Zt5j/8ePW//77 + 9f/19fP/n56V//Dw6f/4+PL/vrmt//Dawv/Sqof/06x1/82ZW8D///8A////ALOddIvTrXf/38Sa/969 + qv//////8PDu/+fl2v////f////3///+8//ctJj/28CW/8Kqfv/Gn2qF////AACZ3T0KmtjZLpzF9d6/ + iv/iyaf/37+u//Hj3P/z8ez/9PHr//Hi2f/cuqP/38Oe/4yxqf84ptH4DprWzgCZ3ScAoON9fNHy7WHD + 6O86pMb74seS/+bRqf/gwqb/1a6W/9Wrkv/evaD/5M+m/7/Bnv9Hstf9q+P2/Cmw6NkAoOMnAKfpe13J + 8eW16Pn/Ycfr7zqqzPPsxIj/6cuU/+fQnf/n0J3/6cuU/97Cjv8yqtD1gdPw9XPQ8+oAp+nNAKfpBQCu + 7wUAru+KW8v05L/s+v9cy/HpTbLJxPq8dMD6vHTt+rx07fq8dMBRssjCac/y7HzW9u0Aru/JAK7vHf// + /wD///8AALX0AgC19IAAtfTRALX0ygC19Af///8A////AP///wD///8AALX0FwC19NEAtfTJALX0J/// + /wD///8Ah8EAAIABAADAAAAAwAAAAIAAAACAAAAAgAEAAIABAACAAQAAgAEAAIABAAAAAAAAAAAAAAAA + AAAAAQAAg8MAAA== </value> </data> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA - AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// - /wD///8AAAAAAAAAADMAAAAyAAAAEAAAABkAAAAxAAAAMwAAADMAAAAzAAAAMQAAABkAAAAQAAAAMgAA - ADMAAAAA////AAAAAABFou//QKTz/CZ8snSXLEOWrTta+Kw8Xf+sO13/rDxd/607WviXLEOWJnyydECk - 8/xFou//AAAAAP///wAAAAAARKz2+4bo//+gSm3/tkFY/7hVXv+5Wl//uVpf/7laX/+4VV7/tkFY/6BK - bf+E5v//RKz2+wAAAAD///8AAAAAADKe02KhTG7/uUhX/8BdYf/TcnP/4Hx9/+B8ff/gfH3/03Jz/8Bd - Yf+5SFf/oUxu/zKe02IAAAAA////AAAAAACZMkOVukpc/8Zpbv/fe3z/4s/P/+n///+Zraz/6P///+LO - zv/fe3v/xmlu/7pKXP+ZMkOVAAAAAP///wAAAAAAsENY+MZvev/bfX//383O/9/////i////4v///97/ - ///d////3szO/9t9f//Gb3r/sENY+AAAAAD///8AAAAAALBFWf/TiZP/54GA/9X////a////VElH/7bO - 0P/Z/f//1fz//9X////ngYD/04mT/7BFWf8AAAAA////AAAAAACxR1f/25ij/+qCgf+Am5z/1P///7XR - 1P9aUE7/rsbJ/8/5/v9+mJr/6YKB/9uYo/+xR1f/AAAAAP///wAAAAAAtUVS/+Wos//tg4P/xP///6rM - 0P9eVFH/rcnN/8j1/P/E8/n/wfz//+yDgv/lqLP/tUVS/wAAAAD///8AAAAAIrRKVf/loa3/7ZSX/9LJ - zf9aV1T/pMjP/8H2//+88Pj/t/H6/83Dxv/sk5b/5aGt/7RKVf8AAAAi////ADyc47p+eaL/zmtx//a+ - y//xiYr/zsXM/7D2//9lhYr/rfL8/8q/xf/vhob/9b3K/85rcf9+eaL/PJzjuv///wBIr/T/UcX//6tb - Zf/cjJP//s3a//Wgo//yhoT/9IaE//KGg//1n6L//cza/9yLk/+rW2X/UcX//0iv9P////8ATbHy+mfX - /f9o1/v/r2Fl/9N0ef/4yNb//+f5///n+f//5/n/+MjW/9N0ef+vYWX/aNf7/2fX/f9NsfL6////AFC4 - 9Fxaxvf/efH//3r///+Fjqf/sVZY/7ZRUP+1UlH/tlFQ/7FWWP+Fjqf/ev///3nx//9axvf/ULj0XP// - /wAAAAAAUbz1XFG89fpOwPv/Rcn/qQAAAAAAAAAAAAAAAAAAAAAAAAAARcn/qU7A+/9RvPX6Ubz1XAAA - AAD///8A//8AAIADAACAAwAAgAMAAIADAACAAwAAgAMAAIADAACAAwAAgAMAAAABAAAAAQAAAAEAAAAB - AAAAAQAAh8MAAA== + AAD///8AoqKiDKKiotiioqL5oqKiK////wD///8A////AP///wD///8A////AKKioiCioqLwoqKi5aKi + ohj///8A////ALS0tBW0tLTz29vb/7Ozsu18Wi+Be1gswHtYLO17WCzte1gswHtYLICzs7Ly2dnZ/7S0 + tPu0tLQj////AP///wD///8AxsbGQdPT0//Cv738nGs7/6ZsNf+ubzf/rm83/6ZsNf+hdkr/xcTD/sbG + xf7GxsY+////AP///wD///8A////AIxlNmejiGn1r3hE/7uMXv/Ck3H/xJF0/8OPcf+/kGz/uIpd/7SG + Wf+hhWT1jGU2Z////wD///8A////AJZtOzSWbTvVs31G/8KZcf/Yqon/79/P//r28//69fP/79/R/9en + hf++lGz/s31G/5ZtO9WWbTs0////AP///wChdUGAsIBK/8abb//Zqoj///7r///67v///fL///7y///8 + 7////ev/2aN6/8KZbP+wgEr/oXVBgP///wD///8ArH5IwL+PWP/No4H/8NvB///35v/68uP/xcC2//Ht + 3v///Oj///Xf/+/Ur//ImXL/v49Y/6x+SMD///8A////ALeHTu3JnGb/z5+A//rz4v/99un/8vDj/42M + hP+Bf3f/0s/C///76//67Mz/x5Bt/8mcZv+3h07t////AP///wDCkFTtzqZx/9Glif/69un//fju//// + +f+BgHn/sa6k/4F/d//Jxrr/+vDT/8mWcv/OpnH/wpBU7f///wD///8AzZlbwNOsdf/Zt5j/8ePW//77 + 9f/19fP/n56V//Dw6f/4+PL/vrmt//Dawv/Sqof/06x1/82ZW8D///8A////ALOddIvTrXf/38Sa/969 + qv//////8PDu/+fl2v////f////3///+8//ctJj/28CW/8Kqfv/Gn2qF////AACZ3T0KmtjZLpzF9d6/ + iv/iyaf/37+u//Hj3P/z8ez/9PHr//Hi2f/cuqP/38Oe/4yxqf84ptH4DprWzgCZ3ScAoON9fNHy7WHD + 6O86pMb74seS/+bRqf/gwqb/1a6W/9Wrkv/evaD/5M+m/7/Bnv9Hstf9q+P2/Cmw6NkAoOMnAKfpe13J + 8eW16Pn/Ycfr7zqqzPPsxIj/6cuU/+fQnf/n0J3/6cuU/97Cjv8yqtD1gdPw9XPQ8+oAp+nNAKfpBQCu + 7wUAru+KW8v05L/s+v9cy/HpTbLJxPq8dMD6vHTt+rx07fq8dMBRssjCac/y7HzW9u0Aru/JAK7vHf// + /wD///8AALX0AgC19IAAtfTRALX0ygC19Af///8A////AP///wD///8AALX0FwC19NEAtfTJALX0J/// + /wD///8Ah+EAAIABAADAAwAAwAMAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAAAAAAAAAAAAAAA + AAAAAQAAg8MAAA== </value> </data> </root> \ No newline at end of file diff --git a/WorkTimeHero/Properties/Resources.Designer.cs b/WorkTimeHero/Properties/Resources.Designer.cs @@ -22,7 +22,7 @@ namespace WorkTimeHero.Properties { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { + public class Resources { private static global::System.Resources.ResourceManager resourceMan; @@ -36,7 +36,7 @@ namespace WorkTimeHero.Properties { /// Returns the cached ResourceManager instance used by this class. /// </summary> [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + public static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WorkTimeHero.Properties.Resources", typeof(Resources).Assembly); @@ -51,7 +51,7 @@ namespace WorkTimeHero.Properties { /// resource lookups using this strongly typed resource class. /// </summary> [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + public static global::System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -63,9 +63,9 @@ namespace WorkTimeHero.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// </summary> - internal static System.Drawing.Icon clock { + public static System.Drawing.Icon clock_error_icon { get { - object obj = ResourceManager.GetObject("clock", resourceCulture); + object obj = ResourceManager.GetObject("clock_error_icon", resourceCulture); return ((System.Drawing.Icon)(obj)); } } @@ -73,9 +73,9 @@ namespace WorkTimeHero.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// </summary> - internal static System.Drawing.Icon clock_15 { + public static System.Drawing.Icon clock_go_icon { get { - object obj = ResourceManager.GetObject("clock_15", resourceCulture); + object obj = ResourceManager.GetObject("clock_go_icon", resourceCulture); return ((System.Drawing.Icon)(obj)); } } @@ -83,9 +83,9 @@ namespace WorkTimeHero.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// </summary> - internal static System.Drawing.Icon clock_45 { + public static System.Drawing.Icon clock_icon { get { - object obj = ResourceManager.GetObject("clock_45", resourceCulture); + object obj = ResourceManager.GetObject("clock_icon", resourceCulture); return ((System.Drawing.Icon)(obj)); } } @@ -93,9 +93,9 @@ namespace WorkTimeHero.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// </summary> - internal static System.Drawing.Icon clock_error { + public static System.Drawing.Icon clock_pause_icon { get { - object obj = ResourceManager.GetObject("clock_error", resourceCulture); + object obj = ResourceManager.GetObject("clock_pause_icon", resourceCulture); return ((System.Drawing.Icon)(obj)); } } @@ -103,9 +103,29 @@ namespace WorkTimeHero.Properties { /// <summary> /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// </summary> - internal static System.Drawing.Icon clock_red { + public static System.Drawing.Icon clock_play_icon { get { - object obj = ResourceManager.GetObject("clock_red", resourceCulture); + object obj = ResourceManager.GetObject("clock_play_icon", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> + public static System.Drawing.Icon clock_red_icon { + get { + object obj = ResourceManager.GetObject("clock_red_icon", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// <summary> + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// </summary> + public static System.Drawing.Icon clock_stop_icon { + get { + object obj = ResourceManager.GetObject("clock_stop_icon", resourceCulture); return ((System.Drawing.Icon)(obj)); } } diff --git a/WorkTimeHero/Properties/Resources.resx b/WorkTimeHero/Properties/Resources.resx @@ -1,136 +1,142 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : 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"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <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"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <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" 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"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <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=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="clock" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\clock.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="clock_15" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\clock_15.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="clock_45" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\clock_45.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="clock_error" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\clock_error.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> - <data name="clock_red" type="System.Resources.ResXFileRef, System.Windows.Forms"> - <value>..\clock_red.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> - </data> +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : 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"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <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"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <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" 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"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <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=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="clock_error_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-error-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_go_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-go-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_pause_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-pause-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_play_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-play-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_red_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-red-icon.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> + </data> + <data name="clock_stop_icon" type="System.Resources.ResXFileRef, System.Windows.Forms"> + <value>..\clock-stop-icon.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/WorkTimeHero/WorkTimeHero.csproj b/WorkTimeHero/WorkTimeHero.csproj @@ -43,7 +43,8 @@ <AssemblyOriginatorKeyFile>..\sgKey.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <PropertyGroup> - <ApplicationIcon>clock.ico</ApplicationIcon> + <ApplicationIcon> + </ApplicationIcon> </PropertyGroup> <PropertyGroup> <StartupObject>WorkTimeHero.Program</StartupObject> @@ -73,6 +74,11 @@ </Compile> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> <Compile Include="Settings.cs" /> <Compile Include="WorkTimeCalculator.cs" /> <EmbeddedResource Include="AboutBox.resx"> @@ -82,15 +88,10 @@ <DependentUpon>MainForm.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="Properties\Resources.resx"> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> + <Generator>PublicResXFileCodeGenerator</Generator> <SubType>Designer</SubType> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> - <Compile Include="Properties\Resources.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Resources.resx</DependentUpon> - <DesignTime>True</DesignTime> - </Compile> <None Include="..\..\StrongName.snk"> <Link>StrongName.snk</Link> </None> @@ -111,13 +112,6 @@ <None Include="App.config" /> </ItemGroup> <ItemGroup> - <Content Include="clock.ico" /> - <Content Include="clock_15.ico" /> - <Content Include="clock_45.ico" /> - <Content Include="clock_error.ico" /> - <Content Include="clock_red.ico" /> - </ItemGroup> - <ItemGroup> <COMReference Include="IWshRuntimeLibrary"> <Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid> <VersionMajor>1</VersionMajor> @@ -128,6 +122,27 @@ <EmbedInteropTypes>True</EmbedInteropTypes> </COMReference> </ItemGroup> + <ItemGroup> + <None Include="clock-pause-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-go-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-red-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-error-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-play-icon.ico" /> + </ItemGroup> + <ItemGroup> + <None Include="clock-stop-icon.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/WorkTimeHero/clock-error-icon.ico b/WorkTimeHero/clock-error-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-go-icon.ico b/WorkTimeHero/clock-go-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-icon.ico b/WorkTimeHero/clock-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-pause-icon.ico b/WorkTimeHero/clock-pause-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-play-icon.ico b/WorkTimeHero/clock-play-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-red-icon.ico b/WorkTimeHero/clock-red-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock-stop-icon.ico b/WorkTimeHero/clock-stop-icon.ico Binary files differ. diff --git a/WorkTimeHero/clock.ico b/WorkTimeHero/clock.ico Binary files differ. diff --git a/WorkTimeHero/clock_15.ico b/WorkTimeHero/clock_15.ico Binary files differ. diff --git a/WorkTimeHero/clock_45.ico b/WorkTimeHero/clock_45.ico Binary files differ. diff --git a/WorkTimeHero/clock_error.ico b/WorkTimeHero/clock_error.ico Binary files differ. diff --git a/WorkTimeHero/clock_red.ico b/WorkTimeHero/clock_red.ico Binary files differ.