diff options
author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-05-12 01:00:26 -0700 |
---|---|---|
committer | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2023-05-12 01:00:26 -0700 |
commit | 82287e0407318724c5a460340eef2855c75449e8 (patch) | |
tree | f083d018d24ce86a02cc8d1edce9b56ef0f4f93d /launcher/net/NetAction.h | |
parent | a3173b53717fcea686f267f4eb8fd9788e6677db (diff) | |
parent | c5aff7cc1ef43a1326bd3ce0c83e29669e2ff43f (diff) | |
download | PrismLauncher-82287e0407318724c5a460340eef2855c75449e8.tar.gz PrismLauncher-82287e0407318724c5a460340eef2855c75449e8.tar.bz2 PrismLauncher-82287e0407318724c5a460340eef2855c75449e8.zip |
Merge branch 'develop' into curseforge-url-handle
Diffstat (limited to 'launcher/net/NetAction.h')
-rw-r--r-- | launcher/net/NetAction.h | 36 |
1 files changed, 8 insertions, 28 deletions
diff --git a/launcher/net/NetAction.h b/launcher/net/NetAction.h index a13d115f..32095041 100644 --- a/launcher/net/NetAction.h +++ b/launcher/net/NetAction.h @@ -36,38 +36,18 @@ #pragma once -#include <cmath> - #include <QNetworkReply> #include <QUrl> #include "QObjectPtr.h" #include "tasks/Task.h" -static const QStringList s_units_si {"kB", "MB", "GB", "TB"}; -static const QStringList s_units_kibi {"KiB", "MiB", "Gib", "TiB"}; - -inline QString humanReadableFileSize(double bytes, bool use_si = false, int decimal_points = 1) { - const QStringList units = use_si ? s_units_si : s_units_kibi; - const int scale = use_si ? 1000 : 1024; - - int u = -1; - double r = pow(10, decimal_points); - - do { - bytes /= scale; - u++; - } while (round(abs(bytes) * r) / r >= scale && u < units.length() - 1); - - return QString::number(bytes, 'f', 2) + " " + units[u]; -} - class NetAction : public Task { Q_OBJECT -protected: - explicit NetAction() : Task() {}; + protected: + explicit NetAction() : Task(){}; -public: + public: using Ptr = shared_qobject_ptr<NetAction>; virtual ~NetAction() = default; @@ -76,23 +56,23 @@ public: void setNetwork(shared_qobject_ptr<QNetworkAccessManager> network) { m_network = network; } -protected slots: + protected slots: virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal) = 0; virtual void downloadError(QNetworkReply::NetworkError error) = 0; virtual void downloadFinished() = 0; virtual void downloadReadyRead() = 0; -public slots: + public slots: void startAction(shared_qobject_ptr<QNetworkAccessManager> network) { m_network = network; executeTask(); } -protected: - void executeTask() override {}; + protected: + void executeTask() override{}; -public: + public: shared_qobject_ptr<QNetworkAccessManager> m_network; /// the network reply |