From 1a23578ffa4dd87cc024f362bd8b2fadfa087e23 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 11 Mar 2017 20:46:09 +0300 Subject: group chats: - massive extinction of all remaining GC_* messages; - color chooser completely moved to mir_app; - color buttons' subclass function also moved to mir_app; - all code management transferred to a bunch of virtual functions, members of CChatRoomDlg; - numerous small fixes, like fix for a broken highlight in StdMsg --- include/m_chat_int.h | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/m_chat_int.h b/include/m_chat_int.h index 5dd5596c13..3fdf5b984b 100644 --- a/include/m_chat_int.h +++ b/include/m_chat_int.h @@ -39,20 +39,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define GC_FAKE_EVENT MEVENT(0xBABABEDA) -#define GC_UPDATESTATUSBAR (WM_USER+106) -#define GC_SETWNDPROPS (WM_USER+108) -#define GC_REDRAWLOG (WM_USER+109) -#define GC_SHOWFILTERMENU (WM_USER+113) -#define GC_REDRAWWINDOW (WM_USER+118) -#define GC_SHOWCOLORCHOOSER (WM_USER+119) -#define GC_ADDLOG (WM_USER+120) -#define GC_UPDATENICKLIST (WM_USER+125) -#define GC_SCROLLTOBOTTOM (WM_USER+129) -#define GC_FIXTABICONS (WM_USER+132) -#define GC_SETTABHIGHLIGHT (WM_USER+138) -#define GC_SETMESSAGEHIGHLIGHT (WM_USER+139) -#define GC_REDRAWLOG2 (WM_USER+140) - #define TIMERID_FLASHWND 1 #define GCW_TABROOM 10 @@ -341,7 +327,6 @@ struct CHAT_MANAGER wchar_t* (*RemoveFormatting)(const wchar_t *pszText); void (*ReloadSettings)(void); - void (*ColorChooser)(SESSION_INFO *si, BOOL bFG, HWND hwndDlg, HWND hwndTarget, HWND hwndChooser); int (*DoRtfToTags)(CMStringW &pszText, int iNumColors, COLORREF *pColors); int logPixelSY, logPixelSX; @@ -394,6 +379,12 @@ EXTERN_C MIR_APP_DLL(DWORD) CALLBACK Srmm_LogStreamCallback(DWORD_PTR dwCookie, // receives char** as the first parameter EXTERN_C MIR_APP_DLL(DWORD) CALLBACK Srmm_MessageStreamCallback(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb); +// handles rclick on some buttons +EXTERN_C MIR_APP_DLL(LRESULT) CALLBACK Srmm_ButtonSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); + +// updates options for all windows +EXTERN_C MIR_APP_DLL(void) Chat_UpdateOptions(); + ///////////////////////////////////////////////////////////////////////////////////////// class MIR_APP_EXPORT CSrmmBaseDialog : public CDlgBase @@ -416,10 +407,21 @@ public: bool m_bFilterEnabled, m_bNicklistEnabled; bool m_bFGSet, m_bBGSet; COLORREF m_iFG, m_iBG; + CCtrlButton *m_pFilter, *m_pColor, *m_pBkColor; void ClearLog(); - - virtual void CloseTab(bool bForced = false) PURE; + void RedrawLog2(); + void ShowColorChooser(int iCtrlId); + + virtual void AddLog(); + virtual void CloseTab(bool = false) {} + virtual void RedrawLog() {} + virtual void ScrollToBottom() {} + virtual void ShowFilterMenu() {} + virtual void StreamInEvents(LOGINFO*, bool) {} + virtual void UpdateNickList() {} + virtual void UpdateOptions() {} + virtual void UpdateStatusBar() {} virtual void UpdateTitle() PURE; __forceinline bool isChat() const { return m_si != nullptr; } -- cgit v1.2.3