worktimehero

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

commit 6171b8ca2f11f77a86021c9df9fc8b05d15c678f
parent b317f377571f5c19cde3e2d61ccb67f75853caf0
Author: René Wagner <rwagner@rw-net.de>
Date:   Thu,  7 May 2020 10:57:34 +0200

~rwa/misc#13: sign binary with StrongNameKey
~rwa/misc#14: allow to en-/disable autostart

Diffstat:
M.gitignore | 16+++-------------
MLICENSE | 0
MREADME.md | 0
MWorkTimeHero.sln | 74++++++++++++++++++++++++++++++++++++--------------------------------------
MWorkTimeHero.vssscc | 0
MWorkTimeHero/MainForm.Designer.cs | 549+++++++++++++++++++++++++++++++++++++++++--------------------------------------
MWorkTimeHero/MainForm.cs | 361+++++++++++++++++++++++++++++++++++++++++++------------------------------------
MWorkTimeHero/MainForm.resx | 354++++++++++++++++++++++++++++++++++++++++----------------------------------------
MWorkTimeHero/Properties/AssemblyInfo.cs | 6+++---
MWorkTimeHero/WorkTimeHero.csproj | 238++++++++++++++++++++++++++++++++++++++++++-------------------------------------
MWorkTimeHero/WorkTimeHero.csproj.vspscc | 0
MWorkTimeHero/vssver2.scc | 0
MWorkTimeHeroTest/WorkTimeHeroTest.csproj | 219++++++++++++++++++++++++++++++++++++++++++-------------------------------------
MWorkTimeHeroTest/WorkTimeHeroTest.csproj.vspscc | 0
MWorkTimeHeroTest/vssver2.scc | 0
AsgKey.snk | 0
Mvssver2.scc | 0
17 files changed, 943 insertions(+), 874 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1,13 +1,3 @@ -/WorkTimeHero/bin/Debug/WorkTimeHero.exe -/WorkTimeHero/bin/Debug/WorkTimeHero.exe.config -/WorkTimeHero/bin/Debug/WorkTimeHero.pdb -/WorkTimeHero/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -/WorkTimeHero/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -/WorkTimeHero/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -/WorkTimeHero/obj/Debug/WorkTimeHero.csproj.FileListAbsolute.txt -/WorkTimeHero/obj/Debug/WorkTimeHero.csproj.GenerateResource.Cache -/WorkTimeHero/obj/Debug/WorkTimeHero.csprojResolveAssemblyReference.cache -/WorkTimeHero/obj/Debug/WorkTimeHero.exe -/WorkTimeHero/obj/Debug/WorkTimeHero.MainForm.resources -/WorkTimeHero/obj/Debug/WorkTimeHero.pdb -/WorkTimeHero/obj/Debug/WorkTimeHero.Properties.Resources.resources +/.vs/* +obj/ +bin/ diff --git a/LICENSE b/LICENSE diff --git a/README.md b/README.md diff --git a/WorkTimeHero.sln b/WorkTimeHero.sln @@ -1,38 +1,36 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTimeHero", "WorkTimeHero\WorkTimeHero.csproj", "{5562D843-C5C9-4097-9E20-B280A410EE83}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTimeHeroTest", "WorkTimeHeroTest\WorkTimeHeroTest.csproj", "{C5EBE147-90B4-47E5-8DB2-4DA723A3015C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5562D843-C5C9-4097-9E20-B280A410EE83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5562D843-C5C9-4097-9E20-B280A410EE83}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5562D843-C5C9-4097-9E20-B280A410EE83}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5562D843-C5C9-4097-9E20-B280A410EE83}.Release|Any CPU.Build.0 = Release|Any CPU - {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(SourceCodeControl) = preSolution - SccNumberOfProjects = 3 - SccLocalPath0 = . - SccProjectUniqueName1 = WorkTimeHero\\WorkTimeHero.csproj - SccLocalPath1 = . - SccProjectFilePathRelativizedFromConnection1 = WorkTimeHero\\ - SccProjectUniqueName2 = WorkTimeHeroTest\\WorkTimeHeroTest.csproj - SccLocalPath2 = . - SccProjectFilePathRelativizedFromConnection2 = WorkTimeHeroTest\\ - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTimeHero", "WorkTimeHero\WorkTimeHero.csproj", "{5562D843-C5C9-4097-9E20-B280A410EE83}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkTimeHeroTest", "WorkTimeHeroTest\WorkTimeHeroTest.csproj", "{C5EBE147-90B4-47E5-8DB2-4DA723A3015C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C1F09768-BAAA-4F46-9A94-F63522C3CD74}" + ProjectSection(SolutionItems) = preProject + sgKey.snk = sgKey.snk + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5562D843-C5C9-4097-9E20-B280A410EE83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5562D843-C5C9-4097-9E20-B280A410EE83}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5562D843-C5C9-4097-9E20-B280A410EE83}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5562D843-C5C9-4097-9E20-B280A410EE83}.Release|Any CPU.Build.0 = Release|Any CPU + {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5EBE147-90B4-47E5-8DB2-4DA723A3015C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B7BCB679-08E8-4DC5-A5DD-ABB682023AC3} + EndGlobalSection +EndGlobal diff --git a/WorkTimeHero.vssscc b/WorkTimeHero.vssscc diff --git a/WorkTimeHero/MainForm.Designer.cs b/WorkTimeHero/MainForm.Designer.cs @@ -28,272 +28,286 @@ /// </summary> private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.lblStartTime = new System.Windows.Forms.Label(); - this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); - this.dtpBreak = new System.Windows.Forms.DateTimePicker(); - this.prgPercentage = new System.Windows.Forms.ProgressBar(); - this.lblCompleted = new System.Windows.Forms.Label(); - this.refreshTimer = new System.Windows.Forms.Timer(this.components); - this.lblRemaining = new System.Windows.Forms.Label(); - this.lblOvertime = new System.Windows.Forms.Label(); - this.lblTimeDue = new System.Windows.Forms.Label(); - this.cboIndividualBreak = new System.Windows.Forms.CheckBox(); - this.ntiWorkTimeHero = new System.Windows.Forms.NotifyIcon(this.components); - this.cmsNotifyIcon = new System.Windows.Forms.ContextMenuStrip(this.components); - this.tsmiToogleView = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.tsmiBeenden = new System.Windows.Forms.ToolStripMenuItem(); - this.lblBuchungVorlauf = new System.Windows.Forms.Label(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.lblSollzeit = new System.Windows.Forms.Label(); - this.dtpTargetTime = new System.Windows.Forms.DateTimePicker(); - this.nudPreamp = new System.Windows.Forms.NumericUpDown(); - this.cmsNotifyIcon.SuspendLayout(); - this.groupBox1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudPreamp)).BeginInit(); - this.SuspendLayout(); - // - // lblStartTime - // - this.lblStartTime.AutoSize = true; - this.lblStartTime.Font = new System.Drawing.Font("Consolas", 9.75F); - this.lblStartTime.Location = new System.Drawing.Point(9, 83); - this.lblStartTime.Name = "lblStartTime"; - this.lblStartTime.Size = new System.Drawing.Size(98, 15); - this.lblStartTime.TabIndex = 0; - this.lblStartTime.Text = "Arbeitsbeginn"; - // - // dtpStartTime - // - this.dtpStartTime.CustomFormat = "HH:mm"; - this.dtpStartTime.Font = new System.Drawing.Font("Consolas", 9.75F); - this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpStartTime.Location = new System.Drawing.Point(226, 77); - this.dtpStartTime.Name = "dtpStartTime"; - this.dtpStartTime.ShowUpDown = true; - this.dtpStartTime.Size = new System.Drawing.Size(67, 23); - this.dtpStartTime.TabIndex = 0; - this.dtpStartTime.ValueChanged += new System.EventHandler(this.dtpStartTime_ValueChanged); - // - // dtpBreak - // - this.dtpBreak.CustomFormat = "HH:mm"; - this.dtpBreak.Enabled = false; - this.dtpBreak.Font = new System.Drawing.Font("Consolas", 9.75F); - this.dtpBreak.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpBreak.Location = new System.Drawing.Point(226, 106); - this.dtpBreak.Name = "dtpBreak"; - this.dtpBreak.ShowUpDown = true; - this.dtpBreak.Size = new System.Drawing.Size(67, 23); - this.dtpBreak.TabIndex = 1; - this.dtpBreak.Value = new System.DateTime(2016, 1, 1, 0, 45, 0, 0); - this.dtpBreak.ValueChanged += new System.EventHandler(this.dtpBreak_ValueChanged); - // - // prgPercentage - // - this.prgPercentage.Location = new System.Drawing.Point(12, 49); - this.prgPercentage.Name = "prgPercentage"; - this.prgPercentage.Size = new System.Drawing.Size(440, 23); - this.prgPercentage.TabIndex = 4; - // - // lblCompleted - // - this.lblCompleted.AutoSize = true; - this.lblCompleted.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblCompleted.Location = new System.Drawing.Point(9, 9); - this.lblCompleted.Name = "lblCompleted"; - this.lblCompleted.Size = new System.Drawing.Size(84, 15); - this.lblCompleted.TabIndex = 5; - this.lblCompleted.Text = "Arbeitszeit"; - // - // refreshTimer - // - this.refreshTimer.Interval = 11500; - this.refreshTimer.Tick += new System.EventHandler(this.refreshTimer_Tick); - // - // lblRemaining - // - this.lblRemaining.AutoSize = true; - this.lblRemaining.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblRemaining.Location = new System.Drawing.Point(9, 31); - this.lblRemaining.Name = "lblRemaining"; - this.lblRemaining.Size = new System.Drawing.Size(84, 15); - this.lblRemaining.TabIndex = 6; - this.lblRemaining.Text = "Verbleibend"; - // - // lblOvertime - // - this.lblOvertime.AutoSize = true; - this.lblOvertime.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblOvertime.Location = new System.Drawing.Point(223, 9); - this.lblOvertime.Name = "lblOvertime"; - this.lblOvertime.Size = new System.Drawing.Size(84, 15); - this.lblOvertime.TabIndex = 7; - this.lblOvertime.Text = "Überstunden"; - // - // lblTimeDue - // - this.lblTimeDue.AutoSize = true; - this.lblTimeDue.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lblTimeDue.Location = new System.Drawing.Point(223, 31); - this.lblTimeDue.Name = "lblTimeDue"; - this.lblTimeDue.Size = new System.Drawing.Size(105, 15); - this.lblTimeDue.TabIndex = 8; - this.lblTimeDue.Text = "Arbeitsende um"; - // - // cboIndividualBreak - // - this.cboIndividualBreak.AutoSize = true; - this.cboIndividualBreak.Font = new System.Drawing.Font("Consolas", 9.75F); - this.cboIndividualBreak.Location = new System.Drawing.Point(12, 107); - this.cboIndividualBreak.Name = "cboIndividualBreak"; - this.cboIndividualBreak.Size = new System.Drawing.Size(201, 19); - this.cboIndividualBreak.TabIndex = 9; - this.cboIndividualBreak.Text = "individueller Pausenabzug"; - this.cboIndividualBreak.UseVisualStyleBackColor = true; - this.cboIndividualBreak.CheckedChanged += new System.EventHandler(this.cboIndividualBreak_CheckedChanged); - // - // ntiWorkTimeHero - // - this.ntiWorkTimeHero.ContextMenuStrip = this.cmsNotifyIcon; - this.ntiWorkTimeHero.Icon = ((System.Drawing.Icon)(resources.GetObject("ntiWorkTimeHero.Icon"))); - this.ntiWorkTimeHero.Text = "WorkTimeHero"; - this.ntiWorkTimeHero.Visible = true; - this.ntiWorkTimeHero.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.ntiWorkTimeHero_MouseDoubleClick); - // - // cmsNotifyIcon - // - this.cmsNotifyIcon.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.tsmiToogleView, - this.toolStripSeparator1, - this.tsmiBeenden}); - this.cmsNotifyIcon.Name = "cmsNotifyIcon"; - this.cmsNotifyIcon.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.cmsNotifyIcon.Size = new System.Drawing.Size(203, 54); - // - // tsmiToogleView - // - this.tsmiToogleView.Name = "tsmiToogleView"; - this.tsmiToogleView.Size = new System.Drawing.Size(202, 22); - this.tsmiToogleView.Text = "Fenster ein-/ausblenden"; - this.tsmiToogleView.Click += new System.EventHandler(this.tsmiToogleView_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(199, 6); - // - // tsmiBeenden - // - this.tsmiBeenden.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.tsmiBeenden.Name = "tsmiBeenden"; - this.tsmiBeenden.Size = new System.Drawing.Size(202, 22); - this.tsmiBeenden.Text = "Beenden"; - this.tsmiBeenden.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay; - this.tsmiBeenden.Click += new System.EventHandler(this.tsmiBeenden_Click); - // - // lblBuchungVorlauf - // - this.lblBuchungVorlauf.AutoSize = true; - this.lblBuchungVorlauf.Font = new System.Drawing.Font("Consolas", 9.75F); - this.lblBuchungVorlauf.Location = new System.Drawing.Point(6, 27); - this.lblBuchungVorlauf.Name = "lblBuchungVorlauf"; - this.lblBuchungVorlauf.Size = new System.Drawing.Size(140, 15); - this.lblBuchungVorlauf.TabIndex = 12; - this.lblBuchungVorlauf.Text = "Buchung Vorlaufzeit"; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.dtpTargetTime); - this.groupBox1.Controls.Add(this.lblSollzeit); - this.groupBox1.Controls.Add(this.lblBuchungVorlauf); - this.groupBox1.Controls.Add(this.nudPreamp); - this.groupBox1.Font = new System.Drawing.Font("Consolas", 9.75F); - this.groupBox1.Location = new System.Drawing.Point(12, 132); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(440, 81); - this.groupBox1.TabIndex = 14; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Einstellungen"; - // - // lblSollzeit - // - this.lblSollzeit.AutoSize = true; - this.lblSollzeit.Font = new System.Drawing.Font("Consolas", 9.75F); - this.lblSollzeit.Location = new System.Drawing.Point(6, 57); - this.lblSollzeit.Name = "lblSollzeit"; - this.lblSollzeit.Size = new System.Drawing.Size(63, 15); - this.lblSollzeit.TabIndex = 14; - this.lblSollzeit.Text = "Sollzeit"; - // - // dtpTargetTime - // - this.dtpTargetTime.CustomFormat = "HH:mm"; - this.dtpTargetTime.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::WorkTimeHero.Properties.Settings.Default, "TargetTime", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.dtpTargetTime.Font = new System.Drawing.Font("Consolas", 9.75F); - this.dtpTargetTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; - this.dtpTargetTime.Location = new System.Drawing.Point(214, 51); - this.dtpTargetTime.Name = "dtpTargetTime"; - this.dtpTargetTime.ShowUpDown = true; - this.dtpTargetTime.Size = new System.Drawing.Size(67, 23); - this.dtpTargetTime.TabIndex = 15; - this.dtpTargetTime.Value = global::WorkTimeHero.Properties.Settings.Default.TargetTime; - this.dtpTargetTime.ValueChanged += new System.EventHandler(this.dtpTargetTime_ValueChanged); - // - // nudPreamp - // - this.nudPreamp.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::WorkTimeHero.Properties.Settings.Default, "StartTimePreamp", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.nudPreamp.Font = new System.Drawing.Font("Consolas", 9.75F); - this.nudPreamp.Location = new System.Drawing.Point(214, 22); - this.nudPreamp.Maximum = new decimal(new int[] { - 0, - 0, - 0, - 0}); - this.nudPreamp.Minimum = new decimal(new int[] { - 60, - 0, - 0, - -2147483648}); - this.nudPreamp.Name = "nudPreamp"; - this.nudPreamp.Size = new System.Drawing.Size(67, 23); - this.nudPreamp.TabIndex = 0; - this.nudPreamp.Value = global::WorkTimeHero.Properties.Settings.Default.StartTimePreamp; - // - // MainForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(464, 225); - this.ControlBox = false; - this.Controls.Add(this.groupBox1); - this.Controls.Add(this.cboIndividualBreak); - this.Controls.Add(this.lblTimeDue); - this.Controls.Add(this.lblOvertime); - this.Controls.Add(this.lblRemaining); - this.Controls.Add(this.lblCompleted); - this.Controls.Add(this.prgPercentage); - this.Controls.Add(this.dtpBreak); - this.Controls.Add(this.dtpStartTime); - this.Controls.Add(this.lblStartTime); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.Name = "MainForm"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.Text = "WorkTimeHero"; - this.TopMost = true; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); - this.Load += new System.EventHandler(this.MainForm_Load); - this.cmsNotifyIcon.ResumeLayout(false); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.nudPreamp)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.lblStartTime = new System.Windows.Forms.Label(); + this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); + this.dtpBreak = new System.Windows.Forms.DateTimePicker(); + this.prgPercentage = new System.Windows.Forms.ProgressBar(); + this.lblCompleted = new System.Windows.Forms.Label(); + this.refreshTimer = new System.Windows.Forms.Timer(this.components); + this.lblRemaining = new System.Windows.Forms.Label(); + this.lblOvertime = new System.Windows.Forms.Label(); + this.lblTimeDue = new System.Windows.Forms.Label(); + this.cboIndividualBreak = new System.Windows.Forms.CheckBox(); + this.ntiWorkTimeHero = new System.Windows.Forms.NotifyIcon(this.components); + this.cmsNotifyIcon = new System.Windows.Forms.ContextMenuStrip(this.components); + this.tsmiToogleView = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.tsmiBeenden = new System.Windows.Forms.ToolStripMenuItem(); + this.lblBuchungVorlauf = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.dtpTargetTime = new System.Windows.Forms.DateTimePicker(); + this.lblSollzeit = new System.Windows.Forms.Label(); + this.nudPreamp = new System.Windows.Forms.NumericUpDown(); + this.cboAutostart = new System.Windows.Forms.CheckBox(); + this.cmsNotifyIcon.SuspendLayout(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nudPreamp)).BeginInit(); + this.SuspendLayout(); + // + // lblStartTime + // + this.lblStartTime.AutoSize = true; + this.lblStartTime.Font = new System.Drawing.Font("Consolas", 9.75F); + this.lblStartTime.Location = new System.Drawing.Point(9, 83); + this.lblStartTime.Name = "lblStartTime"; + this.lblStartTime.Size = new System.Drawing.Size(98, 15); + this.lblStartTime.TabIndex = 0; + this.lblStartTime.Text = "Arbeitsbeginn"; + // + // dtpStartTime + // + this.dtpStartTime.CustomFormat = "HH:mm"; + this.dtpStartTime.Font = new System.Drawing.Font("Consolas", 9.75F); + this.dtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpStartTime.Location = new System.Drawing.Point(226, 77); + this.dtpStartTime.Name = "dtpStartTime"; + this.dtpStartTime.ShowUpDown = true; + this.dtpStartTime.Size = new System.Drawing.Size(67, 23); + this.dtpStartTime.TabIndex = 0; + this.dtpStartTime.ValueChanged += new System.EventHandler(this.dtpStartTime_ValueChanged); + // + // dtpBreak + // + this.dtpBreak.CustomFormat = "HH:mm"; + this.dtpBreak.Enabled = false; + this.dtpBreak.Font = new System.Drawing.Font("Consolas", 9.75F); + this.dtpBreak.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpBreak.Location = new System.Drawing.Point(226, 106); + this.dtpBreak.Name = "dtpBreak"; + this.dtpBreak.ShowUpDown = true; + this.dtpBreak.Size = new System.Drawing.Size(67, 23); + this.dtpBreak.TabIndex = 1; + this.dtpBreak.Value = new System.DateTime(2016, 1, 1, 0, 45, 0, 0); + this.dtpBreak.ValueChanged += new System.EventHandler(this.dtpBreak_ValueChanged); + // + // prgPercentage + // + this.prgPercentage.Location = new System.Drawing.Point(12, 49); + this.prgPercentage.Name = "prgPercentage"; + this.prgPercentage.Size = new System.Drawing.Size(440, 23); + this.prgPercentage.TabIndex = 4; + // + // lblCompleted + // + this.lblCompleted.AutoSize = true; + this.lblCompleted.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblCompleted.Location = new System.Drawing.Point(9, 9); + this.lblCompleted.Name = "lblCompleted"; + this.lblCompleted.Size = new System.Drawing.Size(84, 15); + this.lblCompleted.TabIndex = 5; + this.lblCompleted.Text = "Arbeitszeit"; + // + // refreshTimer + // + this.refreshTimer.Interval = 11500; + this.refreshTimer.Tick += new System.EventHandler(this.refreshTimer_Tick); + // + // lblRemaining + // + this.lblRemaining.AutoSize = true; + this.lblRemaining.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblRemaining.Location = new System.Drawing.Point(9, 31); + this.lblRemaining.Name = "lblRemaining"; + this.lblRemaining.Size = new System.Drawing.Size(84, 15); + this.lblRemaining.TabIndex = 6; + this.lblRemaining.Text = "Verbleibend"; + // + // lblOvertime + // + this.lblOvertime.AutoSize = true; + this.lblOvertime.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblOvertime.Location = new System.Drawing.Point(223, 9); + this.lblOvertime.Name = "lblOvertime"; + this.lblOvertime.Size = new System.Drawing.Size(84, 15); + this.lblOvertime.TabIndex = 7; + this.lblOvertime.Text = "Überstunden"; + // + // lblTimeDue + // + this.lblTimeDue.AutoSize = true; + this.lblTimeDue.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblTimeDue.Location = new System.Drawing.Point(223, 31); + this.lblTimeDue.Name = "lblTimeDue"; + this.lblTimeDue.Size = new System.Drawing.Size(105, 15); + this.lblTimeDue.TabIndex = 8; + this.lblTimeDue.Text = "Arbeitsende um"; + // + // cboIndividualBreak + // + this.cboIndividualBreak.AutoSize = true; + this.cboIndividualBreak.Font = new System.Drawing.Font("Consolas", 9.75F); + this.cboIndividualBreak.Location = new System.Drawing.Point(12, 107); + this.cboIndividualBreak.Name = "cboIndividualBreak"; + this.cboIndividualBreak.Size = new System.Drawing.Size(201, 19); + this.cboIndividualBreak.TabIndex = 9; + this.cboIndividualBreak.Text = "individueller Pausenabzug"; + this.cboIndividualBreak.UseVisualStyleBackColor = true; + this.cboIndividualBreak.CheckedChanged += new System.EventHandler(this.cboIndividualBreak_CheckedChanged); + // + // ntiWorkTimeHero + // + this.ntiWorkTimeHero.ContextMenuStrip = this.cmsNotifyIcon; + this.ntiWorkTimeHero.Icon = ((System.Drawing.Icon)(resources.GetObject("ntiWorkTimeHero.Icon"))); + this.ntiWorkTimeHero.Text = "WorkTimeHero"; + this.ntiWorkTimeHero.Visible = true; + this.ntiWorkTimeHero.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.ntiWorkTimeHero_MouseDoubleClick); + // + // cmsNotifyIcon + // + this.cmsNotifyIcon.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsmiToogleView, + this.toolStripSeparator1, + this.tsmiBeenden}); + this.cmsNotifyIcon.Name = "cmsNotifyIcon"; + this.cmsNotifyIcon.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.cmsNotifyIcon.Size = new System.Drawing.Size(203, 54); + // + // tsmiToogleView + // + this.tsmiToogleView.Name = "tsmiToogleView"; + this.tsmiToogleView.Size = new System.Drawing.Size(202, 22); + this.tsmiToogleView.Text = "Fenster ein-/ausblenden"; + this.tsmiToogleView.Click += new System.EventHandler(this.tsmiToogleView_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(199, 6); + // + // tsmiBeenden + // + this.tsmiBeenden.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; + this.tsmiBeenden.Name = "tsmiBeenden"; + this.tsmiBeenden.Size = new System.Drawing.Size(202, 22); + this.tsmiBeenden.Text = "Beenden"; + this.tsmiBeenden.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay; + this.tsmiBeenden.Click += new System.EventHandler(this.tsmiBeenden_Click); + // + // lblBuchungVorlauf + // + this.lblBuchungVorlauf.AutoSize = true; + this.lblBuchungVorlauf.Font = new System.Drawing.Font("Consolas", 9.75F); + this.lblBuchungVorlauf.Location = new System.Drawing.Point(6, 27); + this.lblBuchungVorlauf.Name = "lblBuchungVorlauf"; + this.lblBuchungVorlauf.Size = new System.Drawing.Size(140, 15); + this.lblBuchungVorlauf.TabIndex = 12; + this.lblBuchungVorlauf.Text = "Buchung Vorlaufzeit"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.cboAutostart); + this.groupBox1.Controls.Add(this.dtpTargetTime); + this.groupBox1.Controls.Add(this.lblSollzeit); + this.groupBox1.Controls.Add(this.lblBuchungVorlauf); + this.groupBox1.Controls.Add(this.nudPreamp); + this.groupBox1.Font = new System.Drawing.Font("Consolas", 9.75F); + this.groupBox1.Location = new System.Drawing.Point(12, 132); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(440, 113); + this.groupBox1.TabIndex = 14; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Einstellungen"; + // + // dtpTargetTime + // + this.dtpTargetTime.CustomFormat = "HH:mm"; + this.dtpTargetTime.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::WorkTimeHero.Properties.Settings.Default, "TargetTime", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.dtpTargetTime.Font = new System.Drawing.Font("Consolas", 9.75F); + this.dtpTargetTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpTargetTime.Location = new System.Drawing.Point(214, 51); + this.dtpTargetTime.Name = "dtpTargetTime"; + this.dtpTargetTime.ShowUpDown = true; + this.dtpTargetTime.Size = new System.Drawing.Size(67, 23); + this.dtpTargetTime.TabIndex = 15; + this.dtpTargetTime.Value = global::WorkTimeHero.Properties.Settings.Default.TargetTime; + this.dtpTargetTime.ValueChanged += new System.EventHandler(this.dtpTargetTime_ValueChanged); + // + // lblSollzeit + // + this.lblSollzeit.AutoSize = true; + this.lblSollzeit.Font = new System.Drawing.Font("Consolas", 9.75F); + this.lblSollzeit.Location = new System.Drawing.Point(6, 57); + this.lblSollzeit.Name = "lblSollzeit"; + this.lblSollzeit.Size = new System.Drawing.Size(63, 15); + this.lblSollzeit.TabIndex = 14; + this.lblSollzeit.Text = "Sollzeit"; + // + // nudPreamp + // + this.nudPreamp.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::WorkTimeHero.Properties.Settings.Default, "StartTimePreamp", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.nudPreamp.Font = new System.Drawing.Font("Consolas", 9.75F); + this.nudPreamp.Location = new System.Drawing.Point(214, 22); + this.nudPreamp.Maximum = new decimal(new int[] { + 0, + 0, + 0, + 0}); + this.nudPreamp.Minimum = new decimal(new int[] { + 60, + 0, + 0, + -2147483648}); + this.nudPreamp.Name = "nudPreamp"; + this.nudPreamp.Size = new System.Drawing.Size(67, 23); + this.nudPreamp.TabIndex = 0; + this.nudPreamp.Value = global::WorkTimeHero.Properties.Settings.Default.StartTimePreamp; + // + // cboAutostart + // + this.cboAutostart.AutoSize = true; + this.cboAutostart.Font = new System.Drawing.Font("Consolas", 9.75F); + this.cboAutostart.Location = new System.Drawing.Point(9, 88); + this.cboAutostart.Name = "cboAutostart"; + this.cboAutostart.Size = new System.Drawing.Size(159, 19); + this.cboAutostart.TabIndex = 16; + this.cboAutostart.Text = "Mit Windows starten"; + this.cboAutostart.UseVisualStyleBackColor = true; + this.cboAutostart.CheckedChanged += new System.EventHandler(this.cboAutostart_CheckedChanged); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(464, 257); + this.ControlBox = false; + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.cboIndividualBreak); + this.Controls.Add(this.lblTimeDue); + this.Controls.Add(this.lblOvertime); + this.Controls.Add(this.lblRemaining); + this.Controls.Add(this.lblCompleted); + this.Controls.Add(this.prgPercentage); + this.Controls.Add(this.dtpBreak); + this.Controls.Add(this.dtpStartTime); + this.Controls.Add(this.lblStartTime); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "MainForm"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.Text = "WorkTimeHero"; + this.TopMost = true; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); + this.Load += new System.EventHandler(this.MainForm_Load); + this.cmsNotifyIcon.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nudPreamp)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion @@ -317,7 +331,8 @@ private System.Windows.Forms.Label lblBuchungVorlauf; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.DateTimePicker dtpTargetTime; - private System.Windows.Forms.Label lblSollzeit; + private System.Windows.Forms.Label lblSollzeit; + private System.Windows.Forms.CheckBox cboAutostart; } } diff --git a/WorkTimeHero/MainForm.cs b/WorkTimeHero/MainForm.cs @@ -1,165 +1,198 @@ -using System; -using System.Drawing; -using System.Windows.Forms; -using WorkTimeHero.Properties; - -namespace WorkTimeHero -{ - public partial class MainForm : Form - { - private const string TimeFormatter = @"h\:mm"; - - private WorkTimeCalculator wtc; - - public MainForm() - { - InitializeComponent(); - } - - private void MainForm_Load(object sender, EventArgs e) - { - dtpStartTime.Value = DateTime.Now.AddMinutes((int)Settings.Default.StartTimePreamp); - } - - private void RefreshDisplay() - { - prgPercentage.Value = wtc.WorkTimePercentage; - lblCompleted.Text = string.Format("{1,-20}{0}", wtc.DoneWorkTime.ToString(TimeFormatter), "Arbeitszeit:"); - lblOvertime.Text = string.Format("{1,-20}{0}", wtc.AdditionalWorkTime.ToString(TimeFormatter), "Überstunden:"); - lblRemaining.Text = string.Format("{1,-20}{0}", wtc.RemainingWorkTime.ToString(TimeFormatter), "Verbleibend:"); - lblTimeDue.Text = string.Format("{1,-20}{0}", wtc.TimeDue.ToString(TimeFormatter), "Uhrzeit:"); - - if (!dtpBreak.Enabled) - { - dtpBreak.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, wtc.CurrentBreakTime.Hours, wtc.CurrentBreakTime.Minutes, 0); - } - - RefreshTooltip(); - RefreshIcons(); - } - - private void RefreshTooltip() - { - string toolTipInfo = string.Empty; - if (wtc.AdditionalWorkTime.TotalMinutes > 0) - { - toolTipInfo = wtc.AdditionalWorkTime.ToString(TimeFormatter) + " Überstunden"; - if (!wtc.NotificationShown) - { - ntiWorkTimeHero.ShowBalloonTip(10, "Fertig!", "Sollzeit für heute erreicht!", ToolTipIcon.Info); - wtc.NotificationShown = true; - } - } - else - { - toolTipInfo = wtc.WorkTimePercentage + "% - noch " + wtc.RemainingWorkTime.ToString(TimeFormatter) + " Stunden"; - } - - ntiWorkTimeHero.Text = toolTipInfo + " - WorkTimeHero"; - } - - private void RefreshIcons() - { - Icon newIcon = Resources.clock; - 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) - { - newIcon = Resources.clock_error; - newToolTipIcon = ToolTipIcon.Warning; - } - if ( wtc.DoneWorkTime.TotalMinutes >= 600) - { - newIcon = Resources.clock_red; - newToolTipIcon = ToolTipIcon.Error; - } - - ntiWorkTimeHero.Icon = newIcon; - Icon = newIcon; - ntiWorkTimeHero.BalloonTipIcon = newToolTipIcon; - } - - private void refreshTimer_Tick(object sender, EventArgs e) - { - RefreshDisplay(); - } - - private void dtpStartTime_ValueChanged(object sender, EventArgs e) - { - refreshTimer.Enabled = true; - RefreshWtc(); - RefreshDisplay(); - } - - private void RefreshWtc() - { - wtc = new WorkTimeCalculator(new TimeSpan(dtpStartTime.Value.Hour, dtpStartTime.Value.Minute, 0)); - - wtc.TargetTime = dtpTargetTime.Value.TimeOfDay; - if (!dtpBreak.Enabled) - { - wtc.IndividualBreakTime = null; - } - else - { - wtc.IndividualBreakTime = dtpBreak.Value.TimeOfDay; - } - RefreshDisplay(); - } - - private void dtpBreak_ValueChanged(object sender, EventArgs e) - { - RefreshWtc(); - } - - private void cboIndividualBreak_CheckedChanged(object sender, EventArgs e) - { - dtpBreak.Enabled = cboIndividualBreak.Checked; - RefreshWtc(); - } - - private void ntiWorkTimeHero_MouseDoubleClick(object sender, MouseEventArgs e) - { - ToogleVisiblity(); - } - - private void ToogleVisiblity() - { - if (Visible) - { - Hide(); - } - else - { - Show(); - } - } - - private void tsmiBeenden_Click(object sender, EventArgs e) - { - Close(); - } - - private void tsmiToogleView_Click(object sender, EventArgs e) - { - ToogleVisiblity(); - } - - private void MainForm_FormClosing(object sender, FormClosingEventArgs e) - { - Settings.Default.Save(); - } - - private void dtpTargetTime_ValueChanged(object sender, EventArgs e) - { - RefreshWtc(); - } - } +using System; +using System.Drawing; +using System.Windows.Forms; +using WorkTimeHero.Properties; +using IWshRuntimeLibrary; +using System.IO; +using File = System.IO.File; + +namespace WorkTimeHero +{ + public partial class MainForm : Form + { + private const string TimeFormatter = @"h\:mm"; + + private readonly string startUpFolderPathLink = + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), Application.ProductName + ".lnk"); + + private WorkTimeCalculator wtc; + + public MainForm() + { + InitializeComponent(); + } + + private void MainForm_Load(object sender, EventArgs e) + { + dtpStartTime.Value = DateTime.Now.AddMinutes((int)Settings.Default.StartTimePreamp); + + if (File.Exists(startUpFolderPathLink)) + { + cboAutostart.Checked = true; + } + } + + private void RefreshDisplay() + { + prgPercentage.Value = wtc.WorkTimePercentage; + lblCompleted.Text = string.Format("{1,-20}{0}", wtc.DoneWorkTime.ToString(TimeFormatter), "Arbeitszeit:"); + lblOvertime.Text = string.Format("{1,-20}{0}", wtc.AdditionalWorkTime.ToString(TimeFormatter), "Überstunden:"); + lblRemaining.Text = string.Format("{1,-20}{0}", wtc.RemainingWorkTime.ToString(TimeFormatter), "Verbleibend:"); + lblTimeDue.Text = string.Format("{1,-20}{0}", wtc.TimeDue.ToString(TimeFormatter), "Uhrzeit:"); + + if (!dtpBreak.Enabled) + { + dtpBreak.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, wtc.CurrentBreakTime.Hours, wtc.CurrentBreakTime.Minutes, 0); + } + + RefreshTooltip(); + RefreshIcons(); + } + + private void RefreshTooltip() + { + string toolTipInfo = string.Empty; + if (wtc.AdditionalWorkTime.TotalMinutes > 0) + { + toolTipInfo = wtc.AdditionalWorkTime.ToString(TimeFormatter) + " Überstunden"; + if (!wtc.NotificationShown) + { + ntiWorkTimeHero.ShowBalloonTip(10, "Fertig!", "Sollzeit für heute erreicht!", ToolTipIcon.Info); + wtc.NotificationShown = true; + } + } + else + { + toolTipInfo = wtc.WorkTimePercentage + "% - noch " + wtc.RemainingWorkTime.ToString(TimeFormatter) + " Stunden"; + } + + ntiWorkTimeHero.Text = toolTipInfo + " - WorkTimeHero"; + } + + private void RefreshIcons() + { + Icon newIcon = Resources.clock; + 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) + { + newIcon = Resources.clock_error; + newToolTipIcon = ToolTipIcon.Warning; + } + if (wtc.DoneWorkTime.TotalMinutes >= 615) + { + newIcon = Resources.clock_red; + newToolTipIcon = ToolTipIcon.Error; + } + + ntiWorkTimeHero.Icon = newIcon; + Icon = newIcon; + ntiWorkTimeHero.BalloonTipIcon = newToolTipIcon; + } + + private void refreshTimer_Tick(object sender, EventArgs e) + { + RefreshDisplay(); + } + + private void dtpStartTime_ValueChanged(object sender, EventArgs e) + { + refreshTimer.Enabled = true; + RefreshWtc(); + RefreshDisplay(); + } + + private void RefreshWtc() + { + wtc = new WorkTimeCalculator(new TimeSpan(dtpStartTime.Value.Hour, dtpStartTime.Value.Minute, 0)); + + wtc.TargetTime = dtpTargetTime.Value.TimeOfDay; + if (!dtpBreak.Enabled) + { + wtc.IndividualBreakTime = null; + } + else + { + wtc.IndividualBreakTime = dtpBreak.Value.TimeOfDay; + } + RefreshDisplay(); + } + + private void dtpBreak_ValueChanged(object sender, EventArgs e) + { + RefreshWtc(); + } + + private void cboIndividualBreak_CheckedChanged(object sender, EventArgs e) + { + dtpBreak.Enabled = cboIndividualBreak.Checked; + RefreshWtc(); + } + + private void ntiWorkTimeHero_MouseDoubleClick(object sender, MouseEventArgs e) + { + ToogleVisiblity(); + } + + private void ToogleVisiblity() + { + if (Visible) + { + Hide(); + } + else + { + Show(); + } + } + + private void cboAutostart_CheckedChanged(object sender, EventArgs e) + { + if (cboAutostart.Checked) + { + WshShell wshShell = new WshShell(); + + IWshShortcut shortcut; + shortcut = + (IWshShortcut)wshShell.CreateShortcut(startUpFolderPathLink); + + shortcut.TargetPath = Application.ExecutablePath; + shortcut.WorkingDirectory = Application.StartupPath; + shortcut.Description = "Launch WorkTimeHero"; + // shortcut.IconLocation = Application.StartupPath + @"\App.ico"; + shortcut.Save(); + } + else + { + File.Delete(startUpFolderPathLink); + } + } + + private void tsmiBeenden_Click(object sender, EventArgs e) + { + Close(); + } + + private void tsmiToogleView_Click(object sender, EventArgs e) + { + ToogleVisiblity(); + } + + private void MainForm_FormClosing(object sender, FormClosingEventArgs e) + { + Settings.Default.Save(); + } + + private void dtpTargetTime_ValueChanged(object sender, EventArgs e) + { + RefreshWtc(); + } + } } \ No newline at end of file diff --git a/WorkTimeHero/MainForm.resx b/WorkTimeHero/MainForm.resx @@ -1,178 +1,178 @@ -<?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> - <metadata name="refreshTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> - <metadata name="ntiWorkTimeHero.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>132, 17</value> - </metadata> - <metadata name="cmsNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>270, 17</value> - </metadata> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <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== -</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== -</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> + <metadata name="refreshTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>17, 17</value> + </metadata> + <metadata name="ntiWorkTimeHero.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>132, 17</value> + </metadata> + <metadata name="cmsNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>270, 17</value> + </metadata> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <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== +</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== +</value> + </data> </root> \ No newline at end of file diff --git a/WorkTimeHero/Properties/AssemblyInfo.cs b/WorkTimeHero/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration( "" )] [assembly: AssemblyCompany( "" )] [assembly: AssemblyProduct( "WorkTimeHero" )] -[assembly: AssemblyCopyright("Copyright © René Wagner 2016-2017")] +[assembly: AssemblyCopyright("Copyright © René Wagner 2016-2020")] [assembly: AssemblyTrademark( "" )] [assembly: AssemblyCulture( "" )] @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] +[assembly: AssemblyVersion("1.3.0.0")] +[assembly: AssemblyFileVersion("1.3.0.0")] diff --git a/WorkTimeHero/WorkTimeHero.csproj b/WorkTimeHero/WorkTimeHero.csproj @@ -1,117 +1,135 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{5562D843-C5C9-4097-9E20-B280A410EE83}</ProjectGuid> - <OutputType>WinExe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>WorkTimeHero</RootNamespace> - <AssemblyName>WorkTimeHero</AssemblyName> - <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <SccProjectName>SAK</SccProjectName> - <SccLocalPath>SAK</SccLocalPath> - <SccAuxPath>SAK</SccAuxPath> - <SccProvider>SAK</SccProvider> - <NoWin32Manifest>False</NoWin32Manifest> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <RunCodeAnalysis>False</RunCodeAnalysis> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <RunCodeAnalysis>true</RunCodeAnalysis> - </PropertyGroup> - <PropertyGroup> - <SignAssembly>true</SignAssembly> - </PropertyGroup> - <PropertyGroup> - <AssemblyOriginatorKeyFile>..\..\StrongName.snk</AssemblyOriginatorKeyFile> - </PropertyGroup> - <PropertyGroup> - <ApplicationIcon>clock.ico</ApplicationIcon> - </PropertyGroup> - <PropertyGroup> - <StartupObject>WorkTimeHero.Program</StartupObject> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Deployment" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> - </ItemGroup> - <ItemGroup> - <Compile Include="BreakCalculatorExtension.cs" /> - <Compile Include="MainForm.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="MainForm.Designer.cs"> - <DependentUpon>MainForm.cs</DependentUpon> - </Compile> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="WorkTimeCalculator.cs" /> - <EmbeddedResource Include="MainForm.resx"> - <DependentUpon>MainForm.cs</DependentUpon> - </EmbeddedResource> - <EmbeddedResource Include="Properties\Resources.resx"> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> - <SubType>Designer</SubType> - </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> - <None Include="Properties\Settings.settings"> - <Generator>SettingsSingleFileGenerator</Generator> - <LastGenOutput>Settings.Designer.cs</LastGenOutput> - </None> - <Compile Include="Properties\Settings.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Settings.settings</DependentUpon> - <DesignTimeSharedInput>True</DesignTimeSharedInput> - </Compile> - </ItemGroup> - <ItemGroup> - <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> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{5562D843-C5C9-4097-9E20-B280A410EE83}</ProjectGuid> + <OutputType>WinExe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>WorkTimeHero</RootNamespace> + <AssemblyName>WorkTimeHero</AssemblyName> + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + <SccProjectName> + </SccProjectName> + <SccLocalPath> + </SccLocalPath> + <SccAuxPath> + </SccAuxPath> + <SccProvider> + </SccProvider> + <NoWin32Manifest>False</NoWin32Manifest> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <RunCodeAnalysis>False</RunCodeAnalysis> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <RunCodeAnalysis>true</RunCodeAnalysis> + </PropertyGroup> + <PropertyGroup> + <SignAssembly>true</SignAssembly> + </PropertyGroup> + <PropertyGroup> + <AssemblyOriginatorKeyFile>..\sgKey.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <PropertyGroup> + <ApplicationIcon>clock.ico</ApplicationIcon> + </PropertyGroup> + <PropertyGroup> + <StartupObject>WorkTimeHero.Program</StartupObject> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Deployment" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Windows.Forms" /> + </ItemGroup> + <ItemGroup> + <Compile Include="BreakCalculatorExtension.cs" /> + <Compile Include="MainForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="MainForm.Designer.cs"> + <DependentUpon>MainForm.cs</DependentUpon> + </Compile> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="WorkTimeCalculator.cs" /> + <EmbeddedResource Include="MainForm.resx"> + <DependentUpon>MainForm.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + <SubType>Designer</SubType> + </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> + <None Include="..\sgKey.snk"> + <Link>sgKey.snk</Link> + </None> + <None Include="Properties\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <LastGenOutput>Settings.Designer.cs</LastGenOutput> + </None> + <Compile Include="Properties\Settings.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + </ItemGroup> + <ItemGroup> + <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> + <VersionMinor>0</VersionMinor> + <Lcid>0</Lcid> + <WrapperTool>tlbimp</WrapperTool> + <Isolated>False</Isolated> + <EmbedInteropTypes>True</EmbedInteropTypes> + </COMReference> + </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. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> - --> + --> </Project> \ No newline at end of file diff --git a/WorkTimeHero/WorkTimeHero.csproj.vspscc b/WorkTimeHero/WorkTimeHero.csproj.vspscc diff --git a/WorkTimeHero/vssver2.scc b/WorkTimeHero/vssver2.scc Binary files differ. diff --git a/WorkTimeHeroTest/WorkTimeHeroTest.csproj b/WorkTimeHeroTest/WorkTimeHeroTest.csproj @@ -1,109 +1,124 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{C5EBE147-90B4-47E5-8DB2-4DA723A3015C}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>WorkTimeHeroTest</RootNamespace> - <AssemblyName>WorkTimeHeroTest</AssemblyName> - <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> - <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath> - <IsCodedUITest>False</IsCodedUITest> - <TestProjectType>UnitTest</TestProjectType> - <SccProjectName>SAK</SccProjectName> - <SccLocalPath>SAK</SccLocalPath> - <SccAuxPath>SAK</SccAuxPath> - <SccProvider>SAK</SccProvider> - <NoWin32Manifest>False</NoWin32Manifest> - <AllowUnsafeBlocks>False</AllowUnsafeBlocks> - <NoStdLib>False</NoStdLib> - <TreatWarningsAsErrors>False</TreatWarningsAsErrors> - <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>Full</DebugType> - <Optimize>False</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> - <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> - <BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath> - </PropertyGroup> - <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' "> - <BaseAddress>4194304</BaseAddress> - <PlatformTarget>AnyCPU</PlatformTarget> - <RegisterForComInterop>False</RegisterForComInterop> - <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - </ItemGroup> - <Choose> - <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'"> - <ItemGroup> - <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> - </ItemGroup> - </When> - <Otherwise> - <ItemGroup> - <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" /> - </ItemGroup> - </Otherwise> - </Choose> - <ItemGroup> - <Compile Include="BreakCalculatorExtensionText.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="WorkTimeCalculatorTest.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\WorkTimeHero\WorkTimeHero.csproj"> - <Project>{5562D843-C5C9-4097-9E20-B280A410EE83}</Project> - <Name>WorkTimeHero</Name> - </ProjectReference> - </ItemGroup> - <Choose> - <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> - <ItemGroup> - <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <Private>False</Private> - </Reference> - <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <Private>False</Private> - </Reference> - <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <Private>False</Private> - </Reference> - <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> - <Private>False</Private> - </Reference> - </ItemGroup> - </When> - </Choose> - <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" /> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{C5EBE147-90B4-47E5-8DB2-4DA723A3015C}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>WorkTimeHeroTest</RootNamespace> + <AssemblyName>WorkTimeHeroTest</AssemblyName> + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> + <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath> + <IsCodedUITest>False</IsCodedUITest> + <TestProjectType>UnitTest</TestProjectType> + <SccProjectName> + </SccProjectName> + <SccLocalPath> + </SccLocalPath> + <SccAuxPath> + </SccAuxPath> + <SccProvider> + </SccProvider> + <NoWin32Manifest>False</NoWin32Manifest> + <AllowUnsafeBlocks>False</AllowUnsafeBlocks> + <NoStdLib>False</NoStdLib> + <TreatWarningsAsErrors>False</TreatWarningsAsErrors> + <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>Full</DebugType> + <Optimize>False</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> + <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> + <BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath> + </PropertyGroup> + <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' "> + <BaseAddress>4194304</BaseAddress> + <PlatformTarget>AnyCPU</PlatformTarget> + <RegisterForComInterop>False</RegisterForComInterop> + <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies> + </PropertyGroup> + <PropertyGroup> + <SignAssembly>true</SignAssembly> + </PropertyGroup> + <PropertyGroup> + <AssemblyOriginatorKeyFile>..\sgKey.snk</AssemblyOriginatorKeyFile> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + </ItemGroup> + <Choose> + <When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'"> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" /> + </ItemGroup> + </When> + <Otherwise> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" /> + </ItemGroup> + </Otherwise> + </Choose> + <ItemGroup> + <Compile Include="BreakCalculatorExtensionText.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="WorkTimeCalculatorTest.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\WorkTimeHero\WorkTimeHero.csproj"> + <Project>{5562D843-C5C9-4097-9E20-B280A410EE83}</Project> + <Name>WorkTimeHero</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="..\sgKey.snk"> + <Link>sgKey.snk</Link> + </None> + </ItemGroup> + <Choose> + <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> + <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + <Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <Private>False</Private> + </Reference> + </ItemGroup> + </When> + </Choose> + <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" /> + <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. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> - --> + --> </Project> \ No newline at end of file diff --git a/WorkTimeHeroTest/WorkTimeHeroTest.csproj.vspscc b/WorkTimeHeroTest/WorkTimeHeroTest.csproj.vspscc diff --git a/WorkTimeHeroTest/vssver2.scc b/WorkTimeHeroTest/vssver2.scc Binary files differ. diff --git a/sgKey.snk b/sgKey.snk Binary files differ. diff --git a/vssver2.scc b/vssver2.scc Binary files differ.