Ejemplo n.º 1
0
        public Main(bool start = false)
        {
            InitializeComponent();
            this.HandleCreated += Form1_HandleCreated;

            if (!Directory.Exists(Common.UserSettings))
            {
                Directory.CreateDirectory(Common.UserSettings);
            }

            Log("Reading settings...");
            Settings.ReadSettings();

            Common.InitializePocket();
            InitializeTimer();

            if (YouTubeFunctions.Service == null)
            {
                Log("Authorizing YouTube...");
                YouTubeFunctions.AuthService();
            }

            if (Settings.Instance.FirstTimeShowSubscriptionManager)
            {
                MessageBox.Show("Welcome to YouTube Subscription Downloader!\n\nSince this is your first time running the program, " +
                                "we'll show you the Subscription Manager where you can set up your tracked subscriptions");

                SubscriptionManager manager = new SubscriptionManager();
                manager.ShowDialog();

                Settings.Instance.FirstTimeShowSubscriptionManager = false;
            }
            if (File.Exists(Common.SubscriptionsPath)) //Don't show the message if there are no subscriptions saved (eg first time startup)
            {
                Log("Getting subscriptions...");
                Common.DeserializeSubscriptions();

                if (!Settings.Instance.CheckForMissedUploads)
                {
                    Common.TrackedSubscriptions.ForEach(p => p.LastVideoPublishDate = DateTime.Now);
                }
            }

            Log("Ready!");

            if (Settings.Instance.StartIterationsOnStartup || start)
            {
                Start(cancelTokenSource.Token);
            }
        }