diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2014-07-04 01:03:36 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2014-07-04 01:03:36 +0000 |
| commit | 3e1c3cd989180d2085ce5af7f4db2b156d5df578 (patch) | |
| tree | eb3a0d178b9ba41133558fdd416a3e3471c2f4d2 /pica-client/filetransfercontroller.cpp | |
| parent | af3c479447078c889b1bbb7a5e405c6f61620e82 (diff) | |
| download | pica-pica-3e1c3cd989180d2085ce5af7f4db2b156d5df578.tar.gz pica-pica-3e1c3cd989180d2085ce5af7f4db2b156d5df578.zip | |
implemented file transfer cancellation
git-svn-id: svn://localhost/project_picapica/trunk@315 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/filetransfercontroller.cpp')
| -rw-r--r-- | pica-client/filetransfercontroller.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/pica-client/filetransfercontroller.cpp b/pica-client/filetransfercontroller.cpp index ca1fa44..62d0285 100644 --- a/pica-client/filetransfercontroller.cpp +++ b/pica-client/filetransfercontroller.cpp @@ -96,6 +96,7 @@ void FileTransferController::file_resumed_incoming(QByteArray peer_id) void FileTransferController::file_cancelled_incoming(QByteArray peer_id) { ftdialogs_in[peer_id]->cancelledByPeer(); + ftdialogs_in.remove(peer_id); } void FileTransferController::file_ioerror_incoming(QByteArray peer_id) @@ -111,11 +112,13 @@ void FileTransferController::file_paused_outgoing(QByteArray peer_id) void FileTransferController::file_resumed_outgoing(QByteArray peer_id) { ftdialogs_out[peer_id]->resumedByPeer(); + } void FileTransferController::file_cancelled_outgoing(QByteArray peer_id) { ftdialogs_out[peer_id]->cancelledByPeer(); + ftdialogs_out.remove(peer_id); } void FileTransferController::file_ioerror_outgoing(QByteArray peer_id) @@ -147,14 +150,27 @@ void FileTransferController::file_denied_by_me(QByteArray peer_id) { skynet->DenyFile(peer_id); - delete ftdialogs_in[peer_id]; + //delete ftdialogs_in[peer_id]; ftdialogs_in.remove(peer_id); } void FileTransferController::file_cancelled_by_me(QByteArray peer_id, FileTransferDialog *from) { + bool sending = true; + + if (from->getTransferDirection() == FileTransferDialog::RECEIVING) + { + ftdialogs_in.remove(peer_id); + + sending = false; + } + else + { + ftdialogs_out.remove(peer_id); + } + skynet->CancelFile(peer_id, sending); } void FileTransferController::file_paused_by_me(QByteArray peer_id, FileTransferDialog *from) |
