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:
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.