diff options
-rw-r--r-- | src/actions/commands.cpp | 10 | ||||
-rw-r--r-- | src/actions/commands.h | 1 | ||||
-rw-r--r-- | src/dyetool/actions/commands.cpp | 1 | ||||
-rw-r--r-- | src/enums/input/inputaction.h | 1 | ||||
-rw-r--r-- | src/gui/popups/popupmenu.cpp | 6 | ||||
-rw-r--r-- | src/input/inputactionmap.h | 6 |
6 files changed, 20 insertions, 5 deletions
diff --git a/src/actions/commands.cpp b/src/actions/commands.cpp index ae50680fb..ebf4413e1 100644 --- a/src/actions/commands.cpp +++ b/src/actions/commands.cpp @@ -73,6 +73,7 @@ #include "utils/booleanoptions.h" #include "utils/chatutils.h" +#include "utils/copynpaste.h" #include "utils/gmfunctions.h" #include "utils/parameters.h" #include "utils/process.h" @@ -1197,6 +1198,15 @@ impHandler(npcClipboard) return false; } +impHandler(clipboardCopy) +{ + const std::string args = event.args; + if (args.empty()) + return false; + sendBuffer(args); + return true; +} + impHandler(addPickup) { if (actorManager) diff --git a/src/actions/commands.h b/src/actions/commands.h index 0b6f0cf30..c323bd84a 100644 --- a/src/actions/commands.h +++ b/src/actions/commands.h @@ -96,6 +96,7 @@ namespace Actions decHandler(skill); decHandler(craft); decHandler(npcClipboard); + decHandler(clipboardCopy); decHandler(addPickup); decHandler(removePickup); decHandler(ignorePickup); diff --git a/src/dyetool/actions/commands.cpp b/src/dyetool/actions/commands.cpp index a8e882a8c..bb467671b 100644 --- a/src/dyetool/actions/commands.cpp +++ b/src/dyetool/actions/commands.cpp @@ -96,6 +96,7 @@ impHandlerVoid(selectSkillLevel) impHandlerVoid(skill) impHandlerVoid(craft) impHandlerVoid(npcClipboard) +impHandlerVoid(clipboardCopy) impHandlerVoid(addPickup) impHandlerVoid(removePickup) impHandlerVoid(ignorePickup) diff --git a/src/enums/input/inputaction.h b/src/enums/input/inputaction.h index 94b37066b..0ffde0bd7 100644 --- a/src/enums/input/inputaction.h +++ b/src/enums/input/inputaction.h @@ -696,6 +696,7 @@ enumStart(InputAction) COMMAND_SEND_MOUSE_KEY, COMMAND_SEND_CHARS, CLEAR_OUTFIT, + CLIPBOARD_COPY, TOTAL } enumEnd(InputAction); diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index 829a87749..1d568d0d6 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -1253,10 +1253,6 @@ void PopupMenu::handleLink(const std::string &link, if (mTextField) mTextField->handlePaste(); } - else if (link == "clipboard link" && !mName.empty()) - { - sendBuffer(mName); - } else if (link == "goto" && !mName.empty()) { adminHandler->gotoName(mName); @@ -2137,7 +2133,7 @@ void PopupMenu::showLinkPopup(const std::string &link) mBrowserBox->addRow("/open 'NAME'", _("Open link")); // TRANSLATORS: popup menu item // TRANSLATORS: copy link to clipboard - mBrowserBox->addRow("clipboard link", _("Copy to clipboard")); + mBrowserBox->addRow("/clipboardcopy 'NAME'", _("Copy to clipboard")); mBrowserBox->addRow("##3---"); // TRANSLATORS: popup menu item // TRANSLATORS: close menu diff --git a/src/input/inputactionmap.h b/src/input/inputactionmap.h index a21cc42c1..d3f36d21c 100644 --- a/src/input/inputactionmap.h +++ b/src/input/inputactionmap.h @@ -5666,6 +5666,12 @@ static const InputActionData inputActionData "clearoutfit|outfitclear", UseArgs_false, Protected_true}, + {"keyClipboardCopy", + defaultAction(&Actions::clipboardCopy), + InputCondition::INGAME, + "clipboardcopy|copyclipboard", + UseArgs_true, + Protected_true}, }; #undef defaultAction |