Пример #1
0
        private void uploadImage(Image image, string upload_prefix)
        {
            int screenshot_type = Client.config.get <int>("frmlogin.screenshot_upload_format");
            DC_ImageInformation file;

            switch (screenshot_type)
            {
            case 0:                     // Auto detect best method.
                file = tmpSaveImageAuto(image, upload_prefix);
                break;

            case 1:                     // JPEG
                file = tmpSaveImageJpeg(image, upload_prefix);
                break;

            case 2:                     // PNG
                file = tmpSaveImagePng(image, upload_prefix);
                break;

            default:                     // Just incase somebody inputted a number like -1 for jokes.
                file = tmpSaveImageAuto(image, upload_prefix);
                break;
            }

            DC_FileInformation file_info = new DC_FileInformation()
            {
                file_name           = Path.GetFileName(file.full_location),
                delete_after_upload = true,
                file_size           = file.size,
                local_file_location = file.full_location
            };

            uploadFile(file_info);
        }
Пример #2
0
        private void uploadFile(string location)
        {
            FileInfo           fi        = new FileInfo(location);
            DC_FileInformation file_info = new DC_FileInformation()
            {
                status              = DC_FileInformationStatus.PendingUpload,
                file_name           = fi.Name,
                file_size           = fi.Length,
                local_file_location = location,
            };

            uploadFile(file_info);
        }
Пример #3
0
        public UploadFileItem(DC_FileInformation file_info)
        {
            connector = new ServerConnector();

            connector.upload_progress  += uploadProgress;
            connector.upload_completed += uploadCompleted;
            connector.upload_canceled  += uploadCanceled;

            this.file_info = file_info;
            InitializeComponent();

            file_info.status   = DC_FileInformationStatus.PendingUpload;
            _barProgress.Value = 0;
            _lblFileName.Text  = file_info.file_name;
            _lblStatus.Text    = "[WAITING] File Size: " + file_info.file_size.ToString();
        }
Пример #4
0
        private void upload_successful()
        {
            _lblStatus.Visible          = false;
            _barProgress.Visible        = false;
            _picPreview.BackgroundImage = Properties.Resources.icon_24_em_check;
            file_info.status            = DC_FileInformationStatus.Uploaded;

            JsonReader         jr   = new JsonReader(upload_response.body);
            DC_FileInformation info = jr.Deserialize <DC_FileInformation>();

            file_info.url_id = info.url_id;
            file_info.url    = connector.server_info.upload_base_url + info.url_id;

            // Automatically copy the URL to clipboard if the user so desires.
            if (Client.config.get <bool>("frmquickupload.copy_upload_clipboard"))
            {
                Clipboard.SetText(file_info.url, TextDataFormat.UnicodeText);
            }
        }
Пример #5
0
        private void _btnConfirmClipboardUpload_Click(object sender, EventArgs e)
        {
            // Check to see if the user has disabled verification of upload.
            if (show_clipboard_confirmation == true)
            {
                hideConfirmMenu();
            }

            if (Clipboard.ContainsFileDropList())
            {
                foreach (string file in Clipboard.GetFileDropList())
                {
                    uploadFile(file);
                }
            }
            else if (Clipboard.ContainsImage())
            {
                uploadImage(Clipboard.GetImage(), "Clipboard_");
            }
            else if (Clipboard.ContainsText())
            {
                string       temp_file = Path.GetTempFileName();
                StreamWriter sw        = new StreamWriter(temp_file);
                sw.Write(Clipboard.GetText());
                sw.Close();

                int    total_text   = getAndIncrementConfig("uploads.total_text_files");
                string new_filename = Path.GetTempPath() + "\\Clipboard_Text_" + total_text.ToString() + ".txt";

                File.Move(temp_file, new_filename);
                FileInfo fi = new FileInfo(new_filename);

                DC_FileInformation file_info = new DC_FileInformation()
                {
                    file_name           = Path.GetFileName(new_filename),
                    delete_after_upload = true,
                    file_size           = fi.Length,
                    local_file_location = new_filename
                };

                uploadFile(file_info);
            }
        }
Пример #6
0
        public UploadFileItem addUploadItem(DC_FileInformation upload_info)
        {
            UploadFileItem control = new UploadFileItem(upload_info)
            {
                Dock        = DockStyle.Top,
                Location    = new Point(0, 50),
                ContextMenu = _uploadItemContext,
                Margin      = new Padding(0, 20, 0, 0)
            };



            control.onEnter += delegate(object sender, MouseEventArgs e) {
                if (Control.ModifierKeys == Keys.Control)
                {
                    if (selected_upload_items.Contains(control))
                    {
                        if (e.Button != MouseButtons.Right)
                        {
                            selected_upload_items.Remove(control);
                        }
                    }
                    else
                    {
                        selected_upload_items.Add(control);
                    }
                }
                else
                {
                    if (e.Button != MouseButtons.Right ||
                        (e.Button == MouseButtons.Right && !selected_upload_items.Contains(control)))
                    {
                        selected_upload_items.Clear();
                        selected_upload_items.Add(control);
                    }
                    else if (!selected_upload_items.Contains(control))
                    {
                        selected_upload_items.Add(control);
                    }
                }


                foreach (UploadFileItem loop_control in _panFileItemContainer.Controls)
                {
                    if (!selected_upload_items.Contains(loop_control))
                    {
                        loop_control.onLeave();
                    }
                }
            };



            control.onDoubleClick += delegate(object sender, EventArgs e) {
                if (control.file_info.status == DC_FileInformationStatus.Uploaded)
                {
                    System.Diagnostics.Process.Start(control.file_info.url);
                }
            };



            _panFileItemContainer.Controls.Add(control);
            uploading_itmes.Add(control);

            return(control);
        }
Пример #7
0
        private void uploadFile(DC_FileInformation file_info)
        {
            UploadFileItem control = addUploadItem(file_info);

            control.startUpload();
        }