From dc2a4dc50d6cc3e7bd513122756dd39141d7887e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 26 Sep 2022 18:24:31 +0300 Subject: =?UTF-8?q?fixes=20#3205=20(Jabber:=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D1=82=D1=8C=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2=20?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/JabberG/src/jabber_iqid_muc.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'protocols/JabberG/src') diff --git a/protocols/JabberG/src/jabber_iqid_muc.cpp b/protocols/JabberG/src/jabber_iqid_muc.cpp index 72deebab0f..c360edaa30 100644 --- a/protocols/JabberG/src/jabber_iqid_muc.cpp +++ b/protocols/JabberG/src/jabber_iqid_muc.cpp @@ -171,6 +171,7 @@ public: edtFilter(this, IDC_FILTER) { m_list.OnClick = Callback(this, &CJabberMucJidListDlg::list_OnClick); + m_list.OnBuildMenu = Callback(this, &CJabberMucJidListDlg::list_OnMenu); btnApply.OnClick = Callback(this, &CJabberMucJidListDlg::onClick_Apply); btnReset.OnClick = Callback(this, &CJabberMucJidListDlg::onClick_Reset); @@ -326,6 +327,20 @@ public: } } + void list_OnMenu(CContextMenuPos *pos) + { + HMENU hMenu = CreatePopupMenu(); + AppendMenuW(hMenu, MF_STRING, 1, TranslateT("Copy jid")); + + if (TrackPopupMenu(hMenu, TPM_RETURNCMD | TPM_BOTTOMALIGN, pos->pt.x, pos->pt.y, 0, m_hwnd, nullptr)) { + wchar_t buf[JABBER_MAX_JID_LEN]; + m_list.GetItemText(pos->iCurr, 0, buf, _countof(buf)); + Utils_ClipboardCopy(buf); + } + + DestroyMenu(hMenu); + } + void onClick_Apply(CCtrlButton*) { FillJidList(true); -- cgit v1.2.3