Files
neochat/src/filetransferpseudojob.cpp
Laurent Montel 732b43cbd6 Use const'ref
2023-07-12 11:55:50 +00:00

52 lines
1.4 KiB
C++

// SPDX-FileCopyrightText: 2022 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
#include "filetransferpseudojob.h"
#include <KLocalizedString>
#include <QDebug>
#include <QUrl>
FileTransferPseudoJob::FileTransferPseudoJob(Operation operation, const QString &path, const QString &eventId)
: KJob()
, m_path(path)
, m_eventId(eventId)
, m_operation(operation)
{
}
void FileTransferPseudoJob::fileTransferProgress(const QString &id, qint64 progress, qint64 total)
{
if (id != m_eventId) {
return;
}
setProcessedAmount(Unit::Bytes, progress);
setTotalAmount(Unit::Bytes, total);
}
void FileTransferPseudoJob::fileTransferCompleted(const QString &id, const QUrl &localFile)
{
Q_UNUSED(localFile);
if (id != m_eventId) {
return;
}
emitResult();
}
void FileTransferPseudoJob::fileTransferFailed(const QString &id, const QString &errorMessage)
{
if (id != m_eventId) {
return;
}
setErrorText(errorMessage);
emitResult();
}
void FileTransferPseudoJob::start()
{
setTotalAmount(Unit::Files, 1);
Q_EMIT description(this,
m_operation == Download ? i18nc("Job heading, like 'Copying'", "Downloading") : i18nc("Job heading, like 'Copying'", "Uploading"),
{i18nc("The URL being downloaded/uploaded", "Source"), m_path},
{i18nc("The location being downloaded to", "Destination"), m_path});
}