diff --git a/src/JiraTimeBot/DI/ContainerBuilder.cs b/src/JiraTimeBot/DI/ContainerBuilder.cs index 972c815..e0aee42 100644 --- a/src/JiraTimeBot/DI/ContainerBuilder.cs +++ b/src/JiraTimeBot/DI/ContainerBuilder.cs @@ -1,5 +1,4 @@ -using System.Windows.Forms; -using Autofac; +using Autofac; using Autofac.Extras.AggregateService; using JiraTimeBot.JiraIntegration; using JiraTimeBot.JiraIntegration.Comments; @@ -8,6 +7,8 @@ using JiraTimeBot.Mercurial.Modifiers; using JiraTimeBot.TasksProcessors; using JiraTimeBot.TaskTime; using JiraTimeBot.UI.Tray; +using System; +using System.Windows.Forms; namespace JiraTimeBot.DI { @@ -21,8 +22,17 @@ namespace JiraTimeBot.DI public IContainer Build(TextBox logTextBox) { - _builder.Register(f => new Logger(logTextBox)).As().AsSelf(); - + _builder.Register(c => logTextBox).AsSelf(); + + _builder.Register(f => + { + var txt = f.Resolve(); + return new Logger(message => + { + txt.Invoke(new Action(text => txt.AppendText(text)), message + Environment.NewLine); + }); + }).As().AsSelf(); + _builder.Register(f => new TrayMenu()).As().AsSelf(); _builder.Register(c => new CommitSkipper()).As(); diff --git a/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs b/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs index 37015e3..b81df7f 100644 --- a/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs +++ b/src/JiraTimeBot/JiraIntegration/Comments/JiraDescriptionSource.cs @@ -1,8 +1,8 @@ -using System; +using JiraTimeBot.Configuration; +using JiraTimeBot.TaskTime.Objects; +using System; using System.Collections.Generic; using System.Linq; -using JiraTimeBot.Configuration; -using JiraTimeBot.TaskTime.Objects; namespace JiraTimeBot.JiraIntegration.Comments { diff --git a/src/JiraTimeBot/Logger.cs b/src/JiraTimeBot/Logger.cs index 5fd35b1..1585fd3 100644 --- a/src/JiraTimeBot/Logger.cs +++ b/src/JiraTimeBot/Logger.cs @@ -1,29 +1,23 @@ using System; using System.ComponentModel; -using System.Windows.Forms; namespace JiraTimeBot { public class Logger : ILog { - private readonly TextBox _txt; - private readonly AppendLog _safeAppender; + private readonly Action _logAction; - public Logger(TextBox txt) + public Logger(Action logAction) { - _txt = txt; - _safeAppender = text => _txt.AppendText(text); - + _logAction = logAction; } private void AppendText(string message) { message = $"{DateTime.Now:HH:mm} {message}"; - _txt.Invoke(_safeAppender, message + Environment.NewLine); + _logAction(message); } - private delegate void AppendLog(string text); - public void Info([Localizable(false)] string message) { AppendText(message); diff --git a/src/JiraTimeBot/UI/frmMain.cs b/src/JiraTimeBot/UI/frmMain.cs index 095514c..6a4e421 100644 --- a/src/JiraTimeBot/UI/frmMain.cs +++ b/src/JiraTimeBot/UI/frmMain.cs @@ -1,16 +1,16 @@ -using System; +using Autofac; +using JiraTimeBot.Configuration; +using JiraTimeBot.DI; +using JiraTimeBot.TasksProcessors; +using JiraTimeBot.UI.Tray; +using JiraTimeBot.Update; +using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using Autofac; -using JiraTimeBot.Configuration; -using JiraTimeBot.DI; -using JiraTimeBot.TasksProcessors; -using JiraTimeBot.UI.Tray; -using JiraTimeBot.Update; // This is the code for your desktop app. // Press Ctrl+F5 (or go to Debug > Start Without Debugging) to run your app.