summaryrefslogtreecommitdiffstats
path: root/pica-client
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2014-06-08 00:10:48 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2014-06-08 00:10:48 +0000
commitbf483995bd53c663607d9536ba67da80fd22068a (patch)
treef55e9e30c224f1b8d74b8f560fda236c8c1a4de7 /pica-client
parent2dd10656f3704fc0708b1654e64d342bd7da6dee (diff)
downloadpica-pica-bf483995bd53c663607d9536ba67da80fd22068a.tar.gz
pica-pica-bf483995bd53c663607d9536ba67da80fd22068a.zip
transfer status in FileTransferDialog
git-svn-id: svn://localhost/project_picapica/trunk@310 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client')
-rw-r--r--pica-client/dialogs/filetransferdialog.cpp50
-rw-r--r--pica-client/dialogs/filetransferdialog.h13
2 files changed, 63 insertions, 0 deletions
diff --git a/pica-client/dialogs/filetransferdialog.cpp b/pica-client/dialogs/filetransferdialog.cpp
index 7705fc8..dab0cfd 100644
--- a/pica-client/dialogs/filetransferdialog.cpp
+++ b/pica-client/dialogs/filetransferdialog.cpp
@@ -18,6 +18,7 @@ FileTransferDialog::FileTransferDialog(QByteArray peer_id, QString filename, qui
lbProgressStatus = new QLabel(this);
lbTransferSpeed = new QLabel(this);
lbRemainingTime = new QLabel(this);
+ lbTransferStatus = new QLabel(this);
pgbar = new QProgressBar(this);
leftbutton = new QPushButton(this);
@@ -28,6 +29,7 @@ FileTransferDialog::FileTransferDialog(QByteArray peer_id, QString filename, qui
layout->addWidget(lbTransferSpeed);
layout->addWidget(lbRemainingTime);
layout->addWidget(pgbar);
+ layout->addWidget(lbTransferStatus);
layout->addLayout(btlayout);
btlayout->addWidget(leftbutton);
@@ -47,6 +49,7 @@ FileTransferDialog::FileTransferDialog(QByteArray peer_id, QString filename, qui
setWindowTitle(tr("Sending file %1").arg(filename_));
}
+ setTransferStatus(WAITINGFORACCEPT);
lbFilename->setText(filename_);
@@ -77,6 +80,53 @@ void FileTransferDialog::update(quint64 progress)
if (progress == filesize_)
{
+ setTransferStatus(FINISHED);
+ }
+}
+
+void FileTransferDialog::setTransferStatus(TransferStatus st)
+{
+ bool isTerminalState = false;
+
+ switch(st)
+ {
+ case WAITINGFORACCEPT:
+ if (dir_ == SENDING)
+ lbTransferStatus->setText(tr("Waiting for peer to accept the file"));
+ else
+ lbTransferStatus->setText(tr("Waiting for acceptance"));
+ break;
+
+ case DENIED:
+ lbTransferStatus->setText(tr("Denied by peer"));
+ isTerminalState = true;
+ break;
+
+ case SENDINGFILE:
+ lbTransferStatus->setText(tr("Sending file"));
+ break;
+
+ case RECEIVINGFILE:
+ lbTransferStatus->setText(tr("Receiving file"));
+ break;
+
+ case PAUSED:
+ lbTransferStatus->setText(tr("Paused"));
+ break;
+
+ case CANCELLED:
+ lbTransferStatus->setText(tr("Cancelled"));
+ isTerminalState = true;
+ break;
+
+ case FINISHED:
+ lbTransferStatus->setText(tr("Finished"));
+ isTerminalState = true;
+ break;
+ }
+
+ if (isTerminalState)
+ {
leftbutton->setEnabled(false);
rightbutton->setEnabled(false);
diff --git a/pica-client/dialogs/filetransferdialog.h b/pica-client/dialogs/filetransferdialog.h
index 406ea70..10fab6d 100644
--- a/pica-client/dialogs/filetransferdialog.h
+++ b/pica-client/dialogs/filetransferdialog.h
@@ -18,6 +18,17 @@ public:
RECEIVING
};
+ enum TransferStatus
+ {
+ WAITINGFORACCEPT,
+ DENIED,
+ SENDINGFILE,
+ RECEIVINGFILE,
+ PAUSED,
+ CANCELLED,
+ FINISHED
+ };
+
explicit FileTransferDialog(QByteArray peer_id, QString filename, quint64 size,
TransferDirection drct, QWidget *parent = 0);
@@ -29,6 +40,7 @@ private:
QLabel *lbProgressStatus;
QLabel *lbTransferSpeed;
QLabel *lbRemainingTime;
+ QLabel *lbTransferStatus;
QProgressBar *pgbar;
QPushButton *leftbutton;
QPushButton *rightbutton;
@@ -56,6 +68,7 @@ signals:
public slots:
void update(quint64 progress);
+ void setTransferStatus(enum TransferStatus st);
private slots:
void timeout();