summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarchshift <gh@archshift.com>2015-09-01 06:35:33 +0200
committerarchshift <gh@archshift.com>2015-10-02 04:39:14 +0200
commitf297a59985a56423da1654cf5bb3448484963ab4 (patch)
tree3a19001c6c560234b99f4dcba49b42604566f5b3
parentDon't show render window until a game is started (diff)
downloadyuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar.gz
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar.bz2
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar.lz
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar.xz
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.tar.zst
yuzu-f297a59985a56423da1654cf5bb3448484963ab4.zip
-rw-r--r--src/citra_qt/util/util.cpp12
-rw-r--r--src/citra_qt/util/util.h4
2 files changed, 16 insertions, 0 deletions
diff --git a/src/citra_qt/util/util.cpp b/src/citra_qt/util/util.cpp
index f292046b7..8734a8efd 100644
--- a/src/citra_qt/util/util.cpp
+++ b/src/citra_qt/util/util.cpp
@@ -2,6 +2,9 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#include <array>
+#include <cmath>
+
#include "citra_qt/util/util.h"
QFont GetMonospaceFont() {
@@ -11,3 +14,12 @@ QFont GetMonospaceFont() {
font.setFixedPitch(true);
return font;
}
+
+QString ReadableByteSize(qulonglong size) {
+ static const std::array<const char*, 6> units = { "B", "KiB", "MiB", "GiB", "TiB", "PiB" };
+ if (size == 0)
+ return "0";
+ int digit_groups = std::min<int>((int)(std::log10(size) / std::log10(1024)), units.size());
+ return QString("%L1 %2").arg(size / std::pow(1024, digit_groups), 0, 'f', 1)
+ .arg(units[digit_groups]);
+}
diff --git a/src/citra_qt/util/util.h b/src/citra_qt/util/util.h
index 98a944047..ab443ef9b 100644
--- a/src/citra_qt/util/util.h
+++ b/src/citra_qt/util/util.h
@@ -5,6 +5,10 @@
#pragma once
#include <QFont>
+#include <QString>
/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
QFont GetMonospaceFont();
+
+/// Convert a size in bytes into a readable format (KiB, MiB, etc.)
+QString ReadableByteSize(qulonglong size);