summaryrefslogtreecommitdiffstats
path: root/pica-client/dialogs/filetransferdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'pica-client/dialogs/filetransferdialog.h')
-rw-r--r--pica-client/dialogs/filetransferdialog.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/pica-client/dialogs/filetransferdialog.h b/pica-client/dialogs/filetransferdialog.h
new file mode 100644
index 0000000..a5a4783
--- /dev/null
+++ b/pica-client/dialogs/filetransferdialog.h
@@ -0,0 +1,63 @@
+#ifndef FILETRANSFERDIALOG_H
+#define FILETRANSFERDIALOG_H
+
+#include <QDialog>
+#include <QProgressBar>
+#include <QLabel>
+#include <QPushButton>
+#include <QTimer>
+
+class FileTransferDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ enum TransferDirection
+ {
+ SENDING,
+ RECEIVING
+ };
+
+ explicit FileTransferDialog(QString filename, quint64 size, TransferDirection drct, QWidget *parent = 0);
+
+
+
+private:
+ QLabel *lbFilename;
+ QLabel *lbProgressStatus;
+ QLabel *lbTransferSpeed;
+ QLabel *lbRemainingTime;
+ QProgressBar *pgbar;
+ QPushButton *leftbutton;
+ QPushButton *rightbutton;
+
+ TransferDirection dir_;
+ QString filename_;
+ quint64 filesize_;
+
+ double percents;
+ quint64 progress_;
+ quint64 prevprogress_;
+
+ static QString bytestoHumanBase2(quint64 bytes);
+ static QString bytestoHumanBase10(quint64 bytes);
+ static QString timeLeft(quint64 seconds);
+
+ QTimer *timer;
+signals:
+ void pausedFile();
+ void resumedFile();
+ void cancelledFile();
+ void acceptedFile();
+ void deniedFile();
+
+public slots:
+ void update(quint64 progress);
+
+private slots:
+ void timeout();
+ void leftbuttonclick();
+ void rightbuttonclick();
+
+};
+
+#endif // FILETRANSFERDIALOG_H