From 01fd46751173995ffa83fbef0513b8adbf1e3b86 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 13 Mar 2020 14:54:29 +0300 Subject: Scriver: - another case of copying text in ANSI fixed; - useless method CMsgDialog::GetContactUniqueId removed; - code cleaning; --- plugins/Scriver/src/msgdialog.cpp | 18 ++++++++---------- plugins/Scriver/src/msgs.h | 1 - plugins/Scriver/src/utils.cpp | 7 ------- 3 files changed, 8 insertions(+), 18 deletions(-) (limited to 'plugins/Scriver') diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp index fb3aabfd04..1d4055b22a 100644 --- a/plugins/Scriver/src/msgdialog.cpp +++ b/plugins/Scriver/src/msgdialog.cpp @@ -516,16 +516,15 @@ void CMsgDialog::onClick_Ok(CCtrlButton *pButton) void CMsgDialog::onClick_UserMenu(CCtrlButton *pButton) { if (GetKeyState(VK_SHIFT) & 0x8000) { // copy user name - char buf[128]; - GetContactUniqueId(buf, sizeof(buf)); - if (!OpenClipboard(m_hwnd) || !mir_strlen(buf)) + ptrW id(Contact_GetInfo(CNF_UNIQUEID, m_hContact, m_szProto)); + if (!OpenClipboard(m_hwnd) || !mir_wstrlen(id)) return; EmptyClipboard(); - HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, mir_strlen(buf) + 1); - mir_strcpy((LPSTR)GlobalLock(hData), buf); + HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, 2*mir_wstrlen(id) + 1); + mir_wstrcpy((LPWSTR)GlobalLock(hData), id); GlobalUnlock(hData); - SetClipboardData(CF_TEXT, hData); + SetClipboardData(CF_UNICODETEXT, hData); CloseClipboard(); } else { @@ -1148,10 +1147,9 @@ INT_PTR CMsgDialog::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) case DM_CLISTSETTINGSCHANGED: if (wParam == m_hContact && m_hContact && m_szProto) { DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *)lParam; - char idbuf[128], buf[128]; - GetContactUniqueId(idbuf, sizeof(idbuf)); - mir_snprintf(buf, Translate("User menu - %s"), idbuf); - SendDlgItemMessage(m_hwnd, IDC_USERMENU, BUTTONADDTOOLTIP, (WPARAM)buf, 0); + wchar_t buf[128]; + mir_snwprintf(buf, TranslateT("User menu - %s"), ptrW(Contact_GetInfo(CNF_UNIQUEID, m_hContact, m_szProto)).get()); + SendDlgItemMessage(m_hwnd, IDC_USERMENU, BUTTONADDTOOLTIP, (WPARAM)buf, BATF_UNICODE); if (cws && !mir_strcmp(cws->szModule, m_szProto) && !mir_strcmp(cws->szSetting, "Status")) m_wStatus = cws->value.wVal; diff --git a/plugins/Scriver/src/msgs.h b/plugins/Scriver/src/msgs.h index a5271fd339..bc1bb201ad 100644 --- a/plugins/Scriver/src/msgs.h +++ b/plugins/Scriver/src/msgs.h @@ -91,7 +91,6 @@ class CMsgDialog : public CSrmmBaseDialog bool CheckSend(void); void ClearLog(void); - void GetContactUniqueId(char *buf, int maxlen); HICON GetTabIcon(void); void GetTitlebarIcon(struct TitleBarData *tbd); void Init(void); diff --git a/plugins/Scriver/src/utils.cpp b/plugins/Scriver/src/utils.cpp index b0e4869327..b253ccdddf 100644 --- a/plugins/Scriver/src/utils.cpp +++ b/plugins/Scriver/src/utils.cpp @@ -197,13 +197,6 @@ void SearchWord(wchar_t *word, int engine) } } -void CMsgDialog::GetContactUniqueId(char *buf, int maxlen) -{ - ptrW id(Contact_GetInfo(CNF_UNIQUEID, m_hContact, m_szProto)); - if (id != nullptr) - strncpy_s(buf, maxlen, _T2A(id), _TRUNCATE); -} - HWND CreateToolTip(HWND hwndParent, LPTSTR ptszText, LPTSTR ptszTitle, RECT *rect) { TOOLINFO ti = { 0 }; -- cgit v1.2.3