Merge pull request #10775 from Chocobo1/speed

Misc. improvements
This commit is contained in:
Mike Tzou 2019-06-09 01:57:20 +08:00 committed by GitHub
commit 63b0a5b78c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 10 deletions

View file

@ -80,13 +80,13 @@ namespace
if (sizeInBytes < 0) return false; if (sizeInBytes < 0) return false;
int i = 0; int i = 0;
auto rawVal = static_cast<qreal>(sizeInBytes); val = static_cast<qreal>(sizeInBytes);
while ((rawVal >= 1024.) && (i <= static_cast<int>(Utils::Misc::SizeUnit::ExbiByte))) { while ((val >= 1024.) && (i <= static_cast<int>(Utils::Misc::SizeUnit::ExbiByte))) {
rawVal /= 1024.; val /= 1024.;
++i; ++i;
} }
val = rawVal;
unit = static_cast<Utils::Misc::SizeUnit>(i); unit = static_cast<Utils::Misc::SizeUnit>(i);
return true; return true;
} }
@ -250,14 +250,21 @@ QString Utils::Misc::friendlyUnit(const qint64 bytesValue, const bool isSpeed)
+ unitString(unit, isSpeed); + unitString(unit, isSpeed);
} }
int Utils::Misc::friendlyUnitPrecision(SizeUnit unit) int Utils::Misc::friendlyUnitPrecision(const SizeUnit unit)
{ {
// friendlyUnit's number of digits after the decimal point // friendlyUnit's number of digits after the decimal point
if (unit == SizeUnit::Byte) return 0; switch (unit) {
if (unit <= SizeUnit::MebiByte) return 1; case SizeUnit::Byte:
if (unit == SizeUnit::GibiByte) return 2; return 0;
case SizeUnit::KibiByte:
case SizeUnit::MebiByte:
return 1;
case SizeUnit::GibiByte:
return 2;
default:
return 3; return 3;
} }
}
qlonglong Utils::Misc::sizeInBytes(qreal size, const Utils::Misc::SizeUnit unit) qlonglong Utils::Misc::sizeInBytes(qreal size, const Utils::Misc::SizeUnit unit)
{ {