COMMON: Simplify API for getHumanReadableBytes()

This commit is contained in:
Cameron Cawley 2023-02-03 15:28:31 +00:00
parent 6186f31124
commit 0af9e4b53b
6 changed files with 32 additions and 34 deletions

View file

@ -177,33 +177,33 @@ bool isBlank(int c) {
#pragma mark - #pragma mark -
Common::U32String getHumanReadableBytes(uint64 bytes, Common::String &unitsOut) { Common::String getHumanReadableBytes(uint64 bytes, const char *&unitsOut) {
if (bytes < 1024) { if (bytes < 1024) {
// I18N: Abbreviation for 'bytes' as data size // I18N: Abbreviation for 'bytes' as data size
unitsOut = _("B"); unitsOut = _s("B");
return Common::String::format("%lu", (unsigned long int)bytes); return Common::String::format("%lu", (unsigned long int)bytes);
} }
double floating = bytes / 1024.0; double floating = bytes / 1024.0;
// I18N: Abbreviation for 'kilobytes' as data size // I18N: Abbreviation for 'kilobytes' as data size
unitsOut = _("KB"); unitsOut = _s("KB");
if (floating >= 1024) { if (floating >= 1024) {
floating /= 1024.0; floating /= 1024.0;
// I18N: Abbreviation for 'megabytes' as data size // I18N: Abbreviation for 'megabytes' as data size
unitsOut = _("MB"); unitsOut = _s("MB");
} }
if (floating >= 1024) { if (floating >= 1024) {
floating /= 1024.0; floating /= 1024.0;
// I18N: Abbreviation for 'gigabytes' as data size // I18N: Abbreviation for 'gigabytes' as data size
unitsOut = _("GB"); unitsOut = _s("GB");
} }
if (floating >= 1024) { // woah if (floating >= 1024) { // woah
floating /= 1024.0; floating /= 1024.0;
// I18N: Abbreviation for 'terabytes' as data size // I18N: Abbreviation for 'terabytes' as data size
unitsOut = _("TB"); unitsOut = _s("TB");
} }
// print one digit after floating point // print one digit after floating point

View file

@ -413,7 +413,7 @@ bool isBlank(int c);
* *
* @return String with a floating point number representing the given size. * @return String with a floating point number representing the given size.
*/ */
Common::U32String getHumanReadableBytes(uint64 bytes, Common::String &unitsOut); Common::String getHumanReadableBytes(uint64 bytes, const char *&unitsOut);
/** @} */ /** @} */

View file

@ -208,17 +208,16 @@ void DownloadDialog::reflowLayout() {
} }
Common::U32String DownloadDialog::getSizeLabelText() { Common::U32String DownloadDialog::getSizeLabelText() {
Common::String downloaded, downloadedUnits, total, totalUnits; const char *downloadedUnits, *totalUnits;
downloaded = getHumanReadableBytes(CloudMan.getDownloadBytesNumber(), downloadedUnits); Common::String downloaded = Common::getHumanReadableBytes(CloudMan.getDownloadBytesNumber(), downloadedUnits);
total = getHumanReadableBytes(CloudMan.getDownloadTotalBytesNumber(), totalUnits); Common::String total = Common::getHumanReadableBytes(CloudMan.getDownloadTotalBytesNumber(), totalUnits);
return Common::U32String::format(_("Downloaded %s %S / %s %S"), downloaded.c_str(), _(downloadedUnits).c_str(), total.c_str(), _(totalUnits).c_str()); return Common::U32String::format(_("Downloaded %s %S / %s %S"), downloaded.c_str(), _(downloadedUnits).c_str(), total.c_str(), _(totalUnits).c_str());
} }
Common::U32String DownloadDialog::getSpeedLabelText() { Common::U32String DownloadDialog::getSpeedLabelText() {
Common::String speed, speedUnits; const char *speedUnits;
speed = getHumanReadableBytes(CloudMan.getDownloadSpeed(), speedUnits); Common::String speed = Common::getHumanReadableBytes(CloudMan.getDownloadSpeed(), speedUnits);
speedUnits += "/s"; return Common::U32String::format(_("Download speed: %s %S/s"), speed.c_str(), _(speedUnits).c_str());
return Common::U32String::format(_("Download speed: %s %S"), speed.c_str(), _(speedUnits).c_str());
} }
void DownloadDialog::refreshWidgets() { void DownloadDialog::refreshWidgets() {

View file

@ -255,8 +255,8 @@ void DownloadPacksDialog::setState(IconProcessState state) {
break; break;
case kDownloadStateListCalculated: { case kDownloadStateListCalculated: {
Common::String size, sizeUnits; const char *sizeUnits;
size = getHumanReadableBytes(g_state->totalSize, sizeUnits); Common::String size = Common::getHumanReadableBytes(g_state->totalSize, sizeUnits);
_statusText->setLabel(Common::U32String::format(_("Detected %d new packs, %s %S"), g_state->fileHash.size(), size.c_str(), _(sizeUnits).c_str())); _statusText->setLabel(Common::U32String::format(_("Detected %d new packs, %s %S"), g_state->fileHash.size(), size.c_str(), _(sizeUnits).c_str()));
@ -282,8 +282,8 @@ void DownloadPacksDialog::setState(IconProcessState state) {
break; break;
case kDownloadComplete: { case kDownloadComplete: {
Common::String size, sizeUnits; const char *sizeUnits;
size = getHumanReadableBytes(g_state->totalSize, sizeUnits); Common::String size = Common::getHumanReadableBytes(g_state->totalSize, sizeUnits);
_statusText->setLabel(Common::U32String::format(_("Download complete, downloaded %d packs, %s %S"), g_state->totalFiles, size.c_str(), _(sizeUnits).c_str())); _statusText->setLabel(Common::U32String::format(_("Download complete, downloaded %d packs, %s %S"), g_state->totalFiles, size.c_str(), _(sizeUnits).c_str()));
_cancelButton->setVisible(false); _cancelButton->setVisible(false);
_cancelButton->setLabel(_("Cancel download")); _cancelButton->setLabel(_("Cancel download"));
@ -358,17 +358,16 @@ void DownloadPacksDialog::reflowLayout() {
} }
Common::U32String DownloadPacksDialog::getSizeLabelText() { Common::U32String DownloadPacksDialog::getSizeLabelText() {
Common::String downloaded, downloadedUnits, total, totalUnits; const char *downloadedUnits, *totalUnits;
downloaded = getHumanReadableBytes(g_state->downloadedSize, downloadedUnits); Common::String downloaded = Common::getHumanReadableBytes(g_state->downloadedSize, downloadedUnits);
total = getHumanReadableBytes(g_state->totalSize, totalUnits); Common::String total = Common::getHumanReadableBytes(g_state->totalSize, totalUnits);
return Common::U32String::format(_("Downloaded %s %S / %s %S"), downloaded.c_str(), _(downloadedUnits).c_str(), total.c_str(), _(totalUnits).c_str()); return Common::U32String::format(_("Downloaded %s %S / %s %S"), downloaded.c_str(), _(downloadedUnits).c_str(), total.c_str(), _(totalUnits).c_str());
} }
Common::U32String DownloadPacksDialog::getSpeedLabelText() { Common::U32String DownloadPacksDialog::getSpeedLabelText() {
Common::String speed, speedUnits; const char *speedUnits;
speed = getHumanReadableBytes(getDownloadSpeed(), speedUnits); Common::String speed = Common::getHumanReadableBytes(getDownloadSpeed(), speedUnits);
speedUnits += "/s"; return Common::U32String::format(_("Download speed: %s %S/s"), speed.c_str(), _(speedUnits).c_str());
return Common::U32String::format(_("Download speed: %s %S"), speed.c_str(), _(speedUnits).c_str());
} }
void DownloadPacksDialog::refreshWidgets() { void DownloadPacksDialog::refreshWidgets() {
@ -457,10 +456,10 @@ void DownloadPacksDialog::clearCache() {
totalSize += size; totalSize += size;
} }
Common::String sizeUnits; const char *sizeUnits;
Common::String size = getHumanReadableBytes(totalSize, sizeUnits); Common::String size = Common::getHumanReadableBytes(totalSize, sizeUnits);
GUI::MessageDialog dialog(Common::U32String::format(_("You are about to remove %s %s of data, deleting all previously downloaded %S. Do you want to proceed?"), size.c_str(), sizeUnits.c_str(), _packname.c_str()), _("Proceed"), _("Cancel")); GUI::MessageDialog dialog(Common::U32String::format(_("You are about to remove %s %S of data, deleting all previously downloaded %S. Do you want to proceed?"), size.c_str(), _(sizeUnits).c_str(), _packname.c_str()), _("Proceed"), _("Cancel"));
if (dialog.runModal() == ::GUI::kMessageOK) { if (dialog.runModal() == ::GUI::kMessageOK) {
// Build list of previously downloaded icon files // Build list of previously downloaded icon files

View file

@ -3566,8 +3566,8 @@ void GlobalOptionsDialog::setupCloudTab() {
if (_storageUsedSpaceDesc) _storageUsedSpaceDesc->setVisible(shownConnectedInfo); if (_storageUsedSpaceDesc) _storageUsedSpaceDesc->setVisible(shownConnectedInfo);
if (_storageUsedSpace) { if (_storageUsedSpace) {
uint64 usedSpace = CloudMan.getStorageUsedSpace(_selectedStorageIndex); uint64 usedSpace = CloudMan.getStorageUsedSpace(_selectedStorageIndex);
Common::String usedSpaceNumber, usedSpaceUnits; const char *usedSpaceUnits;
usedSpaceNumber = Common::getHumanReadableBytes(usedSpace, usedSpaceUnits); Common::String usedSpaceNumber = Common::getHumanReadableBytes(usedSpace, usedSpaceUnits);
_storageUsedSpace->setLabel(Common::U32String::format("%s %S", usedSpaceNumber.c_str(), _(usedSpaceUnits).c_str())); _storageUsedSpace->setLabel(Common::U32String::format("%s %S", usedSpaceNumber.c_str(), _(usedSpaceUnits).c_str()));
_storageUsedSpace->setVisible(shownConnectedInfo); _storageUsedSpace->setVisible(shownConnectedInfo);
} }

View file

@ -113,9 +113,9 @@ void SaveLoadCloudSyncProgressDialog::pollCloudMan() {
Cloud::Storage::SyncDownloadingInfo info; Cloud::Storage::SyncDownloadingInfo info;
CloudMan.getSyncDownloadingInfo(info); CloudMan.getSyncDownloadingInfo(info);
Common::String downloaded, downloadedUnits, total, totalUnits; const char *downloadedUnits, *totalUnits;
downloaded = getHumanReadableBytes(info.bytesDownloaded, downloadedUnits); Common::String downloaded = Common::getHumanReadableBytes(info.bytesDownloaded, downloadedUnits);
total = getHumanReadableBytes(info.bytesToDownload, totalUnits); Common::String total = Common::getHumanReadableBytes(info.bytesToDownload, totalUnits);
Common::String progressPercent = Common::String::format("%u %%", progress); Common::String progressPercent = Common::String::format("%u %%", progress);
Common::String filesDownloaded = Common::String::format("%llu", (unsigned long long)info.filesDownloaded); Common::String filesDownloaded = Common::String::format("%llu", (unsigned long long)info.filesDownloaded);