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);
        }
示例#2
0
        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);
        }
示例#5
0
        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);
        }