diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/actions/actions.cpp | 18 | ||||
-rw-r--r-- | src/actions/actions.h | 1 | ||||
-rw-r--r-- | src/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 9 |
4 files changed, 29 insertions, 0 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp index a7c0466d2..c29d90a50 100644 --- a/src/actions/actions.cpp +++ b/src/actions/actions.cpp @@ -1438,7 +1438,25 @@ impHandler(invToStorage) { ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd, inventoryWindow, item); + } + return true; +} + +impHandler(tradeAdd) +{ + Item *item = nullptr; + const int amount = getAmountFromEvent(event, item); + if (!item || PlayerInfo::isItemProtected(item->getId())) return true; + + if (amount) + { + tradeWindow->tradeItem(item, amount, true); + } + else + { + ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd, + tradeWindow, item); } return true; } diff --git a/src/actions/actions.h b/src/actions/actions.h index eaf900fbe..0fd1f71c5 100644 --- a/src/actions/actions.h +++ b/src/actions/actions.h @@ -99,6 +99,7 @@ namespace Actions decHandler(useItem); decHandler(useItemInv); decHandler(invToStorage); + decHandler(tradeAdd); } // namespace Actions #undef decHandler diff --git a/src/input/inputaction.h b/src/input/inputaction.h index dc63508d3..60bbeab61 100644 --- a/src/input/inputaction.h +++ b/src/input/inputaction.h @@ -506,6 +506,7 @@ namespace InputAction DROP_INV_ALL, USE_INV, INV_TO_STORAGE, + TRADE_ADD, TOTAL }; } // namespace InputAction diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index b23032728..26b77a03b 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -4297,6 +4297,15 @@ static const InputActionData inputActionData[InputAction::TOTAL] = { InputCondition::INGAME, "invtostorage|invstorage", true}, + {"keyTradeAdd", + InputType::UNKNOWN, InputAction::NO_VALUE, + InputType::UNKNOWN, InputAction::NO_VALUE, + Input::GRP_DEFAULT, + &Actions::tradeAdd, + InputAction::NO_VALUE, 50, + InputCondition::INGAME, + "tradeadd|addtrade", + true}, }; #endif // INPUT_INPUTACTIONMAP_H |