diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/popupmenu.cpp | 182 | ||||
-rw-r--r-- | src/gui/popupmenu.h | 2 |
2 files changed, 52 insertions, 132 deletions
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp index ef71160d7..0cd6e0511 100644 --- a/src/gui/popupmenu.cpp +++ b/src/gui/popupmenu.cpp @@ -1831,49 +1831,7 @@ void PopupMenu::showPopup(Window *const parent, const int x, const int y, mBrowserBox->addRow("##3---"); } - if (item->isEquipment()) - { - if (item->isEquipped()) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Unequip")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Equip")); - } - } - else - { - if (!isProtected) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Use")); - } - } - - if (!isProtected) - { - if (cnt > 1) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop...")); - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop all", _("Drop all")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop")); - } - } - - if (Net::getInventoryHandler()->canSplit(item)) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("split", _("Split")); - } + addUseDrop(item, isProtected); } // Assume in storage for now else @@ -1967,50 +1925,7 @@ void PopupMenu::showItemPopup(const int x, const int y, Item *const item) if (item) { const bool isProtected = PlayerInfo::isItemProtected(mItemId); - if (item->isEquipment()) - { - if (item->isEquipped()) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Unequip")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Equip")); - } - } - else - { - if (!isProtected) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Use")); - } - } - - if (!isProtected) - { - if (item->getQuantity() > 1) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop...")); - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop all", _("Drop all")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop")); - } - } - - if (Net::getInventoryHandler()->canSplit(item)) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("split", _("Split")); - } - + addUseDrop(item, isProtected); if (InventoryWindow::isStorageActive()) { // TRANSLATORS: popup menu item @@ -2048,51 +1963,7 @@ void PopupMenu::showDropPopup(const int x, const int y, Item *const item) mItemId = item->getId(); mItemColor = item->getColor(); const bool isProtected = PlayerInfo::isItemProtected(mItemId); - - if (item->isEquipment()) - { - if (item->isEquipped()) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Unequip")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Equip")); - } - } - else - { - if (!isProtected) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("use", _("Use")); - } - } - - if (!isProtected) - { - if (item->getQuantity() > 1) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop...")); - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop all", _("Drop all")); - } - else - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("drop", _("Drop")); - } - } - - if (Net::getInventoryHandler()->canSplit(item)) - { - // TRANSLATORS: popup menu item - mBrowserBox->addRow("split", _("Split")); - } - + addUseDrop(item, isProtected); if (InventoryWindow::isStorageActive()) { // TRANSLATORS: popup menu item @@ -2694,6 +2565,53 @@ void PopupMenu::addProtection() } } +void PopupMenu::addUseDrop(const Item *const item, const bool isProtected) +{ + if (item->isEquipment()) + { + if (item->isEquipped()) + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("use", _("Unequip")); + } + else + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("use", _("Equip")); + } + } + else + { + if (!isProtected) + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("use", _("Use")); + } + } + + if (!isProtected) + { + if (item->getQuantity() > 1) + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("drop", _("Drop...")); + // TRANSLATORS: popup menu item + mBrowserBox->addRow("drop all", _("Drop all")); + } + else + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("drop", _("Drop")); + } + } + + if (Net::getInventoryHandler()->canSplit(item)) + { + // TRANSLATORS: popup menu item + mBrowserBox->addRow("split", _("Split")); + } +} + RenameListener::RenameListener() : gcn::ActionListener(), mMapItem(nullptr), diff --git a/src/gui/popupmenu.h b/src/gui/popupmenu.h index 3b615afec..04104fd18 100644 --- a/src/gui/popupmenu.h +++ b/src/gui/popupmenu.h @@ -205,6 +205,8 @@ class PopupMenu final : public Popup, public LinkHandler void addProtection(); + void addUseDrop(const Item *const item, const bool isProtected); + BrowserBox *mBrowserBox; ScrollArea *mScrollArea; |