public MainForm(Engine engine, Configuration configuration) { Contract.Requires(engine != null); Contract.Requires(configuration != null); _logger.EnterFunction(); _engine = engine; _configuration = configuration; _books = new ConcurrentDictionary<BookDescriptor, ListViewItem>(); _dndHandlers = new DropHandlers(); _dndHandlers.Add(new FileDropHandler()); _appLogForm = new ApplicationLogForm(); LogTabPage appLogPage = _appLogForm.AddLogPage("Application"); AppLogAppender appLogAppender = LogManager.Instance.Appenders[AppLogAppender.ID] as AppLogAppender; if (appLogAppender != null) { appLogAppender.SetConsumer(appLogPage); } _bookLogAppenders = new List<BookLogAppender>(); foreach (ExecutionContext context in _engine.Contexts) { LogTabPage page = _appLogForm.AddLogPage("Worker"); _bookLogAppenders.Add(new BookLogAppender(page, context)); context.BookChanged += OnBookChanged; } _engine.BookAdded += OnBookAdded; _engine.BookRemoved += OnBookRemoved; InitializeComponent(); InitializeComponents(); _toolStripButtonConvert.Enabled = !_configuration.AutostartConversion; _logger.LeaveFunction(); }
private static void StartApplication() { LogManager logman = LogManager.Instance; logman.LoadConfiguration(Path.Combine(FolderProvider.Profile, Constants.LoggerFile)); FileAppender appender = (FileAppender)logman.Appenders[FileAppender.ID]; if (appender != null) { string filename = Path.GetFileName(appender.Filename); appender.Filename = Path.Combine(FolderProvider.Profile, filename); } logman.Appenders.Add(new AppLogAppender()); Configuration configuration = new Configuration(); configuration.Load(); using (Engine engine = new Engine(configuration)) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm(engine, configuration)); } logman.Close(); }