summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/inventorywindow.cpp16
-rw-r--r--src/gui/inventorywindow.h2
2 files changed, 17 insertions, 1 deletions
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.