summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-02-06 16:58:18 +0300
committerAndrei Karas <akaras@inbox.ru>2017-02-06 16:58:18 +0300
commitd557ce63e240960746e48c678b4a08ba66f7fe40 (patch)
tree8dfa33e155d7ea2145df9056895f0c1293155349 /src/gui
parent8e243bbcdae592e1c003e5d2c37c8f0e8f1304e7 (diff)
downloadManaVerse-d557ce63e240960746e48c678b4a08ba66f7fe40.tar.gz
ManaVerse-d557ce63e240960746e48c678b4a08ba66f7fe40.tar.bz2
ManaVerse-d557ce63e240960746e48c678b4a08ba66f7fe40.tar.xz
ManaVerse-d557ce63e240960746e48c678b4a08ba66f7fe40.zip
Add custom currency also into shop items list.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/models/shopitems.cpp28
-rw-r--r--src/gui/models/shopitems.h5
-rw-r--r--src/gui/widgets/selldialog.cpp5
-rw-r--r--src/gui/windows/buydialog.cpp3
-rw-r--r--src/gui/windows/shopwindow.cpp7
5 files changed, 38 insertions, 10 deletions
diff --git a/src/gui/models/shopitems.cpp b/src/gui/models/shopitems.cpp
index 061da5110..94bba3be4 100644
--- a/src/gui/models/shopitems.cpp
+++ b/src/gui/models/shopitems.cpp
@@ -28,10 +28,12 @@
#include "debug.h"
-ShopItems::ShopItems(const bool mergeDuplicates) :
+ShopItems::ShopItems(const bool mergeDuplicates,
+ const std::string &currency) :
ListModel(),
mAllShopItems(),
mShopItems(),
+ mCurrency(currency),
mMergeDuplicates(mergeDuplicates)
{
}
@@ -58,7 +60,13 @@ ShopItem *ShopItems::addItem(const int id,
const int amount,
const int price)
{
- ShopItem *const item = new ShopItem(-1, id, type, color, amount, price);
+ ShopItem *const item = new ShopItem(-1,
+ id,
+ type,
+ color,
+ amount,
+ price,
+ mCurrency);
mShopItems.push_back(item);
mAllShopItems.push_back(item);
return item;
@@ -73,7 +81,13 @@ ShopItem *ShopItems::addItemNoDup(const int id,
ShopItem *item = findItem(id, color);
if (!item)
{
- item = new ShopItem(-1, id, type, color, amount, price);
+ item = new ShopItem(-1,
+ id,
+ type,
+ color,
+ amount,
+ price,
+ mCurrency);
mShopItems.push_back(item);
mAllShopItems.push_back(item);
}
@@ -97,7 +111,13 @@ ShopItem *ShopItems::addItem2(const int inventoryIndex,
}
else
{
- item = new ShopItem(inventoryIndex, id, type, color, quantity, price);
+ item = new ShopItem(inventoryIndex,
+ id,
+ type,
+ color,
+ quantity,
+ price,
+ mCurrency);
mShopItems.push_back(item);
mAllShopItems.push_back(item);
}
diff --git a/src/gui/models/shopitems.h b/src/gui/models/shopitems.h
index 42594a7c6..3b6d611cb 100644
--- a/src/gui/models/shopitems.h
+++ b/src/gui/models/shopitems.h
@@ -53,7 +53,8 @@ class ShopItems final : public ListModel
* @param mergeDuplicates lets the Shop look for duplicate entries and
* merges them to one item.
*/
- explicit ShopItems(const bool mergeDuplicates = false);
+ ShopItems(const bool mergeDuplicates,
+ const std::string &currency);
A_DELETE_COPY(ShopItems)
@@ -159,6 +160,8 @@ class ShopItems final : public ListModel
std::vector<ShopItem*> mShopItems;
+ std::string mCurrency;
+
/** Look for duplicate entries on addition. */
bool mMergeDuplicates;
};
diff --git a/src/gui/widgets/selldialog.cpp b/src/gui/widgets/selldialog.cpp
index 7f96e14ff..b455597a2 100644
--- a/src/gui/widgets/selldialog.cpp
+++ b/src/gui/widgets/selldialog.cpp
@@ -22,6 +22,8 @@
#include "gui/widgets/selldialog.h"
+#include "const/resources/currency.h"
+
#include "enums/gui/layouttype.h"
#include "gui/windows/setupwindow.h"
@@ -89,7 +91,8 @@ void SellDialog::postInit()
setupWindow->registerWindowForReset(this);
// Create a ShopItems instance, that is aware of duplicate entries.
- mShopItems = new ShopItems(true);
+ mShopItems = new ShopItems(true,
+ DEFAULT_CURRENCY);
if (mAdvanced == Advanced_true)
mShopItems->setMergeDuplicates(false);
diff --git a/src/gui/windows/buydialog.cpp b/src/gui/windows/buydialog.cpp
index a0ec8d05c..bddd8bba6 100644
--- a/src/gui/windows/buydialog.cpp
+++ b/src/gui/windows/buydialog.cpp
@@ -296,7 +296,8 @@ void BuyDialog::init()
if (setupWindow)
setupWindow->registerWindowForReset(this);
- mShopItems = new ShopItems;
+ mShopItems = new ShopItems(false,
+ mCurrency);
CREATEWIDGETV(mShopItemList, ShopListBox, this,
mShopItems, mShopItems, ShopListBoxType::Unknown);
diff --git a/src/gui/windows/shopwindow.cpp b/src/gui/windows/shopwindow.cpp
index b09b44a46..f308cb5b5 100644
--- a/src/gui/windows/shopwindow.cpp
+++ b/src/gui/windows/shopwindow.cpp
@@ -107,8 +107,8 @@ ShopWindow::ShopWindow() :
SelectionListener(),
// TRANSLATORS: shop window button
mCloseButton(new Button(this, _("Close"), "close", this)),
- mBuyShopItems(new ShopItems),
- mSellShopItems(new ShopItems),
+ mBuyShopItems(new ShopItems(false, DEFAULT_CURRENCY)),
+ mSellShopItems(new ShopItems(false, DEFAULT_CURRENCY)),
mTradeItem(nullptr),
mBuyShopItemList(CREATEWIDGETR(ShopListBox,
this, mBuyShopItems, mBuyShopItems, ShopListBoxType::BuyShop)),
@@ -952,7 +952,8 @@ void ShopWindow::processRequest(const std::string &nick, std::string data,
ItemType::Unknown,
ItemColor_one,
amount,
- price);
+ price,
+ DEFAULT_CURRENCY);
if (mode == BUY)
{