Improve the String::humanize_size() method

- Use "B" insted of "Bytes" to be more compact
- Use suffixes that denote a binary prefix
- Make suffixes localizable

This removes the need for the custom
`EditorNetworkProfiler:_format_bandwidth()` method.
This commit is contained in:
Hugo Locurcio
2019-09-05 19:39:58 +02:00
parent 4ee8ecd3ef
commit 9a94fe7d26
3 changed files with 4 additions and 21 deletions

View File

@@ -3285,7 +3285,7 @@ static int _humanize_digits(int p_num) {
String String::humanize_size(size_t p_size) {
uint64_t _div = 1;
static const char *prefix[] = { " Bytes", " KB", " MB", " GB", " TB", " PB", " EB", "" };
static const char *prefix[] = { " B", " KiB", " MiB", " GiB", " TiB", " PiB", " EiB", "" };
int prefix_idx = 0;
while (p_size > (_div * 1024) && prefix[prefix_idx][0]) {
@@ -3296,7 +3296,7 @@ String String::humanize_size(size_t p_size) {
int digits = prefix_idx > 0 ? _humanize_digits(p_size / _div) : 0;
double divisor = prefix_idx > 0 ? _div : 1;
return String::num(p_size / divisor).pad_decimals(digits) + prefix[prefix_idx];
return String::num(p_size / divisor).pad_decimals(digits) + RTR(prefix[prefix_idx]);
}
bool String::is_abs_path() const {