diff options
-rw-r--r-- | src/actions/chat.cpp | 13 | ||||
-rw-r--r-- | src/actions/chat.h | 1 | ||||
-rw-r--r-- | src/dyetool/actions/chat.cpp | 1 | ||||
-rw-r--r-- | src/enums/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/gui/popups/popupmenu.cpp | 7 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 6 |
6 files changed, 23 insertions, 6 deletions
diff --git a/src/actions/chat.cpp b/src/actions/chat.cpp index 9d9be4279..62213c5cc 100644 --- a/src/actions/chat.cpp +++ b/src/actions/chat.cpp @@ -604,4 +604,17 @@ impHandler(hat) return true; } +impHandler(chatClipboard) +{ + int x = 0; + int y = 0; + + if (chatWindow && parse2Int(event.args, x, y)) + { + chatWindow->copyToClipboard(x, y); + return true; + } + return false; +} + } // namespace Actions diff --git a/src/actions/chat.h b/src/actions/chat.h index 3a433e49a..158de5580 100644 --- a/src/actions/chat.h +++ b/src/actions/chat.h @@ -59,6 +59,7 @@ namespace Actions decHandler(chatPartyTab); decHandler(chatGuildTab); decHandler(hat); + decHandler(chatClipboard); } // namespace Actions #undef decHandler diff --git a/src/dyetool/actions/chat.cpp b/src/dyetool/actions/chat.cpp index afc854fe8..9d54e2771 100644 --- a/src/dyetool/actions/chat.cpp +++ b/src/dyetool/actions/chat.cpp @@ -59,5 +59,6 @@ impHandlerVoid(chatGmTab) impHandlerVoid(chatPartyTab) impHandlerVoid(chatGuildTab) impHandlerVoid(hat) +impHandlerVoid(chatClipboard) } // namespace Actions diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index f5fa6b675..150c6282d 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -617,6 +617,7 @@ enumStart(InputAction) CRAFT_8, CRAFT_9, CRAFT, + CHAT_CLIPBOARD, TOTAL } enumEnd(InputAction); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index 74908fd98..9cc00b06d 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -810,7 +810,7 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab) } // TRANSLATORS: popup menu item // TRANSLATORS: copy selected text to clipboard - mBrowserBox->addRow("chat clipboard", _("Copy to clipboard")); + mBrowserBox->addRow("/chatclipboard 'X' 'Y'", _("Copy to clipboard")); mBrowserBox->addRow("##3---"); if (type == ChatTabType::WHISPER) @@ -1134,11 +1134,6 @@ void PopupMenu::handleLink(const std::string &link, inputManager.executeChatCommand(InputAction::ENABLE_AWAY, std::string(), mTab); } - else if (link == "chat clipboard" && mTab) - { - if (chatWindow) - chatWindow->copyToClipboard(mX, mY); - } else if (link == "npc clipboard" && mBeingId != BeingId_zero) { NpcDialog::copyToClipboard(mBeingId, mX, mY); diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index 1daf6f856..21060b74f 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5191,6 +5191,12 @@ static const InputActionData inputActionData "craft", UseArgs_true, Protected_true}, + {"keyChatClipboard", + defaultAction(&Actions::chatClipboard), + InputCondition::INGAME, + "chatclipboard", + UseArgs_true, + Protected_true}, }; #undef defaultAction |