From 30a9e9e370aa9aff9f64158aa0942b471621a7ef Mon Sep 17 00:00:00 2001 From: George Hazan <ghazan@miranda.im> Date: Mon, 26 Sep 2022 18:23:52 +0300 Subject: Utils_ClipboardCopy - system-wide helper for writing text to clipboard --- protocols/Gadu-Gadu/src/sessions.cpp | 39 +++++++++++++----------------------- 1 file changed, 14 insertions(+), 25 deletions(-) (limited to 'protocols/Gadu-Gadu/src') diff --git a/protocols/Gadu-Gadu/src/sessions.cpp b/protocols/Gadu-Gadu/src/sessions.cpp index 6c71aeab95..080882053e 100644 --- a/protocols/Gadu-Gadu/src/sessions.cpp +++ b/protocols/Gadu-Gadu/src/sessions.cpp @@ -317,38 +317,27 @@ static INT_PTR CALLBACK gg_sessions_viewdlg(HWND hwndDlg, UINT message, WPARAM w int iSelection = TrackPopupMenu(hMenu, TPM_RIGHTBUTTON | TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, nullptr); switch (iSelection) { case 10001: - { - wchar_t szText[512], szClientName[256], szIP[64], szLoginTime[64]; - HGLOBAL hData; - if (!OpenClipboard(hwndDlg)) - break; - - EmptyClipboard(); - szClientName[0] = szIP[0] = szLoginTime[0] = 0; - ListView_GetItemText(hList, lvhti.iItem, 0, szClientName, _countof(szClientName)); - ListView_GetItemText(hList, lvhti.iItem, 1, szIP, _countof(szIP)); - ListView_GetItemText(hList, lvhti.iItem, 2, szLoginTime, _countof(szLoginTime)); - mir_snwprintf(szText, L"%s\t%s\t%s", szClientName, szIP, szLoginTime); - if ((hData = GlobalAlloc(GMEM_MOVEABLE, mir_wstrlen(szText) + 1)) != nullptr) { - mir_wstrcpy((wchar_t*)GlobalLock(hData), szText); - GlobalUnlock(hData); - SetClipboardData(CF_TEXT, hData); + wchar_t szText[512], szClientName[256], szIP[64], szLoginTime[64]; + szClientName[0] = szIP[0] = szLoginTime[0] = 0; + ListView_GetItemText(hList, lvhti.iItem, 0, szClientName, _countof(szClientName)); + ListView_GetItemText(hList, lvhti.iItem, 1, szIP, _countof(szIP)); + ListView_GetItemText(hList, lvhti.iItem, 2, szLoginTime, _countof(szLoginTime)); + mir_snwprintf(szText, L"%s\t%s\t%s", szClientName, szIP, szLoginTime); + Utils_ClipboardCopy(szText); } - CloseClipboard(); break; - } case 10002: - { - wchar_t szUrl[256], szIP[64]; - szIP[0] = 0; - ListView_GetItemText(hList, lvhti.iItem, 1, szIP, _countof(szIP)); - mir_snwprintf(szUrl, L"http://whois.domaintools.com/%s", szIP); - Utils_OpenUrlW(szUrl); + { + wchar_t szUrl[256], szIP[64]; + szIP[0] = 0; + ListView_GetItemText(hList, lvhti.iItem, 1, szIP, _countof(szIP)); + mir_snwprintf(szUrl, L"http://whois.domaintools.com/%s", szIP); + Utils_OpenUrlW(szUrl); + } break; } - } DestroyMenu(hMenu); } break; -- cgit v1.2.3