From f297a59985a56423da1654cf5bb3448484963ab4 Mon Sep 17 00:00:00 2001 From: archshift Date: Mon, 31 Aug 2015 21:35:33 -0700 Subject: Add helper function for creating a readable byte size string. --- src/citra_qt/util/util.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/citra_qt/util/util.cpp') 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 +#include + #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 units = { "B", "KiB", "MiB", "GiB", "TiB", "PiB" }; + if (size == 0) + return "0"; + int digit_groups = std::min((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]); +} -- cgit v1.2.3