From 5d0b4c09a67f279847337aa06bc3066c07f63114 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 8 Jan 2016 20:27:29 +0300 Subject: Impliment craft inventory for moving items one by one. --- src/gui/widgets/itemcontainer.cpp | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'src/gui/widgets/itemcontainer.cpp') diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp index d96d89868..af614bcb1 100644 --- a/src/gui/widgets/itemcontainer.cpp +++ b/src/gui/widgets/itemcontainer.cpp @@ -799,7 +799,8 @@ void ItemContainer::mouseReleased(MouseEvent &event) Item *const item = inventory->getItem(dragDrop.getTag()); if (mInventory->addVirtualItem( item, - getSlotByXY(event.getX(), event.getY()))) + getSlotByXY(event.getX(), event.getY()), + 1)) { inventory->virtualRemove(item, 1); } @@ -863,7 +864,8 @@ void ItemContainer::mouseReleased(MouseEvent &event) Item *const item = inventory->getItem(dragDrop.getTag()); if (mInventory->addVirtualItem( item, - getSlotByXY(event.getX(), event.getY()))) + getSlotByXY(event.getX(), event.getY()), + 1)) { inventory->virtualRemove(item, 1); } @@ -881,26 +883,14 @@ void ItemContainer::mouseReleased(MouseEvent &event) if (index == Inventory::NO_SLOT_INDEX) { if (inventory) - inventory->virtualRestore(item, 1); - mInventory->removeItemAt(dragDrop.getTag()); + { + inventory->virtualRestore(item, + item->getQuantity()); + mInventory->removeItemAt(dragDrop.getTag()); + } return; } - mInventory->removeItemAt(index); - mInventory->setItem(index, - item->getId(), - item->getType(), - 1, - 1, - item->getColor(), - item->getIdentified(), - item->getDamaged(), - item->getFavorite(), - Equipm_false, - Equipped_false); - Item *const item2 = mInventory->getItem(index); - if (item2) - item2->setTag(item->getTag()); - mInventory->removeItemAt(dragDrop.getTag()); + mInventory->moveItem(index, dragDrop.getTag()); } else { @@ -910,7 +900,8 @@ void ItemContainer::mouseReleased(MouseEvent &event) dragDrop.getTag()); if (item) { - inventory->virtualRestore(item, 1); + inventory->virtualRestore(item, + item->getQuantity()); mInventory->removeItemAt(dragDrop.getTag()); } } -- cgit v1.2.3-60-g2f50