summaryrefslogtreecommitdiffstats
path: root/pica-client
diff options
context:
space:
mode:
Diffstat (limited to 'pica-client')
-rw-r--r--pica-client/dialogs/filetransferdialog.cpp3
-rw-r--r--pica-client/filetransfercontroller.cpp5
-rw-r--r--pica-client/skynet.cpp19
-rw-r--r--pica-client/skynet.h1
4 files changed, 28 insertions, 0 deletions
diff --git a/pica-client/dialogs/filetransferdialog.cpp b/pica-client/dialogs/filetransferdialog.cpp
index 4643bb8..d733d0d 100644
--- a/pica-client/dialogs/filetransferdialog.cpp
+++ b/pica-client/dialogs/filetransferdialog.cpp
@@ -79,6 +79,9 @@ void FileTransferDialog::update(quint64 progress)
{
leftbutton->setEnabled(false);
rightbutton->setEnabled(false);
+
+ QWidget::setAttribute(Qt::WA_DeleteOnClose);
+ QWidget::setAttribute(Qt::WA_QuitOnClose, false);
}
}
diff --git a/pica-client/filetransfercontroller.cpp b/pica-client/filetransfercontroller.cpp
index 9b479c1..6bf3658 100644
--- a/pica-client/filetransfercontroller.cpp
+++ b/pica-client/filetransfercontroller.cpp
@@ -79,6 +79,11 @@ void FileTransferController::file_accepted_by_me(QByteArray peer_id)
void FileTransferController::file_denied_by_me(QByteArray peer_id)
{
+ skynet->DenyFile(peer_id);
+
+ delete ftdialogs_in[peer_id];
+
+ ftdialogs_in.remove(peer_id);
}
void FileTransferController::file_cancelled_by_me(QByteArray peer_id, FileTransferDialog *from)
diff --git a/pica-client/skynet.cpp b/pica-client/skynet.cpp
index 1077df2..c2f89ff 100644
--- a/pica-client/skynet.cpp
+++ b/pica-client/skynet.cpp
@@ -298,6 +298,25 @@ if ( (iptr = find_active_chan(from)) )
write_mutex.unlock();//>>
}
+void SkyNet::DenyFile(QByteArray from)
+{
+int ret = PICA_OK;
+struct PICA_chaninfo *iptr;
+
+write_mutex.lock();//<<
+if ( (iptr = find_active_chan(from)) )
+ {
+ ret = PICA_deny_file(iptr);
+
+ qDebug() << "PICA_deny_file() returned " << ret << "\n";
+ if (ret != PICA_OK)
+ {
+ //show error somewhere somehow
+ }
+ }
+write_mutex.unlock();//>>
+}
+
void SkyNet::SendMessage(QByteArray to, QString msg)
{
int ret = PICA_OK;
diff --git a/pica-client/skynet.h b/pica-client/skynet.h
index f512fb1..5ab4db1 100644
--- a/pica-client/skynet.h
+++ b/pica-client/skynet.h
@@ -22,6 +22,7 @@ public:
void SendMessage(QByteArray to, QString msg);
void SendFile(QByteArray to, QString filepath);
void AcceptFile(QByteArray from, QString filepath);
+ void DenyFile(QByteArray from);
Accounts::AccountRecord CurrentAccount() {return skynet_account;};
signals: