Esempio n. 1
0
        /// <summary>
        /// Uploads a screenshot.
        /// </summary>
        /// <param name="screenshot">The screenshot to upload.</param>
        public async Task UploadScreenshot(Screenshot screenshot)
        {
            if (screenshot == null)
            {
                throw new ArgumentNullException("screenshot");
            }

            screenshot.Uploading          += Screenshot_Uploading;
            screenshot.DuplicateFileFound += Screenshot_DuplicateFileFound;
            if (await screenshot.UploadAsync())
            {
                Program.Tray.SetStatus(TrayIcon.Status.None);

                if (screenshot.IsUploaded)
                {
                    Debug.WriteLine("Screenshot uploaded successfully to "
                                    + screenshot.PublicUrl);
                    SetClipboard(screenshot);
                    System.Media.SystemSounds.Asterisk.Play();
                    if (Program.Config.ShowBalloontip)
                    {
                        Program.Tray.ShowMessage("Screenshot uploaded sucessfully", screenshot.PublicUrl, ToolTipIcon.Info);
                    }
                    History.Push(screenshot);
                }
            }
            else
            {
                ReportUploadError(screenshot);
            }
        }