summaryrefslogtreecommitdiff
path: root/src/gui/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets')
-rw-r--r--src/gui/widgets/itemcontainer.cpp2
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp17
2 files changed, 13 insertions, 6 deletions
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index 589cb376a..1650c386e 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -339,7 +339,7 @@ void ItemContainer::mousePressed(gcn::MouseEvent &event)
if (num >= 0 && num < SHORTCUT_TABS)
{
if (itemShortcut[num])
- itemShortcut[num]->setItemSelected(item->getId());
+ itemShortcut[num]->setItemSelected(item);
}
if (dropShortcut)
dropShortcut->setItemSelected(item->getId());
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 4d0758e3d..362cfad54 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -123,7 +123,8 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics)
g->drawText(key, itemX + 2, itemY + 2, gcn::Graphics::LEFT);
- int itemId = itemShortcut[mNumber]->getItem(i);
+ const int itemId = itemShortcut[mNumber]->getItem(i);
+ const int itemColor = itemShortcut[mNumber]->getItemColor(i);
if (itemId < 0)
continue;
@@ -134,7 +135,8 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics)
if (!PlayerInfo::getInventory())
continue;
- Item *item = PlayerInfo::getInventory()->findItem(itemId);
+ Item *item = PlayerInfo::getInventory()->findItem(
+ itemId, itemColor);
if (item)
{
@@ -284,7 +286,10 @@ void ItemShortcutContainer::mousePressed(gcn::MouseEvent &event)
// Item *item = PlayerInfo::getInventory()->findItem(id);
if (viewport && itemShortcut[mNumber])
- viewport->showItemPopup(itemShortcut[mNumber]->getItem(index));
+ {
+ viewport->showItemPopup(itemShortcut[mNumber]->getItem(index),
+ itemShortcut[mNumber]->getItemColor(index));
+ }
}
}
@@ -306,7 +311,8 @@ void ItemShortcutContainer::mouseReleased(gcn::MouseEvent &event)
}
if (mItemMoved)
{
- itemShortcut[mNumber]->setItems(index, mItemMoved->getId());
+ itemShortcut[mNumber]->setItems(index,
+ mItemMoved->getId(), mItemMoved->getColor());
mItemMoved = NULL;
}
else if (itemShortcut[mNumber]->getItem(index) && mItemClicked)
@@ -331,6 +337,7 @@ void ItemShortcutContainer::mouseMoved(gcn::MouseEvent &event)
return;
const int itemId = itemShortcut[mNumber]->getItem(index);
+ const int itemColor = itemShortcut[mNumber]->getItemColor(index);
if (itemId < 0)
return;
@@ -342,7 +349,7 @@ void ItemShortcutContainer::mouseMoved(gcn::MouseEvent &event)
if (!PlayerInfo::getInventory())
return;
- Item *item = PlayerInfo::getInventory()->findItem(itemId);
+ Item *item = PlayerInfo::getInventory()->findItem(itemId, itemColor);
if (item && viewport)
{