diff options
author | Tim Jenssen <tim.jenssen@nokia.com> | 2012-03-21 14:28:40 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2012-03-27 15:04:31 +0200 |
commit | 520d98028f37e550c0cfec34b9c10278c4a44aff (patch) | |
tree | 3a64434d02f3b1fa5009de88a7832ad8c56f184f /src/libs/kdtools | |
parent | 564ef626886496ea5e6685f0fc4f96c283245123 (diff) |
introduce general humanReadableSize method
Change-Id: I4731be424cf2207e8cc2320ab9e442d02c29aeda
Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com>
Diffstat (limited to 'src/libs/kdtools')
-rw-r--r-- | src/libs/kdtools/kdupdaterfiledownloader.cpp | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/libs/kdtools/kdupdaterfiledownloader.cpp b/src/libs/kdtools/kdupdaterfiledownloader.cpp index a938c9cb5..6494d72b2 100644 --- a/src/libs/kdtools/kdupdaterfiledownloader.cpp +++ b/src/libs/kdtools/kdupdaterfiledownloader.cpp @@ -23,6 +23,8 @@ #include "kdupdaterfiledownloader_p.h" #include "kdupdaterfiledownloaderfactory.h" +#include <fileutils.h> + #include <QFile> #include <QtNetwork/QFtp> #include <QtNetwork/QNetworkAccessManager> @@ -39,26 +41,13 @@ #include <QTimerEvent> using namespace KDUpdater; +using namespace QInstaller; static double calcProgress(qint32 done, qint32 total) { return total ? (double(done) / double(total)) : 0; } -static QString format(double data) -{ - if (data < 1024.0) - return KDUpdater::FileDownloader::tr("%L1 B").arg(data); - data /= 1024.0; - if (data < 1024.0) - return KDUpdater::FileDownloader::tr("%L1 KB").arg(data, 0, 'f', 2); - data /= 1024.0; - if (data < 1024.0) - return KDUpdater::FileDownloader::tr("%L1 MB").arg(data, 0, 'f', 2); - data /= 1024.0; - return KDUpdater::FileDownloader::tr("%L1 GB").arg(data, 0, 'f', 2); -} - QByteArray KDUpdater::calculateHash(QIODevice* device, QCryptographicHash::Algorithm algo) { Q_ASSERT(device); @@ -417,9 +406,10 @@ void KDUpdater::FileDownloader::emitDownloadStatus() { QString status; if (d->m_bytesToReceive > 0) { - QString bytesReceived = format(d->m_bytesReceived); - const QString bytesToReceive = format(d->m_bytesToReceive); + QString bytesReceived = humanReadableSize(d->m_bytesReceived); + const QString bytesToReceive = humanReadableSize(d->m_bytesToReceive); + // remove the unit from the bytesReceived value if bytesToReceive has the same const QString tmp = bytesToReceive.mid(bytesToReceive.indexOf(QLatin1Char(' '))); if (bytesReceived.endsWith(tmp)) bytesReceived.chop(tmp.length()); @@ -427,10 +417,10 @@ void KDUpdater::FileDownloader::emitDownloadStatus() status = bytesReceived + tr(" of ") + bytesToReceive; } else { if (d->m_bytesReceived > 0) - status = format(d->m_bytesReceived) + tr(" downloaded."); + status = humanReadableSize(d->m_bytesReceived) + tr(" downloaded."); } - status += QLatin1String(" (") + format(d->m_downloadSpeed) + tr("/sec") + QLatin1Char(')'); + status += QLatin1String(" (") + humanReadableSize(d->m_downloadSpeed) + tr("/sec") + QLatin1Char(')'); if (d->m_bytesToReceive > 0 && d->m_downloadSpeed > 0) { const qint64 time = (d->m_bytesToReceive - d->m_bytesReceived) / d->m_downloadSpeed; |