compositeuploadjob: Set total and processed files

This is the proper way to communicate progress.
It has Plasma show the file name in case of single files
and "n of m files" as before for multiple files.


(cherry picked from commit 9c78fa0fff)
This commit is contained in:
Kai Uwe Broulik 2022-08-09 12:53:10 +02:00
parent 1394d36224
commit 8c6e35f3b7

View file

@ -273,25 +273,15 @@ void CompositeUploadJob::slotResult(KJob *job) {
m_currentJobNum++;
startNextSubJob();
} else {
QPair<QString, QString> field2;
field2.first = QStringLiteral("Files");
field2.second = i18np("Sent 1 file", "Sent %1 files", m_totalJobs);
Q_EMIT description(this, i18n("Sending to %1", Daemon::instance()->getDevice(this->m_deviceId)->name()),
{ QString(), QString() }, field2
);
emitResult();
}
}
void CompositeUploadJob::emitDescription(const QString& currentFileName) {
QPair<QString, QString> field2;
if (m_totalJobs > 1) {
field2.first = i18n("Progress");
field2.second = i18n("Sending file %1 of %2", m_currentJobNum, m_totalJobs);
}
Q_EMIT description(this, i18n("Sending to %1", Daemon::instance()->getDevice(this->m_deviceId)->name()),
{ i18n("File"), currentFileName }, field2
{ i18n("File"), currentFileName }, {}
);
setProcessedAmount(Files, m_currentJobNum);
setTotalAmount(Files, m_totalJobs);
}