pkgman: Use BNumberFormat for i18n

Change-Id: I2441f1d37bfccd5f5dbc9b763aeb87d017e628bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7508
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Emir SARI
2024-03-31 08:33:21 +00:00
committed by Adrien Destugues
parent 058be77bec
commit bc6674c89e
2 changed files with 19 additions and 7 deletions
+16 -7
View File
@@ -1,5 +1,5 @@
/* /*
* Copyright 2013-2015, Haiku, Inc. All Rights Reserved. * Copyright 2013-2024, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License. * Distributed under the terms of the MIT License.
* *
* Authors: * Authors:
@@ -178,8 +178,12 @@ PackageManager::ProgressPackageDownloadStarted(const char* packageName)
fLastRateCalcTime = system_time(); fLastRateCalcTime = system_time();
fDownloadRate = 0; fDownloadRate = 0;
if (fShowProgress) if (fShowProgress) {
printf(" 0%%"); char percentString[32];
fNumberFormat.FormatPercent(percentString, sizeof(percentString), 0.0);
// Make sure there is enough space for '100 %' percent format
printf("%6s", percentString);
}
} }
@@ -215,10 +219,12 @@ PackageManager::ProgressPackageDownloadActive(const char* packageName,
if (width < 30) { if (width < 30) {
// Not much space for anything, just draw a percentage // Not much space for anything, just draw a percentage
leftStr.SetToFormat("%3d%%", (int)(completionPercentage * 100)); fNumberFormat.FormatPercent(leftStr, completionPercentage);
} else { } else {
leftStr.SetToFormat("%3d%% %s", (int)(completionPercentage * 100), BString dataString;
packageName); fNumberFormat.FormatPercent(dataString, completionPercentage);
// Make sure there is enough space for '100 %' percent format
leftStr.SetToFormat("%6s %s", dataString.String(), packageName);
char byteBuffer[32]; char byteBuffer[32];
char totalBuffer[32]; char totalBuffer[32];
@@ -267,7 +273,10 @@ PackageManager::ProgressPackageDownloadComplete(const char* packageName)
} }
char byteBuffer[32]; char byteBuffer[32];
printf("100%% %s [%s]\n", packageName, char percentString[32];
fNumberFormat.FormatPercent(percentString, sizeof(percentString), 1.0);
// Make sure there is enough space for '100 %' percent format
printf("%6s %s [%s]\n", percentString, packageName,
string_for_size(fLastBytes, byteBuffer, sizeof(byteBuffer))); string_for_size(fLastBytes, byteBuffer, sizeof(byteBuffer)));
fflush(stdout); fflush(stdout);
} }
+3
View File
@@ -13,6 +13,8 @@
#include <package/DaemonClient.h> #include <package/DaemonClient.h>
#include <package/manager/PackageManager.h> #include <package/manager/PackageManager.h>
#include <NumberFormat.h>
#include "DecisionProvider.h" #include "DecisionProvider.h"
@@ -68,6 +70,7 @@ private:
private: private:
DecisionProvider fDecisionProvider; DecisionProvider fDecisionProvider;
BNumberFormat fNumberFormat;
BPackageManager::ClientInstallationInterface BPackageManager::ClientInstallationInterface
fClientInstallationInterface; fClientInstallationInterface;
bool fInteractive; bool fInteractive;