diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 9d84f1403..b1913b3dc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -247,7 +247,6 @@ #include "llao.h" #include "llfloatervfs.h" #include "llfloatervfsexplorer.h" -#include "llfloaterexportregion.h" // #include "scriptcounter.h" @@ -2947,6 +2946,21 @@ class LLAvatarCopyUUID : public view_listener_t } }; +class LLAvatarClientUUID : public view_listener_t +{ + bool handleEvent(LLPointer event, const LLSD& userdata) + { + LLVOAvatar* avatar = find_avatar_from_object( LLSelectMgr::getInstance()->getSelection()->getPrimaryObject() ); + if(!avatar) return true; + + std::string clientID; + LLColor4 color; + avatar->getClientInfo(clientID, color, false); + gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(clientID)); + return true; + } +}; + class LLAvatarEnableFreezeEject : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) @@ -9789,6 +9803,7 @@ void initialize_menus() addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); addMenu(new LLAvatarEnableFreezeEject(), "Avatar.EnableFreezeEject"); addMenu(new LLAvatarCopyUUID(), "Avatar.CopyUUID"); + addMenu(new LLAvatarClientUUID(), "Avatar.ClientID"); // Object pie menu addMenu(new LLObjectOpen(), "Object.Open"); diff --git a/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml b/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml index ad689bab7..803995607 100644 --- a/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml +++ b/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml @@ -42,7 +42,10 @@ - + + +