From 37f8e4429b9620e6734fa5f1c9a760181dc35001 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 12 Apr 2011 02:46:54 +0300 Subject: Updating equip/unequip buttons in inventory. --- src/gui/inventorywindow.cpp | 16 +++++++++++++++- src/gui/inventorywindow.h | 2 ++ src/net/tmwa/inventoryhandler.h | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index 403868cd1..a41334d06 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -427,6 +427,20 @@ void InventoryWindow::valueChanged(const gcn::SelectionEvent &event _UNUSED_) ItemAmountWindow::showWindow(ItemAmountWindow::ItemSplit, this, item, (item->getQuantity() - 1)); } + updateButtons(item); +} + +void InventoryWindow::updateButtons(Item *item) +{ + if (!mInventory || !mInventory->isMainInventory()) + return; + + Item *selectedItem = mItems->getSelectedItem(); + if (item && selectedItem != item) + return; + + if (!item) + item = selectedItem; if (!item || item->getQuantity() == 0) { @@ -472,8 +486,8 @@ void InventoryWindow::valueChanged(const gcn::SelectionEvent &event _UNUSED_) else mSplitButton->setEnabled(false); } -} +} void InventoryWindow::setSplitAllowed(bool allowed) { diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h index 63da97173..9ca45aaea 100644 --- a/src/gui/inventorywindow.h +++ b/src/gui/inventorywindow.h @@ -126,6 +126,8 @@ class InventoryWindow : public Window, void event(Mana::Channels channel, const Mana::Event &event); + void updateButtons(Item *item = 0); + private: /** * Updates the weight bar. diff --git a/src/net/tmwa/inventoryhandler.h b/src/net/tmwa/inventoryhandler.h index 8dd39a781..c91fb01f7 100644 --- a/src/net/tmwa/inventoryhandler.h +++ b/src/net/tmwa/inventoryhandler.h @@ -94,6 +94,9 @@ class EquipBackend : public Equipment::Backend item = PlayerInfo::getInventory()->getItem(inventoryIndex); if (item) item->setEquipped(true); + + if (inventoryWindow) + inventoryWindow->updateButtons(); } private: -- cgit v1.2.3-70-g09d2