Add helper function for creating a readable byte size string.
This commit is contained in:
parent
afd06675fa
commit
f297a59985
|
@ -2,6 +2,9 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
#include "citra_qt/util/util.h"
|
#include "citra_qt/util/util.h"
|
||||||
|
|
||||||
QFont GetMonospaceFont() {
|
QFont GetMonospaceFont() {
|
||||||
|
@ -11,3 +14,12 @@ QFont GetMonospaceFont() {
|
||||||
font.setFixedPitch(true);
|
font.setFixedPitch(true);
|
||||||
return font;
|
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]);
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QFont>
|
#include <QFont>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
|
/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
|
||||||
QFont GetMonospaceFont();
|
QFont GetMonospaceFont();
|
||||||
|
|
||||||
|
/// Convert a size in bytes into a readable format (KiB, MiB, etc.)
|
||||||
|
QString ReadableByteSize(qulonglong size);
|
||||||
|
|
Reference in New Issue