summaryrefslogtreecommitdiffstats
path: root/pica-client
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2014-06-06 16:11:47 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2014-06-06 16:11:47 +0000
commit56b54f8c754c3e6e94afa34c46c918c0f34a0b27 (patch)
treef05eba035235f181b3f8beeff206ad3ca73c7673 /pica-client
parent693b9a448a07b07cf5e257c15f54a6a50f391d0c (diff)
downloadpica-pica-56b54f8c754c3e6e94afa34c46c918c0f34a0b27.tar.gz
pica-pica-56b54f8c754c3e6e94afa34c46c918c0f34a0b27.zip
implemented DenyFile action
git-svn-id: svn://localhost/project_picapica/trunk@307 fb96df88-216d-11de-830c-f3023f12d8ac
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: