diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-02-15 12:25:28 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-02-15 12:25:28 +0300 |
commit | 5d7a02cee16478f23488495b3d031013eacea108 (patch) | |
tree | a1374603b86d38f2a0ada850b69e21a7d7c67f74 | |
parent | c2f007b58743491dc9250f09137ad847043b840d (diff) | |
download | manaplus-5d7a02cee16478f23488495b3d031013eacea108.tar.gz manaplus-5d7a02cee16478f23488495b3d031013eacea108.tar.bz2 manaplus-5d7a02cee16478f23488495b3d031013eacea108.tar.xz manaplus-5d7a02cee16478f23488495b3d031013eacea108.zip |
allow unpublish buying store shop.
-rw-r--r-- | src/gui/windows/shopwindow.cpp | 25 | ||||
-rw-r--r-- | src/net/eathena/buyingstorehandler.cpp | 1 |
2 files changed, 19 insertions, 7 deletions
diff --git a/src/gui/windows/shopwindow.cpp b/src/gui/windows/shopwindow.cpp index bed828f0a..da8a4e41b 100644 --- a/src/gui/windows/shopwindow.cpp +++ b/src/gui/windows/shopwindow.cpp @@ -286,13 +286,21 @@ void ShopWindow::action(const ActionEvent &event) { if (isBuySelected) { - std::vector<ShopItem*> &items = mBuyShopItems->items(); - if (!items.empty()) + if (mEnableBuyingStore) { - buyingStoreHandler->create(mSellShopName, - PlayerInfo::getAttribute(Attributes::MONEY), - true, - items); + buyingStoreHandler->close(); + BuyingStoreModeListener::distributeEvent(false); + } + else + { + std::vector<ShopItem*> &items = mBuyShopItems->items(); + if (!items.empty()) + { + buyingStoreHandler->create(mSellShopName, + PlayerInfo::getAttribute(Attributes::MONEY), + true, + items); + } } } else @@ -414,7 +422,10 @@ void ShopWindow::updateButtonsAndLabels() && mBuyShopItems->getNumberOfElements() > 0; if (mPublishButton) { - mPublishButton->setCaption(_("Publish")); + if (mEnableBuyingStore) + mPublishButton->setCaption(_("Unpublish")); + else + mPublishButton->setCaption(_("Publish")); mPublishButton->adjustSize(); if (mBuyShopSize > 0) mPublishButton->setEnabled(true); diff --git a/src/net/eathena/buyingstorehandler.cpp b/src/net/eathena/buyingstorehandler.cpp index e0cd402a7..18e933c56 100644 --- a/src/net/eathena/buyingstorehandler.cpp +++ b/src/net/eathena/buyingstorehandler.cpp @@ -261,6 +261,7 @@ void BuyingStoreHandler::create(const std::string &name, void BuyingStoreHandler::close() const { createOutPacket(CMSG_BUYINGSTORE_CLOSE); + PlayerInfo::enableVending(false); } void BuyingStoreHandler::open(const Being *const being) const |