summaryrefslogtreecommitdiff
path: root/src/citra_qt/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/util')
-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 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <array>
6#include <cmath>
7
5#include "citra_qt/util/util.h" 8#include "citra_qt/util/util.h"
6 9
7QFont GetMonospaceFont() { 10QFont GetMonospaceFont() {
@@ -11,3 +14,12 @@ QFont GetMonospaceFont() {
11 font.setFixedPitch(true); 14 font.setFixedPitch(true);
12 return font; 15 return font;
13} 16}
17
18QString ReadableByteSize(qulonglong size) {
19 static const std::array<const char*, 6> units = { "B", "KiB", "MiB", "GiB", "TiB", "PiB" };
20 if (size == 0)
21 return "0";
22 int digit_groups = std::min<int>((int)(std::log10(size) / std::log10(1024)), units.size());
23 return QString("%L1 %2").arg(size / std::pow(1024, digit_groups), 0, 'f', 1)
24 .arg(units[digit_groups]);
25}
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 @@
5#pragma once 5#pragma once
6 6
7#include <QFont> 7#include <QFont>
8#include <QString>
8 9
9/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc. 10/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
10QFont GetMonospaceFont(); 11QFont GetMonospaceFont();
12
13/// Convert a size in bytes into a readable format (KiB, MiB, etc.)
14QString ReadableByteSize(qulonglong size);