diff --git a/Eve-O-Preview/Program.cs b/Eve-O-Preview/Program.cs index 3203ca7..c25e9c4 100644 --- a/Eve-O-Preview/Program.cs +++ b/Eve-O-Preview/Program.cs @@ -27,37 +27,21 @@ namespace EveOPreview return; } - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); + Program.InitializeWinFormsGui(); - IIocContainer container = new LightInjectContainer(); + IApplicationController controller = Program.InitializeApplicationController(); - // UI classes - IApplicationController controller = new ApplicationController(container) - .RegisterView() - .RegisterView() - .RegisterView() - .RegisterInstance(new ApplicationContext()); - - // Application services - controller.RegisterService() - .RegisterService() - .RegisterService() - .RegisterService() - .RegisterInstance(new AppConfig()) - .RegisterInstance(new ThumbnailConfig()); - - controller.Create().ConfigFileName = Program.GetCustomConfigFile(args); + Program.SetupApplicationConttroller(controller, Program.GetCustomConfigFile(args)); controller.Run(); token = null; } - // Parse startup parameters - // Simple approach is used because something like NParams would be an overkill here private static string GetCustomConfigFile(string[] args) { + // Parse startup parameters + // Simple approach is used because something like NParams would be an overkill here string configFile = null; foreach (string arg in args) { @@ -108,5 +92,38 @@ namespace EveOPreview return result ? token : null; } } + + private static void InitializeWinFormsGui() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + } + + private static IApplicationController InitializeApplicationController() + { + IIocContainer container = new LightInjectContainer(); + + // UI classes + IApplicationController controller = new ApplicationController(container) + .RegisterView() + .RegisterView() + .RegisterView() + .RegisterInstance(new ApplicationContext()); + + // Application services + controller.RegisterService() + .RegisterService() + .RegisterService() + .RegisterService() + .RegisterInstance(new AppConfig()) + .RegisterInstance(new ThumbnailConfig()); + + return controller; + } + + private static void SetupApplicationConttroller(IApplicationController controller, string configFile) + { + controller.Create().ConfigFileName = configFile; + } } } \ No newline at end of file