/// <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); } }