private void UploadFileList(List <string> files) { this.Invoke(() => { try { this.Invoke(() => TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate)); foreach (var file in files) { Uploader.UploadFile(file, ret => { Trace.WriteLine("Upload result: " + ret); if (ret.URL == null) { Trace.WriteLine("*** URL is null"); FlashProgress(TaskbarProgressBarState.Error); } else { App.ViewModel.API.SendMessage("file", "File " + System.IO.Path.GetFileName(file), ret.URL, ""); FlashProgress(TaskbarProgressBarState.Normal); } }, () => { FlashProgress(TaskbarProgressBarState.Paused); }); } } catch (Exception ex) { FlashProgress(TaskbarProgressBarState.Error); Trace.WriteLine("Error uploading file: " + ex); } }); }
private void SendClipboard() { if (Clipboard.ContainsText()) { var clipText = Clipboard.GetText(); TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate); new Thread(() => { App.ViewModel.API.SendMessage("clip", "Clipboard Text", "", clipText); FlashProgress(TaskbarProgressBarState.Normal); }).Start(); } else if (Clipboard.ContainsImage()) { try { TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate); var clipimg = Clipboard.GetImage(); string path = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "S2WP7_" + new Random().Next(0, int.MaxValue) + "_Clipboard"); if (Settings.Get("Clipboard_PNG", true)) { path += ".png"; } else { path += ".jpg"; } using (FileStream stream = new FileStream(path, FileMode.Create)) { BitmapEncoder encoder; if (Settings.Get("Clipboard_PNG", true)) { encoder = new PngBitmapEncoder(); (encoder as PngBitmapEncoder).Interlace = PngInterlaceOption.On; } else { encoder = new JpegBitmapEncoder(); (encoder as JpegBitmapEncoder).QualityLevel = Settings.Get("JpegQuality", 95); } encoder.Frames.Add(BitmapFrame.Create(clipimg)); encoder.Save(stream); } Trace.WriteLine("Image saved at: " + path); var t = new Thread(() => { try { Uploader.UploadFile(path, ret => { if (ret.URL == null) { Trace.WriteLine("*** URL is null"); FlashProgress(TaskbarProgressBarState.Error); } else { App.ViewModel.API.SendMessage("img", "Clipboard Image", ret.URL, ""); FlashProgress(TaskbarProgressBarState.Normal); } }, () => { FlashProgress(TaskbarProgressBarState.Paused); }); } catch (Exception ex) { FlashProgress(TaskbarProgressBarState.Error); Trace.WriteLine("Error uploading file: " + ex); } }); t.SetApartmentState(ApartmentState.STA); t.Start(); } catch (Exception ex) { Trace.WriteLine("Error saving image:" + ex); } } else if (Clipboard.ContainsFileDropList()) { UploadFileList(GetFilesFromDropList(Clipboard.GetFileDropList())); } else { FlashProgress(TaskbarProgressBarState.Error); Trace.WriteLine("Clipboard content is not valid"); } }