Example #1
0
        private void btnSend_Click(object sender, System.EventArgs e)
        {
            this.Hide();

            foreach (ListViewItem lvItem in listView.Items)
            {
                string fileName = lvItem.SubItems[1].Text + Path.DirectorySeparatorChar + lvItem.SubItems[0].Text;

            retry:
                if (!File.Exists(fileName))
                {
                    DialogResult dlgFNFResult = MessageBox.Show("The file " + fileName + " no longer exists!" + Environment.NewLine +
                        "Skip this file and continue?", "File not found",
                        MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
                    if (dlgFNFResult == DialogResult.Yes)
                        continue;
                    else if (dlgFNFResult == DialogResult.Cancel)
                        return;
                    else goto retry;
                }

                Label lblMessage = new Label();
                lblMessage.Font = new Font("Tahoma", 10f);
                lblMessage.AutoSize = true;
                lblMessage.Text = "Sending file " + fileName + ". Please wait...";
                lblMessage.Location = new Point(10, 5);

                Form frmMessage = new Form();
                frmMessage.ClientSize = new Size(lblMessage.Width + 20, lblMessage.Height + 10);
                frmMessage.StartPosition = FormStartPosition.CenterScreen;
                frmMessage.FormBorderStyle = FormBorderStyle.FixedToolWindow;
                frmMessage.Text = "Sending file...";
                frmMessage.Controls.Add(lblMessage);
                frmMessage.Show();
                Application.DoEvents();

                FileObject fileObject = new FileObject(fileName);
                fileTransferCapability.SendObject(fileObject);

                frmMessage.Close();
            }

            this.Close();
            MessageBox.Show("File transfer completed", "Send done", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Example #2
0
        private void ObjectReceived(object capability, ObjectReceivedEventArgs ea)
        {
            if (ea.Data is FileObject)
            {
                FileObject fileObject = ea.Data as FileObject;
                FileInfo   fileInfo   = new FileInfo(fileObject.Name);

                Type tCapability = null;
                ItemReceivedDialog dlgFileReceived = null;

                if (tCapability != null)
                {
                    Capability.NameAttribute attrName = (Capability.NameAttribute)
                                                        Attribute.GetCustomAttribute(tCapability, typeof(Capability.NameAttribute));

                    Capability.PayloadTypeAttribute attrPT = (Capability.PayloadTypeAttribute)
                                                             Attribute.GetCustomAttribute(tCapability, typeof(Capability.PayloadTypeAttribute));

                    dlgFileReceived = new ItemReceivedDialog(Strings.CapabilityReceived,
                                                             Strings.UserSentYouCapability);
                    dlgFileReceived.Button1Label = Strings.InstallHotkey;
                    dlgFileReceived.FileIconTip  = string.Format(CultureInfo.CurrentCulture,
                                                                 Strings.CapabilityNamePayloadType, attrName.Name, attrPT.PayloadType.ToString());
                }
                else
                {
                    dlgFileReceived = new ItemReceivedDialog(Strings.FileReceived, Strings.UserSentYouFile);
                }

                dlgFileReceived.Image = Image.FromStream(
                    System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MSR.LST.ConferenceXP.Images.FileReceived.gif"));
                dlgFileReceived.From         = ea.Participant.Name;
                dlgFileReceived.Avatar       = ea.Participant.Icon;
                dlgFileReceived.AvatarTip    = Strings.AvatarTipText;
                dlgFileReceived.File         = fileInfo.Name;
                dlgFileReceived.FileIcon     = fileObject.Icon;
                dlgFileReceived.FileIconTip += string.Format(CultureInfo.CurrentCulture, Strings.FileSize,
                                                             ((double)fileObject.Data.Length / 1024.0).ToString("#,#.00", CultureInfo.CurrentCulture));
                dlgFileReceived.Time = DateTime.Now.ToString("h:mm:ss tt", CultureInfo.CurrentCulture);
                if (dlgFileReceived.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                if (tCapability != null)
                {
                    RtlAwareMessageBox.Show(this, Strings.NotYetImplemented, string.Empty, MessageBoxButtons.OK,
                                            MessageBoxIcon.None, MessageBoxDefaultButton.Button1, (MessageBoxOptions)0);
                }
                else
                {
                    SaveFileDialog saveDialog = new SaveFileDialog();
                    saveDialog.FileName = fileInfo.Name;
                    if (Directory.Exists(fileInfo.DirectoryName))
                    {
                        saveDialog.InitialDirectory = fileInfo.DirectoryName;
                    }
                    saveDialog.Filter           = "All files (*.*)|*.*";
                    saveDialog.CheckPathExists  = true;
                    saveDialog.OverwritePrompt  = true;
                    saveDialog.RestoreDirectory = true;
                    if (saveDialog.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }

                    FileStream fileStream = File.OpenWrite(saveDialog.FileName);
                    fileStream.Write(fileObject.Data, 0, fileObject.Data.Length);
                    fileStream.Close();
                }
            }
        }
Example #3
0
        private void ObjectReceived(object capability, ObjectReceivedEventArgs ea)
        {
            if (ea.Data is FileObject)
            {
                FileObject fileObject = ea.Data as FileObject;
                FileInfo   fileInfo   = new FileInfo(fileObject.Name);

                Type tCapability = null;
//              if (fileInfo.Extension.ToLower() == ".dll")
//                  tCapability = GetCapability(fileObject.Data);

                ItemReceivedDialog dlgFileReceived = null;

                if (tCapability != null)
                {
                    Capability.NameAttribute attrName = (Capability.NameAttribute)
                                                        Attribute.GetCustomAttribute(tCapability, typeof(Capability.NameAttribute));

                    Capability.PayloadTypeAttribute attrPT = (Capability.PayloadTypeAttribute)
                                                             Attribute.GetCustomAttribute(tCapability, typeof(Capability.PayloadTypeAttribute));

                    dlgFileReceived = new ItemReceivedDialog("Capability received", "A user has just sent you a capability");
                    dlgFileReceived.Button1Label = "&Install";
                    dlgFileReceived.FileIconTip  = "Capability name: " + attrName.Name + Environment.NewLine +
                                                   "Payload type: " + attrPT.PayloadType.ToString() + Environment.NewLine;
                }
                else
                {
                    dlgFileReceived = new ItemReceivedDialog("File received", "A user has just sent you a file");
                }

                dlgFileReceived.Image = Image.FromStream(
                    System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("MSR.LST.ConferenceXP.Images.FileReceived.gif"));
                dlgFileReceived.From      = ea.Participant.Name;
                dlgFileReceived.Avatar    = ea.Participant.Icon;
                dlgFileReceived.AvatarTip = "IP: " + ea.Participant.RtpParticipant.IPAddress.ToString() + Environment.NewLine +
                                            "Id: " + ea.Participant.Identifier + Environment.NewLine +
                                            "Email: " + ea.Participant.Email + Environment.NewLine +
                                            "Phone: " + ea.Participant.Phone;
                dlgFileReceived.File         = fileInfo.Name;
                dlgFileReceived.FileIcon     = fileObject.Icon;
                dlgFileReceived.FileIconTip += "File size: " + ((double)fileObject.Data.Length / 1024.0).ToString("#,#.00") + " KB";
                dlgFileReceived.Time         = DateTime.Now.ToString("h:mm:ss tt");
                if (dlgFileReceived.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                if (tCapability != null)
                {
                    MessageBox.Show("Not yet implemented");
                }
                else
                {
                    SaveFileDialog saveDialog = new SaveFileDialog();
                    saveDialog.FileName = fileInfo.Name;
                    if (Directory.Exists(fileInfo.DirectoryName))
                    {
                        saveDialog.InitialDirectory = fileInfo.DirectoryName;
                    }
                    saveDialog.Filter           = "All files (*.*)|*.*";
                    saveDialog.CheckPathExists  = true;
                    saveDialog.OverwritePrompt  = true;
                    saveDialog.RestoreDirectory = true;
                    if (saveDialog.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }

                    FileStream fileStream = File.OpenWrite(saveDialog.FileName);
                    fileStream.Write(fileObject.Data, 0, fileObject.Data.Length);
                    fileStream.Close();
                }
            }
        }