private void AddFileTransfer(FileTransferUiProxy proxy) { lock (syncUiProxies) { uiProxies.Add(proxy.Desc, proxy); } fileDialog.View.Items.Add(proxy.View); }
private void RemoveFileTransfer(FileTransferUiProxy proxy) { lock (syncUiProxies) { uiProxies.Remove(proxy.Desc); proxy.Desc.Cancel(); } fileDialog.View.Items.Remove(proxy.View); }
private void FileTransferRequestReceived(IIncomingFileTransfer ft) { mainDialog.InvokeAsync(() => { var fileDesc = String.Format("\"{0}\" ({1} bytes)", ft.Name, ft.BytesTotal); mainDialog.AddSystemMessage(ft.Sender, "Incoming file transfer", fileDesc); var proxy = new FileTransferUiProxy(ft); lock (syncUiProxies) { uiProxies.Add(proxy.Desc, proxy); } fileDialog.View.Items.Add(proxy.View); fileDialog.Show(); }); }
public void SendFiles(string username, string[] filenames) { var fileList = new StringBuilder(); for (int i = 0; i < filenames.Length; i++) { var filename = filenames[i]; var ft = ftMgr.Add(username, filename); var proxy = new FileTransferUiProxy(ft); AddFileTransfer(proxy); var fileDesc = String.Format("\"{0}\" ({1} bytes)", Path.GetFileName(ft.Name), ft.BytesTotal); fileList.Append(fileDesc); if (i != filenames.Length - 1) { fileList.AppendLine(); } } mainDialog.AddSystemMessage(username, "Outcoming file transfer", fileList.ToString()); fileDialog.Show(); }