[filetransferjob] Simplify error handling
QNetworkReply::finished is also emitted in the error case, so by also connecting to errorOccured we emitResult twice
This commit is contained in:
parent
52e64e32b1
commit
8c62a108d6
2 changed files with 14 additions and 21 deletions
|
@ -94,26 +94,19 @@ void FileTransferJob::startTransfer()
|
|||
|
||||
m_written = bytesSent;
|
||||
});
|
||||
connect(m_reply, &QNetworkReply::errorOccurred, this, &FileTransferJob::transferFailed);
|
||||
connect(m_reply, &QNetworkReply::finished, this, &FileTransferJob::transferFinished);
|
||||
}
|
||||
|
||||
void FileTransferJob::transferFailed(QNetworkReply::NetworkError error)
|
||||
{
|
||||
qCDebug(KDECONNECT_CORE) << "Couldn't transfer the file successfully" << error << m_reply->errorString();
|
||||
setError(error);
|
||||
setErrorText(i18n("Received incomplete file: %1", m_reply->errorString()));
|
||||
emitResult();
|
||||
|
||||
m_reply->close();
|
||||
}
|
||||
|
||||
void FileTransferJob::transferFinished()
|
||||
{
|
||||
if (m_reply->error()) {
|
||||
qCDebug(KDECONNECT_CORE) << "Couldn't transfer the file successfully" << m_reply->error() << m_reply->errorString();
|
||||
setError(m_reply->error());
|
||||
setErrorText(m_reply->errorString());
|
||||
} else {
|
||||
// TODO: MD5-check the file
|
||||
if (m_size == m_written) {
|
||||
qCDebug(KDECONNECT_CORE) << "Finished transfer" << m_destination;
|
||||
emitResult();
|
||||
} else {
|
||||
qCDebug(KDECONNECT_CORE) << "Received incomplete file (" << m_written << "/" << m_size << "bytes ), deleting";
|
||||
|
||||
|
@ -121,9 +114,10 @@ void FileTransferJob::transferFinished()
|
|||
|
||||
setError(3);
|
||||
setErrorText(i18n("Received incomplete file from: %1", m_from));
|
||||
emitResult();
|
||||
}
|
||||
}
|
||||
emitResult();
|
||||
}
|
||||
|
||||
void FileTransferJob::deleteDestinationFile()
|
||||
{
|
||||
|
|
|
@ -62,7 +62,6 @@ protected:
|
|||
|
||||
private:
|
||||
void startTransfer();
|
||||
void transferFailed(QNetworkReply::NetworkError error);
|
||||
void transferFinished();
|
||||
void deleteDestinationFile();
|
||||
|
||||
|
|
Loading…
Reference in a new issue