summaryrefslogtreecommitdiff
path: root/protocols/Discord/src/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Discord/src/utils.cpp')
-rw-r--r--protocols/Discord/src/utils.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/protocols/Discord/src/utils.cpp b/protocols/Discord/src/utils.cpp
index 91a777e5e0..a3764f9b35 100644
--- a/protocols/Discord/src/utils.cpp
+++ b/protocols/Discord/src/utils.cpp
@@ -104,6 +104,24 @@ void CDiscordProto::setId(MCONTACT hContact, const char *szSetting, SnowFlake iV
/////////////////////////////////////////////////////////////////////////////////////////
+void CopyId(const CMStringW &nick)
+{
+ if (!OpenClipboard(nullptr))
+ return;
+
+ EmptyClipboard();
+
+ int length = nick.GetLength() + 1;
+ if (HGLOBAL hMemory = GlobalAlloc(GMEM_FIXED, length * sizeof(wchar_t))) {
+ mir_wstrncpy((wchar_t*)GlobalLock(hMemory), nick, length);
+ GlobalUnlock(hMemory);
+ SetClipboardData(CF_UNICODETEXT, hMemory);
+ }
+ CloseClipboard();
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////
+
static CDiscordUser *g_myUser = new CDiscordUser(0);
CDiscordUser* CDiscordProto::FindUser(SnowFlake id)