From 3d031d4565cad76687b5c1765bc6733f8bd4270c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 27 Jun 2024 16:43:53 +0300 Subject: fixes #4486 (User notes copy problem) --- plugins/TabSRMM/src/buttonsbar.cpp | 7 ----- plugins/TabSRMM/src/generic_msghandlers.cpp | 43 +---------------------------- plugins/TabSRMM/src/hotkeyhandler.cpp | 1 - plugins/TabSRMM/src/msgdialog.cpp | 29 +++++-------------- plugins/TabSRMM/src/msgdlgother.cpp | 1 - plugins/TabSRMM/src/msgs.cpp | 1 - plugins/TabSRMM/src/msgs.h | 22 +++++++-------- plugins/TabSRMM/src/resource.h | 1 - plugins/TabSRMM/src/themes.cpp | 9 +++--- plugins/TabSRMM/src/utils.h | 1 - 10 files changed, 22 insertions(+), 93 deletions(-) (limited to 'plugins/TabSRMM/src') diff --git a/plugins/TabSRMM/src/buttonsbar.cpp b/plugins/TabSRMM/src/buttonsbar.cpp index 6e52d30c82..28bb14993e 100644 --- a/plugins/TabSRMM/src/buttonsbar.cpp +++ b/plugins/TabSRMM/src/buttonsbar.cpp @@ -80,13 +80,6 @@ static int CB_InitDefaultButtons(WPARAM, LPARAM) bbd.pwszTooltip = LPGENW("View user's history"); g_plugin.addButton(&bbd); - bbd.bbbFlags = BBBF_ISIMBUTTON | BBBF_ISRSIDEBUTTON | BBBF_CREATEBYID | BBBF_NOREADONLY; - bbd.dwButtonID = IDC_PIC; - bbd.dwDefPos = 60; - bbd.hIcon = g_plugin.getIconHandle(IDI_CONTACTPIC); - bbd.pwszTooltip = LPGENW("Edit user notes"); - g_plugin.addButton(&bbd); - // chat buttons bbd.bbbFlags = BBBF_ISCHATBUTTON | BBBF_ISSEPARATOR; bbd.dwButtonID = 1; diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp index b2b14ad76b..8e743779e3 100644 --- a/plugins/TabSRMM/src/generic_msghandlers.cpp +++ b/plugins/TabSRMM/src/generic_msghandlers.cpp @@ -375,47 +375,6 @@ LRESULT CMsgDialog::DM_MsgWindowCmdHandler(UINT cmd, WPARAM wParam, LPARAM lPara SendMessage(m_pContainer->m_hwnd, WM_COMMAND, IDC_TOGGLESIDEBAR, 0); break; - case IDC_PIC: - GetClientRect(m_hwnd, &rc); - - m_bEditNotesActive = !m_bEditNotesActive; - if (m_bEditNotesActive) { - int iLen = GetWindowTextLength(m_message.GetHwnd()); - if (iLen != 0) { - ActivateTooltip(IDC_SRMM_MESSAGE, TranslateT("You cannot edit user notes when there are unsent messages")); - m_bEditNotesActive = false; - break; - } - - if (!m_bIsAutosizingInput) { - m_iSplitterSaved = m_iSplitterY; - m_iSplitterY = rc.bottom / 2; - Resize(); - } - - ptrW wszText(db_get_wsa(m_hContact, "UserInfo", "MyNotes")); - if (wszText != nullptr) - m_message.SetText(wszText); - } - else { - ptrW buf(m_message.GetText()); - db_set_ws(m_hContact, "UserInfo", "MyNotes", buf); - m_message.SetText(L""); - - if (!m_bIsAutosizingInput) { - m_iSplitterY = m_iSplitterSaved; - Resize(); - DM_ScrollToBottom(0, 1); - } - } - SetWindowPos(m_message.GetHwnd(), nullptr, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOZORDER | - SWP_NOMOVE | SWP_NOSIZE | SWP_NOCOPYBITS); - RedrawWindow(m_hwnd, nullptr, nullptr, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_UPDATENOW | RDW_ALLCHILDREN); - - if (m_bEditNotesActive) - CWarning::show(CWarning::WARN_EDITUSERNOTES, MB_OK | MB_ICONINFORMATION); - break; - case IDM_CLEAR: tabClearLog(); break; @@ -776,7 +735,7 @@ void CMsgDialog::DM_NotifyTyping(int mode) MCONTACT hContact = m_cache->getActiveContact(); // editing user notes or preparing a message for queued delivery -> don't send MTN - if (m_bEditNotesActive || (m_sendMode & SMODE_SENDLATER)) + if (m_sendMode & SMODE_SENDLATER) return; // allow supression of sending out TN for the contact (NOTE: for metacontacts, do NOT use the subcontact handle) diff --git a/plugins/TabSRMM/src/hotkeyhandler.cpp b/plugins/TabSRMM/src/hotkeyhandler.cpp index b5107c48ad..c7caef5c92 100644 --- a/plugins/TabSRMM/src/hotkeyhandler.cpp +++ b/plugins/TabSRMM/src/hotkeyhandler.cpp @@ -59,7 +59,6 @@ static HOTKEYDESC _hotkeydescs[] = { { "tabsrmm_rtl", LPGEN("Toggle text direction"), TABSRMM_HK_SECTION_IM, nullptr, HOTKEYCODE(HOTKEYF_ALT | HOTKEYF_CONTROL, 'B'), 0, TABSRMM_HK_TOGGLERTL }, { "tabsrmm_msend", LPGEN("Toggle multi send"), TABSRMM_HK_SECTION_IM, nullptr, HOTKEYCODE(HOTKEYF_ALT | HOTKEYF_CONTROL, 'M'), 0, TABSRMM_HK_TOGGLEMULTISEND }, { "tabsrmm_clearlog", LPGEN("Clear message log"), TABSRMM_HK_SECTION_GENERIC, nullptr, HOTKEYCODE(HOTKEYF_CONTROL, 'L'), 0, TABSRMM_HK_CLEARLOG }, - { "tabsrmm_notes", LPGEN("Edit user notes"), TABSRMM_HK_SECTION_IM, nullptr, HOTKEYCODE(HOTKEYF_SHIFT | HOTKEYF_CONTROL, 'N'), 0, TABSRMM_HK_EDITNOTES }, { "tabsrmm_sbar", LPGEN("Collapse side bar"), TABSRMM_HK_SECTION_GENERIC, nullptr, HOTKEYCODE(0, VK_F9), 0, TABSRMM_HK_TOGGLESIDEBAR }, { "tabsrmm_muc_cmgr", LPGEN("Channel manager"), TABSRMM_HK_SECTION_GC, nullptr, HOTKEYCODE(HOTKEYF_SHIFT | HOTKEYF_CONTROL, 'C'), 0, TABSRMM_HK_CHANNELMGR }, { "tabsrmm_muc_filter", LPGEN("Toggle filter"), TABSRMM_HK_SECTION_GC, nullptr, HOTKEYCODE(HOTKEYF_SHIFT | HOTKEYF_CONTROL, 'F'), 0, TABSRMM_HK_FILTERTOGGLE }, diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 4a92e29a35..8cd71399bb 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -703,15 +703,12 @@ void CMsgDialog::OnDestroy() } if (m_cache->isValid()) { // not valid means the contact was deleted - if (!m_bEditNotesActive) { - char *msg = m_message.GetRichTextRtf(true); - if (msg) { - g_plugin.setUString(m_hContact, "SavedMsg", msg); - mir_free(msg); - } - else g_plugin.delSetting(m_hContact, "SavedMsg"); + char *msg = m_message.GetRichTextRtf(true); + if (msg) { + g_plugin.setUString(m_hContact, "SavedMsg", msg); + mir_free(msg); } - else SendMessage(m_hwnd, WM_COMMAND, IDC_PIC, 0); + else g_plugin.delSetting(m_hContact, "SavedMsg"); } if (AllowTyping()) @@ -768,11 +765,6 @@ void CMsgDialog::OnDestroy() void CMsgDialog::onClick_Ok(CCtrlButton *) { - if (m_bEditNotesActive) { - ActivateTooltip(IDC_PIC, TranslateT("You are editing the user notes. Click the button again or use the hotkey (default: Alt+N) to save the notes and return to normal messaging mode")); - return; - } - int final_sendformat; if (!isChat()) { @@ -1497,9 +1489,6 @@ int CMsgDialog::OnFilter(MSGFILTER *pFilter) case TABSRMM_HK_USERDETAILS: SendMessage(m_hwnd, WM_COMMAND, MAKELONG(IDC_NAME, BN_CLICKED), 0); return _dlgReturn(m_hwnd, 1); - case TABSRMM_HK_EDITNOTES: - PostMessage(m_hwnd, WM_COMMAND, MAKELONG(IDC_PIC, BN_CLICKED), 0); - return _dlgReturn(m_hwnd, 1); case TABSRMM_HK_TOGGLESENDLATER: if (SendLater::Avail) { m_sendMode ^= SMODE_SENDLATER; @@ -1901,9 +1890,6 @@ LRESULT CMsgDialog::WndProc_Message(UINT msg, WPARAM wParam, LPARAM lParam) replaceStrW(m_wszSearchResult, nullptr); } - if (wParam == VK_RETURN && m_bEditNotesActive) - break; - if (isCtrl && !isAlt && !isShift) { if (wParam == VK_UP || wParam == VK_DOWN) { // input history scrolling (ctrl-up / down) m_cache->inputHistoryEvent(wParam); @@ -2103,7 +2089,6 @@ INT_PTR CMsgDialog::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) if (CSkin::m_skinEnabled) { UINT item_ids[] = { ID_EXTBKUSERLIST, ID_EXTBKHISTORY, ID_EXTBKINPUTAREA }; UINT ctl_ids[] = { IDC_SRMM_NICKLIST, IDC_SRMM_LOG, IDC_SRMM_MESSAGE }; - BOOL isEditNotesReason = m_bEditNotesActive; BOOL isSendLaterReason = (m_sendMode & SMODE_SENDLATER); BOOL isMultipleReason = (m_sendMode & SMODE_MULTIPLE || m_sendMode & SMODE_CONTAINER); @@ -2120,8 +2105,8 @@ INT_PTR CMsgDialog::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) rc.top = pt.y - item->MARGIN_TOP; rc.right = rc.left + item->MARGIN_RIGHT + (rcWindow.right - rcWindow.left) + item->MARGIN_LEFT; rc.bottom = rc.top + item->MARGIN_BOTTOM + (rcWindow.bottom - rcWindow.top) + item->MARGIN_TOP; - if (item_ids[i] == ID_EXTBKINPUTAREA && (isMultipleReason || isEditNotesReason || isSendLaterReason)) { - HBRUSH br = CreateSolidBrush(isMultipleReason ? RGB(255, 130, 130) : (isEditNotesReason ? RGB(80, 255, 80) : RGB(80, 80, 255))); + if (item_ids[i] == ID_EXTBKINPUTAREA && (isMultipleReason || isSendLaterReason)) { + HBRUSH br = CreateSolidBrush(isMultipleReason ? RGB(255, 130, 130) : RGB(80, 80, 255)); FillRect(hdcMem, &rc, br); DeleteObject(br); } diff --git a/plugins/TabSRMM/src/msgdlgother.cpp b/plugins/TabSRMM/src/msgdlgother.cpp index b7e1b1e781..e07e303291 100644 --- a/plugins/TabSRMM/src/msgdlgother.cpp +++ b/plugins/TabSRMM/src/msgdlgother.cpp @@ -527,7 +527,6 @@ void CMsgDialog::DrawNickList(USERINFO *ui, DRAWITEMSTRUCT *dis) void CMsgDialog::EnableSendButton(bool bMode) const { SendDlgItemMessage(m_hwnd, IDOK, BUTTONSETASNORMAL, bMode, 0); - SendDlgItemMessage(m_hwnd, IDC_PIC, BUTTONSETASNORMAL, m_bEditNotesActive ? TRUE : (!bMode && m_iOpenJobs == 0) ? TRUE : FALSE, 0); HWND hwndOK = GetDlgItem(GetParent(GetParent(m_hwnd)), IDOK); if (IsWindow(hwndOK)) diff --git a/plugins/TabSRMM/src/msgs.cpp b/plugins/TabSRMM/src/msgs.cpp index a5b9216a9e..c50ca4d251 100644 --- a/plugins/TabSRMM/src/msgs.cpp +++ b/plugins/TabSRMM/src/msgs.cpp @@ -436,7 +436,6 @@ static TIconDesc _toolbaricons[] = { "tabSRMM_mlog", LPGEN("Message Log options"), 0, -IDI_MSGLOGOPT, 1 }, // 2 { "tabSRMM_multi", LPGEN("Image tag"), 0, -IDI_IMAGETAG, 1 }, { "tabSRMM_quote", LPGEN("Quote text"), 0, -IDI_QUOTE, 1 }, - { "tabSRMM_avatar", LPGEN("Edit user notes"), 0, -IDI_CONTACTPIC, 1 }, { "tabSRMM_save", LPGEN("Save and close"), &PluginConfig.g_buttonBarIcons[ICON_BUTTON_SAVE], -IDI_SAVE, 1 }, { "tabSRMM_send", LPGEN("Send message"), &PluginConfig.g_buttonBarIcons[ICON_BUTTON_SEND], -IDI_SEND, 1 }, { "tabSRMM_close", LPGEN("Close"), &PluginConfig.g_buttonBarIcons[ICON_BUTTON_CANCEL], -IDI_CLOSEMSGDLG, 1 } diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h index d7e7d01bae..5e6aefbe58 100644 --- a/plugins/TabSRMM/src/msgs.h +++ b/plugins/TabSRMM/src/msgs.h @@ -498,7 +498,6 @@ public: bool m_bActualHistory; bool m_bIsAutosizingInput; bool m_bCanFlashTab, m_bTabFlash; - bool m_bEditNotesActive; bool m_bShowAvatar; bool m_bSaveBtn, m_bNeedCheckSize; bool m_bForcedClose; @@ -879,7 +878,7 @@ struct TIconDescW #define HOTKEY_MODIFIERS_CTRLALT 1 #define HOTKEY_MODIFIERS_ALTSHIFT 2 -#include "../TabSRMM_icons/resource.h" // icon pack values +#include "../TabSRMM_icons/res/resource.h" // icon pack values struct TCpTable { UINT cpId; @@ -997,16 +996,15 @@ struct SIDEBARITEM #define TABSRMM_HK_USERDETAILS 22 #define TABSRMM_HK_TOGGLEINFOPANEL 23 #define TABSRMM_HK_CLEARLOG 24 -#define TABSRMM_HK_EDITNOTES 25 -#define TABSRMM_HK_TOGGLESENDLATER 26 -#define TABSRMM_HK_TOGGLESIDEBAR 27 -#define TABSRMM_HK_CHANNELMGR 28 -#define TABSRMM_HK_FILTERTOGGLE 29 -#define TABSRMM_HK_LISTTOGGLE 30 -#define TABSRMM_HK_MUC_SHOWSERVER 31 -#define TABSRMM_HK_CLOSE_OTHER 32 -#define TABSRMM_HK_SENDMENU 33 -#define TABSRMM_HK_PROTOMENU 34 +#define TABSRMM_HK_TOGGLESENDLATER 25 +#define TABSRMM_HK_TOGGLESIDEBAR 26 +#define TABSRMM_HK_CHANNELMGR 27 +#define TABSRMM_HK_FILTERTOGGLE 28 +#define TABSRMM_HK_LISTTOGGLE 29 +#define TABSRMM_HK_MUC_SHOWSERVER 30 +#define TABSRMM_HK_CLOSE_OTHER 31 +#define TABSRMM_HK_SENDMENU 32 +#define TABSRMM_HK_PROTOMENU 33 #define TABSRMM_HK_SECTION_IM LPGEN("Message windows - IM") #define TABSRMM_HK_SECTION_GENERIC LPGEN("Message windows - all") diff --git a/plugins/TabSRMM/src/resource.h b/plugins/TabSRMM/src/resource.h index 714bcb4533..6482a1bb08 100644 --- a/plugins/TabSRMM/src/resource.h +++ b/plugins/TabSRMM/src/resource.h @@ -191,7 +191,6 @@ #define IDC_DETAILS 1100 #define IDC_ADD 1101 #define IDC_RTL 1103 -#define IDC_PIC 1104 #define IDC_CANCELADD 1112 #define IDC_FONTSTRIKEOUT 1113 #define IDC_MATH_BKGCOLOUR 1124 diff --git a/plugins/TabSRMM/src/themes.cpp b/plugins/TabSRMM/src/themes.cpp index 007f675098..fa07af18e5 100644 --- a/plugins/TabSRMM/src/themes.cpp +++ b/plugins/TabSRMM/src/themes.cpp @@ -1957,8 +1957,7 @@ UINT CSkin::NcCalcRichEditFrame(HWND hwnd, const CMsgDialog *mwdat, UINT skinID, ReleaseDC(GetParent(hwnd), hdc); return (bReturn) ? WVR_REDRAW : orig; } - if ((mwdat->m_sendMode & SMODE_MULTIPLE || mwdat->m_sendMode & SMODE_CONTAINER || - mwdat->m_bEditNotesActive || mwdat->m_sendMode & SMODE_SENDLATER) && skinID == ID_EXTBKINPUTAREA) { + if ((mwdat->m_sendMode & (SMODE_MULTIPLE | SMODE_CONTAINER | SMODE_SENDLATER)) && skinID == ID_EXTBKINPUTAREA) { InflateRect(&nccp->rgrc[0], -1, -1); return WVR_REDRAW; } @@ -1976,7 +1975,6 @@ UINT CSkin::DrawRichEditFrame(HWND hwnd, const CMsgDialog *mwdat, UINT skinID, U if (mwdat == nullptr) return result; - BOOL isEditNotesReason = ((mwdat->m_bEditNotesActive) && (skinID == ID_EXTBKINPUTAREA)); BOOL isSendLaterReason = ((mwdat->m_sendMode & SMODE_SENDLATER) && (skinID == ID_EXTBKINPUTAREA)); BOOL isMultipleReason = ((skinID == ID_EXTBKINPUTAREA) && (mwdat->m_sendMode & SMODE_MULTIPLE || mwdat->m_sendMode & SMODE_CONTAINER)); @@ -2014,8 +2012,9 @@ UINT CSkin::DrawRichEditFrame(HWND hwnd, const CMsgDialog *mwdat, UINT skinID, U ReleaseDC(hwnd, hdc); return result; } - if (isMultipleReason || isEditNotesReason || isSendLaterReason) { - HBRUSH br = CreateSolidBrush(isMultipleReason ? RGB(255, 130, 130) : (isEditNotesReason ? RGB(80, 255, 80) : RGB(80, 80, 255))); + + if (isMultipleReason || isSendLaterReason) { + HBRUSH br = CreateSolidBrush(isMultipleReason ? RGB(255, 130, 130) : RGB(80, 80, 255)); FillRect(hdc, &rcWindow, br); DeleteObject(br); } diff --git a/plugins/TabSRMM/src/utils.h b/plugins/TabSRMM/src/utils.h index 4337763eb3..628b5f8260 100644 --- a/plugins/TabSRMM/src/utils.h +++ b/plugins/TabSRMM/src/utils.h @@ -118,7 +118,6 @@ namespace CWarning enum { WARN_SAVEFILE = 1, - WARN_EDITUSERNOTES, WARN_ICONPACKMISSING, WARN_AEROPEEK_SKIN, WARN_SENDFILE, -- cgit v1.2.3