diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-02-01 01:26:24 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-02-01 01:26:24 +0300 |
commit | aca306abdee1921d5536fc1e10aea110f599d471 (patch) | |
tree | 75d7cce3b9d66193529b8046139e0060bbcaac65 | |
parent | 24902ba328260cb496c62e236a644ebb990e3fd4 (diff) | |
download | manaplus-aca306abdee1921d5536fc1e10aea110f599d471.tar.gz manaplus-aca306abdee1921d5536fc1e10aea110f599d471.tar.bz2 manaplus-aca306abdee1921d5536fc1e10aea110f599d471.tar.xz manaplus-aca306abdee1921d5536fc1e10aea110f599d471.zip |
Use npc currency in buy dialog.
-rw-r--r-- | src/gui/windows/buydialog.cpp | 5 | ||||
-rw-r--r-- | src/resources/db/unitsdb.cpp | 8 | ||||
-rw-r--r-- | src/resources/db/unitsdb.h | 6 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/gui/windows/buydialog.cpp b/src/gui/windows/buydialog.cpp index 620c95817..797edd1ab 100644 --- a/src/gui/windows/buydialog.cpp +++ b/src/gui/windows/buydialog.cpp @@ -194,6 +194,7 @@ BuyDialog::BuyDialog() : this, "namefilter", true)), mFilterLabel(nullptr), mNick(), + mCurrency(), mNpcId(fromInt(Items, BeingId)), mMoney(0), mAmountItems(0), @@ -745,8 +746,8 @@ void BuyDialog::updateButtonsAndLabels() mQuantityLabel->setCaption(strprintf("%d / %d", mAmountItems, mMaxItems)); // TRANSLATORS: buy dialog label mMoneyLabel->setCaption(strprintf(_("Price: %s / Total: %s"), - UnitsDb::formatCurrency(price).c_str(), - UnitsDb::formatCurrency(mMoney - price).c_str())); + UnitsDb::formatCurrency(mCurrency, price).c_str(), + UnitsDb::formatCurrency(mCurrency, mMoney - price).c_str())); } void BuyDialog::setVisible(Visible visible) diff --git a/src/resources/db/unitsdb.cpp b/src/resources/db/unitsdb.cpp index 7b56e8721..8746753c6 100644 --- a/src/resources/db/unitsdb.cpp +++ b/src/resources/db/unitsdb.cpp @@ -322,6 +322,14 @@ std::string UnitsDb::formatCurrency(const int value) return formatUnit(value, defaultCurrency); } +std::string UnitsDb::formatCurrency(std::string name, + const int value) +{ + if (mCurrencies.find(name) == mCurrencies.end()) + name = DEFAULT_CURRENCY; + return formatUnit(value, mCurrencies[name]); +} + std::string UnitsDb::formatWeight(const int value) { return formatUnit(value, defaultWeight); diff --git a/src/resources/db/unitsdb.h b/src/resources/db/unitsdb.h index 7a913cc16..689e7a6ad 100644 --- a/src/resources/db/unitsdb.h +++ b/src/resources/db/unitsdb.h @@ -48,6 +48,12 @@ class UnitsDb final static std::string formatCurrency(const int value) A_WARN_UNUSED; /** + * Formats the given number in the correct currency format. + */ + static std::string formatCurrency(std::string name, + const int value) A_WARN_UNUSED; + + /** * Formats the given number in the correct weight/mass format. */ static std::string formatWeight(const int value) A_WARN_UNUSED; |