summaryrefslogtreecommitdiff
path: root/src/gui/popupmenu.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-06-06 23:44:23 +0300
committerAndrei Karas <akaras@inbox.ru>2011-06-06 23:44:23 +0300
commit0c3770d8aec1b56ad704e88d6e6d510ddc4af9a1 (patch)
tree4a54dc866fa7b0479e6a187ffcc60761d98abddb /src/gui/popupmenu.cpp
parenta89170d63eabaec5f2b63ecb9df95c982ac044a1 (diff)
downloadmv-0c3770d8aec1b56ad704e88d6e6d510ddc4af9a1.tar.gz
mv-0c3770d8aec1b56ad704e88d6e6d510ddc4af9a1.tar.bz2
mv-0c3770d8aec1b56ad704e88d6e6d510ddc4af9a1.tar.xz
mv-0c3770d8aec1b56ad704e88d6e6d510ddc4af9a1.zip
Extend quick move items from inventory to storage and back.
Add new key for quick actions "modifier key".
Diffstat (limited to 'src/gui/popupmenu.cpp')
-rw-r--r--src/gui/popupmenu.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index 8497b2924..766e968ad 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -967,6 +967,10 @@ void PopupMenu::handleLink(const std::string &link,
ItemAmountWindow::showWindow(ItemAmountWindow::ItemDrop,
inventoryWindow, mItem);
}
+ else if (link == "drop all" && mItem)
+ {
+ Net::getInventoryHandler()->dropItem(mItem, mItem->getQuantity());
+ }
else if (link == "store" && mItem)
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
@@ -1539,9 +1543,14 @@ void PopupMenu::showPopup(Window *parent, int x, int y, Item *item,
mBrowserBox->addRow(strprintf("@@use|%s@@", _("Use")));
if (cnt > 1)
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop...")));
+ mBrowserBox->addRow(strprintf("@@drop all|%s@@", _("Drop all")));
+ }
else
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop")));
+ }
if (Net::getInventoryHandler()->canSplit(item))
mBrowserBox->addRow(strprintf("@@split|%s@@", _("Split")));
@@ -1631,9 +1640,14 @@ void PopupMenu::showItemPopup(int x, int y, Item *item)
}
if (item->getQuantity() > 1)
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop...")));
+ mBrowserBox->addRow(strprintf("@@drop all|%s@@", _("Drop all")));
+ }
else
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop")));
+ }
if (Net::getInventoryHandler()->canSplit(item))
mBrowserBox->addRow(strprintf("@@split|%s@@", _("Split")));
@@ -1669,9 +1683,14 @@ void PopupMenu::showDropPopup(int x, int y, Item *item)
mBrowserBox->addRow(strprintf("@@use|%s@@", _("Use")));
if (item->getQuantity() > 1)
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop...")));
+ mBrowserBox->addRow(strprintf("@@drop all|%s@@", _("Drop all")));
+ }
else
+ {
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop")));
+ }
if (Net::getInventoryHandler()->canSplit(item))
mBrowserBox->addRow(strprintf("@@split|%s@@", _("Split")));