summaryrefslogtreecommitdiff
path: root/src/gui/equipmentwindow.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-18 03:06:53 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-18 03:06:53 +0200
commit36239b2d689b862a951a65a9be7376a500f1ace9 (patch)
tree1f8dde16f52a4cbbde1c46af0a063c79e28d30d1 /src/gui/equipmentwindow.cpp
parente86f83ed987461adabcbc02508107366b8c65558 (diff)
downloadmana-client-36239b2d689b862a951a65a9be7376a500f1ace9.tar.gz
mana-client-36239b2d689b862a951a65a9be7376a500f1ace9.tar.bz2
mana-client-36239b2d689b862a951a65a9be7376a500f1ace9.tar.xz
mana-client-36239b2d689b862a951a65a9be7376a500f1ace9.zip
Improved equip slots description for both protocols.
Now the itempopup is also telling what equip slot is under the mouse pointer.
Diffstat (limited to 'src/gui/equipmentwindow.cpp')
-rw-r--r--src/gui/equipmentwindow.cpp31
1 files changed, 26 insertions, 5 deletions
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index 91ab38e8..212dcd2b 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -192,6 +192,19 @@ Item *EquipmentWindow::getItem(int x, int y) const
return 0;
}
+const std::string EquipmentWindow::getSlotName(int x, int y) const
+{
+ for (int i = 0; i < mBoxesNumber; ++i)
+ {
+ gcn::Rectangle tRect(mEquipBox[i].posX, mEquipBox[i].posY,
+ BOX_WIDTH, BOX_HEIGHT);
+
+ if (tRect.isPointInRect(x, y))
+ return mEquipment->getSlotName(i);
+ }
+ return std::string();
+}
+
void EquipmentWindow::mousePressed(gcn::MouseEvent& mouseEvent)
{
Window::mousePressed(mouseEvent);
@@ -231,15 +244,23 @@ void EquipmentWindow::mouseMoved(gcn::MouseEvent &event)
const int x = event.getX();
const int y = event.getY();
- Item *item = getItem(x, y);
+ int mouseX, mouseY;
+ SDL_GetMouseState(&mouseX, &mouseY);
// Show ItemTooltip
- if (item)
+ std::string slotName = getSlotName(x, y);
+ if (!slotName.empty())
{
- int mouseX, mouseY;
- SDL_GetMouseState(&mouseX, &mouseY);
+ mItemPopup->setEquipmentText(slotName);
+
+ Item *item = getItem(x, y);
+ if (item)
+ {
+ mItemPopup->setItem(item->getInfo());
+ }
+ else
+ mItemPopup->setNoItem();
- mItemPopup->setItem(item->getInfo());
mItemPopup->position(x + getX(), y + getY());
}
else