Ejemplo n.º 1
0
 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);
         }
     });
 }
Ejemplo n.º 2
0
        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");
            }
        }