Add accessors for the amount of transferred data to Transfer classes
[quassel.git] / src / client / clienttransfer.cpp
index 4b55e93..2aac8cf 100644 (file)
@@ -27,7 +27,16 @@ ClientTransfer::ClientTransfer(const QUuid &uuid, QObject *parent)
     : Transfer(uuid, parent),
     _file(0)
 {
-    connect(this, SIGNAL(stateChanged(Transfer::State)), SLOT(onStateChanged(Transfer::State)));
+    connect(this, SIGNAL(statusChanged(Transfer::Status)), SLOT(onStatusChanged(Transfer::Status)));
+}
+
+
+quint64 ClientTransfer::transferred() const
+{
+    if (status() == Status::Completed)
+        return fileSize();
+
+    return _file ? _file->size() : 0;
 }
 
 
@@ -85,14 +94,14 @@ void ClientTransfer::dataReceived(PeerPtr, const QByteArray &data)
 }
 
 
-void ClientTransfer::onStateChanged(Transfer::State state)
+void ClientTransfer::onStatusChanged(Transfer::Status status)
 {
-    switch(state) {
-        case State::Completed:
+    switch(status) {
+        case Status::Completed:
             if (_file)
                 _file->close();
             break;
-        case State::Failed:
+        case Status::Failed:
             if (_file)
                 _file->remove();
             break;