mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-30 15:39:02 -05:00 
			
		
		
		
	Add helper function for creating a readable byte size string.
This commit is contained in:
		| @@ -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
	
	Block a user
	 archshift
					archshift