diff options
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/itemcontainer.cpp | 2 | ||||
-rw-r--r-- | src/gui/widgets/itemshortcutcontainer.cpp | 17 |
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) { |