static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += ApplicationOnThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var mainForm = new MainForm(); var subscriptionManager = new SubscriptionManager("subscriptions.xml"); var podcastLoader = new PodcastLoader(); var podcastPlayer = new PodcastPlayer(); var displayService = new MessageBoxDisplayService(); var settingsService = new SettingsService(); var systemInformationService = new SystemInformationService(); var subscriptionService = new NewSubscriptionService(); var presenter = new MainFormPresenter(mainForm, subscriptionManager, podcastLoader, podcastPlayer, displayService, settingsService, systemInformationService, subscriptionService); Application.Run(mainForm); }
static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += ApplicationOnThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; var culture = new CultureInfo("en"); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture; CultureInfo.DefaultThreadCurrentCulture = culture; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var episodeView = new WpfEpisodeViewHost(); var subscriptionView = new SubscriptionView(); var podcastView = new PodcastView(); var toolbarView = new ToolBarView(); var podcastPlayer = new PodcastPlayer(); var podcastLoader = new PodcastLoader(); var settingsService = new SettingsService(); var subscriptionManager = new SubscriptionManager("subscriptions.xml"); var messageBoxDisplayService = new MessageBoxDisplayService(); var systemInformationService = new SystemInformationService(); var newSubscriptionService = new NewSubscriptionService(); var commands = new IToolbarCommand[] { new AddSubscriptionCommand(messageBoxDisplayService, newSubscriptionService, podcastLoader, subscriptionManager), new RemoveSubscriptionCommand(subscriptionView, subscriptionManager), new PlayCommand(podcastPlayer), new PauseCommand(podcastPlayer), new StopCommand(podcastPlayer), new FavouriteCommand(subscriptionView), new SettingsCommand() }; var mainForm = new MainForm(episodeView, subscriptionView, podcastView, toolbarView); // for now, keep presenters alive with Tags episodeView.Tag = new EpisodePresenter(episodeView, podcastPlayer); subscriptionView.Tag = new SubscriptionPresenter(subscriptionView); podcastView.Tag = new PodcastPresenter(podcastView); toolbarView.Tag = new ToolbarPresenter(toolbarView, commands); mainForm.Tag = new MainFormPresenter(mainForm, podcastLoader, subscriptionManager, messageBoxDisplayService, settingsService, systemInformationService, commands); Application.Run(mainForm); }
static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); Application.ThreadException += ApplicationOnThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; var culture = new CultureInfo("en"); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; CultureInfo.DefaultThreadCurrentUICulture = culture; CultureInfo.DefaultThreadCurrentCulture = culture; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var subscriptionManager = new SubscriptionManager("subscriptions.xml"); var podcastLoader = new PodcastLoader(); var podcastPlayer = new PodcastPlayer(); var messageBoxDisplayService = new MessageBoxDisplayService(); var settingsService = new SettingsService(); var systemInformationService = new SystemInformationService(); var newSubscriptionService = new NewSubscriptionService(); var mainFormView = new MainForm(); var commands = new IToolbarCommand[] { new AddSubscriptionCommand(mainFormView.SubscriptionView, messageBoxDisplayService, newSubscriptionService, podcastLoader, subscriptionManager), new RemoveSubscriptionCommand(mainFormView.SubscriptionView, subscriptionManager), new PlayCommand(podcastPlayer), new PauseCommand(podcastPlayer), new StopCommand(podcastPlayer), new FavouriteCommand(mainFormView.SubscriptionView), new SettingsCommand() }; var mainFormPresenter = new MainFormPresenter(mainFormView, podcastLoader, subscriptionManager, podcastPlayer, messageBoxDisplayService, settingsService, systemInformationService, commands); Application.Run(mainFormView); }