diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2014-06-08 00:10:48 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2014-06-08 00:10:48 +0000 |
| commit | bf483995bd53c663607d9536ba67da80fd22068a (patch) | |
| tree | f55e9e30c224f1b8d74b8f560fda236c8c1a4de7 /pica-client | |
| parent | 2dd10656f3704fc0708b1654e64d342bd7da6dee (diff) | |
| download | pica-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.cpp | 50 | ||||
| -rw-r--r-- | pica-client/dialogs/filetransferdialog.h | 13 |
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(); |
