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); }
public MainFormPresenter(IMainFormView mainFormView) { subscriptionView = mainFormView.SubscriptionView; episodeView = mainFormView.EpisodeView; podcastView = mainFormView.PodcastView; toolbarView = mainFormView.ToolbarView; this.mainFormView = mainFormView; mainFormView.Load += MainFormViewOnLoad; mainFormView.FormClosed += MainFormViewOnFormClosed; mainFormView.HelpRequested += OnHelpRequested; mainFormView.KeyUp += MainFormViewOnKeyUp; toolbarView.PlayClicked += OnButtonPlayClick; toolbarView.StopClicked += OnButtonStopClick; toolbarView.PauseClicked += OnButtonPauseClick; toolbarView.RemovePodcastClicked += OnButtonRemovePodcastClick; toolbarView.AddPodcastClicked += OnButtonAddSubscriptionClick; toolbarView.FavouriteChanged += OnButtonFavouriteCheckStateChanged; episodeView.Description = ""; episodeView.Title = ""; episodeView.PublicationDate = ""; subscriptionView.SelectionChanged += OnSelectedEpisodeChanged; subscriptionManager = new SubscriptionManager("subscriptions.xml"); podcastLoader = new PodcastLoader(); podcastPlayer = new PodcastPlayer(); podcasts = subscriptionManager.LoadPodcasts(); if (!SystemInformation.HighContrast) { mainFormView.BackColor = Color.White; } }
public MainForm() { InitializeComponent(); episodeView = new EpisodeView() { Dock = DockStyle.Fill }; podcastView = new PodcastView() { Dock = DockStyle.Fill }; subscriptionView = new SubscriptionView() { Dock = DockStyle.Fill }; splitContainer1.Panel1.Controls.Add(subscriptionView); episodeView.labelDescription.Text = ""; episodeView.labelEpisodeTitle.Text = ""; episodeView.labelPublicationDate.Text = ""; subscriptionView.treeViewPodcasts.AfterSelect += OnSelectedEpisodeChanged; if (!SystemInformation.HighContrast) { BackColor = Color.White; } subscriptionManager = new SubscriptionManager("subscriptions.xml"); podcastLoader = new PodcastLoader(); podcastPlayer = new PodcastPlayer(); }
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); }