GUI: Add GUIUtil::formatMultiAssetAmount to handle a CAmountMap

This commit is contained in:
Luke Dashjr 2018-12-16 04:31:39 +00:00 committed by Gregory Sanders
parent 988ed5effc
commit 6342d80d7f
2 changed files with 23 additions and 0 deletions

View file

@ -794,6 +794,26 @@ QString formatAssetAmount(const CAsset& asset, const CAmount& amount, const int
return str;
}
QString formatMultiAssetAmount(const CAmountMap& amountmap, const int bitcoin_unit, BitcoinUnits::SeparatorStyle separators, QString line_separator)
{
QStringList ret;
if (amountmap.count(Params().GetConsensus().pegged_asset) && amountmap.at(Params().GetConsensus().pegged_asset)) {
ret << formatAssetAmount(Params().GetConsensus().pegged_asset, amountmap.at(Params().GetConsensus().pegged_asset), bitcoin_unit, separators);
}
for (const auto& assetamount : amountmap) {
if (assetamount.first == Params().GetConsensus().pegged_asset) {
// Already handled first
continue;
}
if (!assetamount.second) {
// Don't include zero-amount assets
continue;
}
ret << formatAssetAmount(assetamount.first, assetamount.second, bitcoin_unit, separators);
}
return ret.join(line_separator);
}
QString formatDurationStr(int secs)
{
QStringList strList;

View file

@ -192,6 +192,9 @@ namespace GUIUtil
/* Format an amount of assets in a user-friendly style */
QString formatAssetAmount(const CAsset&, const CAmount&, int bitcoin_unit, BitcoinUnits::SeparatorStyle);
/* Format one or more asset+amounts in a user-friendly style */
QString formatMultiAssetAmount(const CAmountMap&, int bitcoin_unit, BitcoinUnits::SeparatorStyle, QString line_separator);
/* Convert seconds into a QString with days, hours, mins, secs */
QString formatDurationStr(int secs);