summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-02-01 01:26:24 +0300
committerAndrei Karas <akaras@inbox.ru>2017-02-01 01:26:24 +0300
commitaca306abdee1921d5536fc1e10aea110f599d471 (patch)
tree75d7cce3b9d66193529b8046139e0060bbcaac65
parent24902ba328260cb496c62e236a644ebb990e3fd4 (diff)
downloadmanaverse-aca306abdee1921d5536fc1e10aea110f599d471.tar.gz
manaverse-aca306abdee1921d5536fc1e10aea110f599d471.tar.bz2
manaverse-aca306abdee1921d5536fc1e10aea110f599d471.tar.xz
manaverse-aca306abdee1921d5536fc1e10aea110f599d471.zip
Use npc currency in buy dialog.
-rw-r--r--src/gui/windows/buydialog.cpp5
-rw-r--r--src/resources/db/unitsdb.cpp8
-rw-r--r--src/resources/db/unitsdb.h6
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;