From da2edf0603f1552ef53325fa558c28a3c6fdec94 Mon Sep 17 00:00:00 2001 From: George Hazan <george.hazan@gmail.com> Date: Thu, 16 Jan 2014 11:33:08 +0000 Subject: - two chat HBRUSHes moved into CHAT_MANAGER; - fix for changing fonts; - crash fix for StdChat unloading; git-svn-id: http://svn.miranda-ng.org/main/trunk@7677 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Scriver/src/chat/chat.h | 5 +- plugins/Scriver/src/chat/main.cpp | 16 -- plugins/Scriver/src/chat/options.cpp | 475 ++++++++++++++++------------------- plugins/Scriver/src/chat/window.cpp | 14 +- plugins/Scriver/src/commonheaders.h | 2 - 5 files changed, 230 insertions(+), 282 deletions(-) (limited to 'plugins/Scriver') diff --git a/plugins/Scriver/src/chat/chat.h b/plugins/Scriver/src/chat/chat.h index 9e2d97cc98..82b52be14b 100644 --- a/plugins/Scriver/src/chat/chat.h +++ b/plugins/Scriver/src/chat/chat.h @@ -101,11 +101,10 @@ INT_PTR CALLBACK RoomWndProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) int GetTextPixelSize( TCHAR* pszText, HFONT hFont, BOOL bWidth); //options.c -int OptionsInit(void); -int OptionsUnInit(void); +int OptionsInit(void); // services.c -void ShowRoom(SESSION_INFO *si, WPARAM wp, BOOL bSetForeground); +void ShowRoom(SESSION_INFO *si, WPARAM wp, BOOL bSetForeground); // manager.c HWND SM_FindWindowByContact(HANDLE hContact); diff --git a/plugins/Scriver/src/chat/main.cpp b/plugins/Scriver/src/chat/main.cpp index a563b99aaf..6c26bc6fd4 100644 --- a/plugins/Scriver/src/chat/main.cpp +++ b/plugins/Scriver/src/chat/main.cpp @@ -27,9 +27,6 @@ void RegisterChatFonts( void ); CHAT_MANAGER *pci; HMENU g_hMenu = NULL; -HBRUSH hListBkgBrush = NULL; -HBRUSH hListSelectedBkgBrush = NULL; - GlobalLogSettings g_Settings; static void OnAddLog(SESSION_INFO *si, int isOk) @@ -88,17 +85,6 @@ static void OnSetStatus(SESSION_INFO *si, int wStatus) PostMessage(si->hWnd, GC_FIXTABICONS, 0, 0); } -static void OnLoadSettings() -{ - if (hListBkgBrush != NULL) - DeleteObject(hListBkgBrush); - hListBkgBrush = CreateSolidBrush(db_get_dw(NULL, "Chat", "ColorNicklistBG", GetSysColor(COLOR_WINDOW))); - - if (hListSelectedBkgBrush != NULL) - DeleteObject(hListSelectedBkgBrush); - hListSelectedBkgBrush = CreateSolidBrush(db_get_dw(NULL, "Chat", "ColorNicklistSelectedBG", GetSysColor(COLOR_HIGHLIGHT))); -} - static void OnFlashWindow(SESSION_INFO *si, int bInactive) { if (bInactive && si->hWnd && db_get_b(NULL, "Chat", "FlashWindowHighlight", 0) != 0) @@ -117,7 +103,6 @@ int Chat_Load() pci->OnSetStatus = OnSetStatus; pci->OnAddLog = OnAddLog; - pci->OnLoadSettings = OnLoadSettings; pci->OnSessionRemove = OnSessionRemove; pci->OnSessionRename = OnSessionRename; @@ -139,7 +124,6 @@ int Chat_Unload(void) db_set_w(NULL, "Chat", "SplitterX", (WORD)g_Settings.iSplitterX); DestroyMenu(g_hMenu); - OptionsUnInit(); return 0; } diff --git a/plugins/Scriver/src/chat/options.cpp b/plugins/Scriver/src/chat/options.cpp index 79622ae681..00b1593e80 100644 --- a/plugins/Scriver/src/chat/options.cpp +++ b/plugins/Scriver/src/chat/options.cpp @@ -35,123 +35,121 @@ struct branch_t }; static struct branch_t branch1[] = { - {LPGENT("Flash when someone speaks"), "FlashWindow", 0,0, NULL}, - {LPGENT("Flash when a word is highlighted"), "FlashWindowHighlight", 0,1, NULL}, - {LPGENT("Show chat user list"), "ShowNicklist", 0,1, NULL}, - {LPGENT("Enable button context menus"), "RightClickFilter", 0,0, NULL}, - {LPGENT("Show topic on your contact list (if supported)"), "TopicOnClist", 0, 0, NULL}, - {LPGENT("Do not play sounds when focused"), "SoundsFocus", 0, 0, NULL}, - {LPGENT("Do not pop up when joining"), "PopupOnJoin", 0,0, NULL}, - {LPGENT("Show and hide by double clicking in the contact list"), "ToggleVisibility", 0,0, NULL}, - {LPGENT("Show contact statuses (if supported)"), "ShowContactStatus", 0,0, NULL}, - {LPGENT("Display contact status icon before role icon"), "ContactStatusFirst", 0,0, NULL}, - {LPGENT("Add \':\' to auto-completed names"), "AddColonToAutoComplete", 0, 1, NULL} + { LPGENT("Flash when someone speaks"), "FlashWindow", 0, 0, NULL }, + { LPGENT("Flash when a word is highlighted"), "FlashWindowHighlight", 0, 1, NULL }, + { LPGENT("Show chat user list"), "ShowNicklist", 0, 1, NULL }, + { LPGENT("Enable button context menus"), "RightClickFilter", 0, 0, NULL }, + { LPGENT("Show topic on your contact list (if supported)"), "TopicOnClist", 0, 0, NULL }, + { LPGENT("Do not play sounds when focused"), "SoundsFocus", 0, 0, NULL }, + { LPGENT("Do not pop up when joining"), "PopupOnJoin", 0, 0, NULL }, + { LPGENT("Show and hide by double clicking in the contact list"), "ToggleVisibility", 0, 0, NULL }, + { LPGENT("Show contact statuses (if supported)"), "ShowContactStatus", 0, 0, NULL }, + { LPGENT("Display contact status icon before role icon"), "ContactStatusFirst", 0, 0, NULL }, + { LPGENT("Add \':\' to auto-completed names"), "AddColonToAutoComplete", 0, 1, NULL } }; + static struct branch_t branch2[] = { - {LPGENT("Show icons"), "IconFlags", GC_EVENT_TOPIC|GC_EVENT_JOIN|GC_EVENT_QUIT| - GC_EVENT_MESSAGE|GC_EVENT_ACTION|GC_EVENT_HIGHLIGHT|GC_EVENT_PART| - GC_EVENT_KICK|GC_EVENT_NOTICE|GC_EVENT_NICK|GC_EVENT_INFORMATION|GC_EVENT_ADDSTATUS, 0, NULL}, - {LPGENT("Prefix all events with a timestamp"), "ShowTimeStamp", 0,1, NULL}, - {LPGENT("Only prefix with timestamp if it has changed"), "ShowTimeStampIfChanged", 0,0, NULL}, - {LPGENT("Timestamp has same color as event"), "TimeStampEventColour", 0,0, NULL}, - {LPGENT("Indent the second line of a message"), "LogIndentEnabled", 0,1, NULL}, - {LPGENT("Limit user names to 20 characters"), "LogLimitNames", 0,1, NULL}, - {LPGENT("Strip colors from messages"), "StripFormatting", 0, 0, NULL}, - {LPGENT("Enable \'event filter\' for new rooms"), "FilterEnabled", 0,0, NULL} + { LPGENT("Show icons"), "IconFlags", GC_EVENT_TOPIC | GC_EVENT_JOIN | GC_EVENT_QUIT | + GC_EVENT_MESSAGE | GC_EVENT_ACTION | GC_EVENT_HIGHLIGHT | GC_EVENT_PART | + GC_EVENT_KICK | GC_EVENT_NOTICE | GC_EVENT_NICK | GC_EVENT_INFORMATION | GC_EVENT_ADDSTATUS, 0, NULL }, + { LPGENT("Prefix all events with a timestamp"), "ShowTimeStamp", 0, 1, NULL }, + { LPGENT("Only prefix with timestamp if it has changed"), "ShowTimeStampIfChanged", 0, 0, NULL }, + { LPGENT("Timestamp has same color as event"), "TimeStampEventColour", 0, 0, NULL }, + { LPGENT("Indent the second line of a message"), "LogIndentEnabled", 0, 1, NULL }, + { LPGENT("Limit user names to 20 characters"), "LogLimitNames", 0, 1, NULL }, + { LPGENT("Strip colors from messages"), "StripFormatting", 0, 0, NULL }, + { LPGENT("Enable \'event filter\' for new rooms"), "FilterEnabled", 0, 0, NULL } }; + static struct branch_t branch3[] = { - {LPGENT("Show topic changes"), "FilterFlags", GC_EVENT_TOPIC, 0, NULL}, - {LPGENT("Show users joining"), "FilterFlags", GC_EVENT_JOIN, 0, NULL}, - {LPGENT("Show users disconnecting"), "FilterFlags", GC_EVENT_QUIT, 0, NULL}, - {LPGENT("Show messages"), "FilterFlags", GC_EVENT_MESSAGE, 1, NULL}, - {LPGENT("Show actions"), "FilterFlags", GC_EVENT_ACTION, 1, NULL}, - {LPGENT("Show users leaving"), "FilterFlags", GC_EVENT_PART, 0, NULL}, - {LPGENT("Show users being kicked"), "FilterFlags", GC_EVENT_KICK, 1, NULL}, - {LPGENT("Show notices"), "FilterFlags", GC_EVENT_NOTICE, 1, NULL}, - {LPGENT("Show users changing name"), "FilterFlags", GC_EVENT_NICK, 0, NULL}, - {LPGENT("Show information messages"), "FilterFlags", GC_EVENT_INFORMATION, 1, NULL}, - {LPGENT("Show status changes of users"), "FilterFlags", GC_EVENT_ADDSTATUS, 0, NULL}, + { LPGENT("Show topic changes"), "FilterFlags", GC_EVENT_TOPIC, 0, NULL }, + { LPGENT("Show users joining"), "FilterFlags", GC_EVENT_JOIN, 0, NULL }, + { LPGENT("Show users disconnecting"), "FilterFlags", GC_EVENT_QUIT, 0, NULL }, + { LPGENT("Show messages"), "FilterFlags", GC_EVENT_MESSAGE, 1, NULL }, + { LPGENT("Show actions"), "FilterFlags", GC_EVENT_ACTION, 1, NULL }, + { LPGENT("Show users leaving"), "FilterFlags", GC_EVENT_PART, 0, NULL }, + { LPGENT("Show users being kicked"), "FilterFlags", GC_EVENT_KICK, 1, NULL }, + { LPGENT("Show notices"), "FilterFlags", GC_EVENT_NOTICE, 1, NULL }, + { LPGENT("Show users changing name"), "FilterFlags", GC_EVENT_NICK, 0, NULL }, + { LPGENT("Show information messages"), "FilterFlags", GC_EVENT_INFORMATION, 1, NULL }, + { LPGENT("Show status changes of users"), "FilterFlags", GC_EVENT_ADDSTATUS, 0, NULL }, }; static struct branch_t branch4[] = { - {LPGENT("Show icons in tray only when the chat room is not active"), "TrayIconInactiveOnly", 0, 1, NULL}, - {LPGENT("Show icon in tray for topic changes"), "TrayIconFlags", GC_EVENT_TOPIC, 0, NULL}, - {LPGENT("Show icon in tray for users joining"), "TrayIconFlags", GC_EVENT_JOIN, 0, NULL}, - {LPGENT("Show icon in tray for users disconnecting"), "TrayIconFlags", GC_EVENT_QUIT, 0, NULL}, - {LPGENT("Show icon in tray for messages"), "TrayIconFlags", GC_EVENT_MESSAGE, 0, NULL}, - {LPGENT("Show icon in tray for actions"), "TrayIconFlags", GC_EVENT_ACTION, 0, NULL}, - {LPGENT("Show icon in tray for highlights"), "TrayIconFlags", GC_EVENT_HIGHLIGHT, 1, NULL}, - {LPGENT("Show icon in tray for users leaving"), "TrayIconFlags", GC_EVENT_PART, 0, NULL}, - {LPGENT("Show icon in tray for users kicking other user"), "TrayIconFlags", GC_EVENT_KICK, 0, NULL}, - {LPGENT("Show icon in tray for notices"), "TrayIconFlags", GC_EVENT_NOTICE, 0, NULL}, - {LPGENT("Show icon in tray for name changes"), "TrayIconFlags", GC_EVENT_NICK, 0, NULL}, - {LPGENT("Show icon in tray for information messages"), "TrayIconFlags", GC_EVENT_INFORMATION, 0, NULL}, - {LPGENT("Show icon in tray for status changes"), "TrayIconFlags", GC_EVENT_ADDSTATUS, 0, NULL}, + { LPGENT("Show icons in tray only when the chat room is not active"), "TrayIconInactiveOnly", 0, 1, NULL }, + { LPGENT("Show icon in tray for topic changes"), "TrayIconFlags", GC_EVENT_TOPIC, 0, NULL }, + { LPGENT("Show icon in tray for users joining"), "TrayIconFlags", GC_EVENT_JOIN, 0, NULL }, + { LPGENT("Show icon in tray for users disconnecting"), "TrayIconFlags", GC_EVENT_QUIT, 0, NULL }, + { LPGENT("Show icon in tray for messages"), "TrayIconFlags", GC_EVENT_MESSAGE, 0, NULL }, + { LPGENT("Show icon in tray for actions"), "TrayIconFlags", GC_EVENT_ACTION, 0, NULL }, + { LPGENT("Show icon in tray for highlights"), "TrayIconFlags", GC_EVENT_HIGHLIGHT, 1, NULL }, + { LPGENT("Show icon in tray for users leaving"), "TrayIconFlags", GC_EVENT_PART, 0, NULL }, + { LPGENT("Show icon in tray for users kicking other user"), "TrayIconFlags", GC_EVENT_KICK, 0, NULL }, + { LPGENT("Show icon in tray for notices"), "TrayIconFlags", GC_EVENT_NOTICE, 0, NULL }, + { LPGENT("Show icon in tray for name changes"), "TrayIconFlags", GC_EVENT_NICK, 0, NULL }, + { LPGENT("Show icon in tray for information messages"), "TrayIconFlags", GC_EVENT_INFORMATION, 0, NULL }, + { LPGENT("Show icon in tray for status changes"), "TrayIconFlags", GC_EVENT_ADDSTATUS, 0, NULL }, }; static struct branch_t branch6[] = { - {LPGENT("Show popups only when the chat room is not active"), "PopupInactiveOnly", 0, 1, NULL}, - {LPGENT("Show popup for topic changes"), "PopupFlags", GC_EVENT_TOPIC, 0, NULL}, - {LPGENT("Show popup for users joining"), "PopupFlags", GC_EVENT_JOIN, 0, NULL}, - {LPGENT("Show popup for users disconnecting"), "PopupFlags", GC_EVENT_QUIT, 0, NULL}, - {LPGENT("Show popup for messages"), "PopupFlags", GC_EVENT_MESSAGE, 0, NULL}, - {LPGENT("Show popup for actions"), "PopupFlags", GC_EVENT_ACTION, 0, NULL}, - {LPGENT("Show popup for highlights"), "PopupFlags", GC_EVENT_HIGHLIGHT, 0, NULL}, - {LPGENT("Show popup for users leaving"), "PopupFlags", GC_EVENT_PART, 0, NULL}, - {LPGENT("Show popup for users kicking other user"), "PopupFlags", GC_EVENT_KICK, 0, NULL}, - {LPGENT("Show popup for notices"), "PopupFlags", GC_EVENT_NOTICE, 0, NULL}, - {LPGENT("Show popup for name changes"), "PopupFlags", GC_EVENT_NICK, 0, NULL}, - {LPGENT("Show popup for information messages"), "PopupFlags", GC_EVENT_INFORMATION, 0, NULL}, - {LPGENT("Show popup for status changes"), "PopupFlags", GC_EVENT_ADDSTATUS, 0, NULL}, + { LPGENT("Show popups only when the chat room is not active"), "PopupInactiveOnly", 0, 1, NULL }, + { LPGENT("Show popup for topic changes"), "PopupFlags", GC_EVENT_TOPIC, 0, NULL }, + { LPGENT("Show popup for users joining"), "PopupFlags", GC_EVENT_JOIN, 0, NULL }, + { LPGENT("Show popup for users disconnecting"), "PopupFlags", GC_EVENT_QUIT, 0, NULL }, + { LPGENT("Show popup for messages"), "PopupFlags", GC_EVENT_MESSAGE, 0, NULL }, + { LPGENT("Show popup for actions"), "PopupFlags", GC_EVENT_ACTION, 0, NULL }, + { LPGENT("Show popup for highlights"), "PopupFlags", GC_EVENT_HIGHLIGHT, 0, NULL }, + { LPGENT("Show popup for users leaving"), "PopupFlags", GC_EVENT_PART, 0, NULL }, + { LPGENT("Show popup for users kicking other user"), "PopupFlags", GC_EVENT_KICK, 0, NULL }, + { LPGENT("Show popup for notices"), "PopupFlags", GC_EVENT_NOTICE, 0, NULL }, + { LPGENT("Show popup for name changes"), "PopupFlags", GC_EVENT_NICK, 0, NULL }, + { LPGENT("Show popup for information messages"), "PopupFlags", GC_EVENT_INFORMATION, 0, NULL }, + { LPGENT("Show popup for status changes"), "PopupFlags", GC_EVENT_ADDSTATUS, 0, NULL }, }; static HTREEITEM InsertBranch(HWND hwndTree, TCHAR* pszDescr, BOOL bExpanded) { TVINSERTSTRUCT tvis; - - tvis.hParent=NULL; - tvis.hInsertAfter=TVI_LAST; - tvis.item.mask=TVIF_TEXT|TVIF_STATE; - tvis.item.pszText=TranslateTS(pszDescr); - tvis.item.stateMask=bExpanded?TVIS_STATEIMAGEMASK|TVIS_EXPANDED:TVIS_STATEIMAGEMASK; - tvis.item.state=bExpanded?INDEXTOSTATEIMAGEMASK(1)|TVIS_EXPANDED:INDEXTOSTATEIMAGEMASK(1); + tvis.hParent = NULL; + tvis.hInsertAfter = TVI_LAST; + tvis.item.mask = TVIF_TEXT | TVIF_STATE; + tvis.item.pszText = TranslateTS(pszDescr); + tvis.item.stateMask = bExpanded ? TVIS_STATEIMAGEMASK | TVIS_EXPANDED : TVIS_STATEIMAGEMASK; + tvis.item.state = bExpanded ? INDEXTOSTATEIMAGEMASK(1) | TVIS_EXPANDED : INDEXTOSTATEIMAGEMASK(1); return TreeView_InsertItem(hwndTree, &tvis); } static void FillBranch(HWND hwndTree, HTREEITEM hParent, struct branch_t *branch, int nValues, DWORD defaultval) { - TVINSERTSTRUCT tvis; - int i; int iState; - tvis.hParent=hParent; - tvis.hInsertAfter=TVI_LAST; - tvis.item.mask=TVIF_TEXT|TVIF_STATE; - for(i=0;i<nValues;i++) { + TVINSERTSTRUCT tvis; + tvis.hParent = hParent; + tvis.hInsertAfter = TVI_LAST; + tvis.item.mask = TVIF_TEXT | TVIF_STATE; + for (int i = 0; i < nValues; i++) { tvis.item.pszText = TranslateTS(branch[i].szDescr); tvis.item.stateMask = TVIS_STATEIMAGEMASK; if (branch[i].iMode) - iState = ((db_get_dw(NULL, "Chat", branch[i].szDBName, defaultval)&branch[i].iMode)&branch[i].iMode)!=0?2:1; + iState = ((db_get_dw(NULL, "Chat", branch[i].szDBName, defaultval)&branch[i].iMode)&branch[i].iMode) != 0 ? 2 : 1; else - iState = db_get_b(NULL, "Chat", branch[i].szDBName, branch[i].bDefault)!=0?2:1; - tvis.item.state=INDEXTOSTATEIMAGEMASK(iState); + iState = db_get_b(NULL, "Chat", branch[i].szDBName, branch[i].bDefault) != 0 ? 2 : 1; + tvis.item.state = INDEXTOSTATEIMAGEMASK(iState); branch[i].hItem = TreeView_InsertItem(hwndTree, &tvis); } } + static void SaveBranch(HWND hwndTree, struct branch_t *branch, int nValues) { - TVITEM tvi; - BYTE bChecked; - int i; int iState = 0; - tvi.mask=TVIF_HANDLE|TVIF_STATE; - for(i=0;i<nValues;i++) { + TVITEM tvi; + tvi.mask = TVIF_HANDLE | TVIF_STATE; + for (int i = 0; i < nValues; i++) { tvi.hItem = branch[i].hItem; - TreeView_GetItem(hwndTree,&tvi); - bChecked = ((tvi.state&TVIS_STATEIMAGEMASK)>>12==1)?0:1; - if (branch[i].iMode) - { + TreeView_GetItem(hwndTree, &tvi); + BYTE bChecked = ((tvi.state&TVIS_STATEIMAGEMASK) >> 12 == 1) ? 0 : 1; + if (branch[i].iMode) { if (bChecked) iState |= branch[i].iMode; if (iState&GC_EVENT_ADDSTATUS) @@ -159,32 +157,33 @@ static void SaveBranch(HWND hwndTree, struct branch_t *branch, int nValues) db_set_dw(NULL, "Chat", branch[i].szDBName, (DWORD)iState); } else db_set_b(NULL, "Chat", branch[i].szDBName, bChecked); - } } + } +} static void CheckHeading(HWND hwndTree, HTREEITEM hHeading) { BOOL bChecked = TRUE; - TVITEM tvi; if (hHeading == 0) return; - tvi.mask=TVIF_HANDLE|TVIF_STATE; - tvi.hItem=TreeView_GetNextItem(hwndTree, hHeading, TVGN_CHILD); - while(tvi.hItem && bChecked) { - if (tvi.hItem != branch1[0].hItem && tvi.hItem != branch1[1].hItem ) - { - TreeView_GetItem(hwndTree,&tvi); - if (((tvi.state&TVIS_STATEIMAGEMASK)>>12==1)) + TVITEM tvi; + tvi.mask = TVIF_HANDLE | TVIF_STATE; + tvi.hItem = TreeView_GetNextItem(hwndTree, hHeading, TVGN_CHILD); + while (tvi.hItem && bChecked) { + if (tvi.hItem != branch1[0].hItem && tvi.hItem != branch1[1].hItem) { + TreeView_GetItem(hwndTree, &tvi); + if (((tvi.state&TVIS_STATEIMAGEMASK) >> 12 == 1)) bChecked = FALSE; } - tvi.hItem=TreeView_GetNextSibling(hwndTree,tvi.hItem); + tvi.hItem = TreeView_GetNextSibling(hwndTree, tvi.hItem); } tvi.stateMask = TVIS_STATEIMAGEMASK; - tvi.state=INDEXTOSTATEIMAGEMASK(bChecked?2:1); + tvi.state = INDEXTOSTATEIMAGEMASK(bChecked ? 2 : 1); tvi.hItem = hHeading; - TreeView_SetItem(hwndTree,&tvi); + TreeView_SetItem(hwndTree, &tvi); } + static void CheckBranches(HWND hwndTree, HTREEITEM hHeading) { BOOL bChecked = TRUE; @@ -193,43 +192,36 @@ static void CheckBranches(HWND hwndTree, HTREEITEM hHeading) if (hHeading == 0) return; - tvi.mask=TVIF_HANDLE|TVIF_STATE; + tvi.mask = TVIF_HANDLE | TVIF_STATE; tvi.hItem = hHeading; - TreeView_GetItem(hwndTree,&tvi); - if (((tvi.state&TVIS_STATEIMAGEMASK)>>12==2)) + TreeView_GetItem(hwndTree, &tvi); + if (((tvi.state & TVIS_STATEIMAGEMASK) >> 12 == 2)) bChecked = FALSE; - tvi.hItem=TreeView_GetNextItem(hwndTree, hHeading, TVGN_CHILD); + tvi.hItem = TreeView_GetNextItem(hwndTree, hHeading, TVGN_CHILD); tvi.stateMask = TVIS_STATEIMAGEMASK; - while(tvi.hItem) { - tvi.state=INDEXTOSTATEIMAGEMASK(bChecked?2:1); - if (tvi.hItem != branch1[0].hItem && tvi.hItem != branch1[1].hItem ) - TreeView_SetItem(hwndTree,&tvi); - tvi.hItem=TreeView_GetNextSibling(hwndTree,tvi.hItem); + while (tvi.hItem) { + tvi.state = INDEXTOSTATEIMAGEMASK(bChecked ? 2 : 1); + if (tvi.hItem != branch1[0].hItem && tvi.hItem != branch1[1].hItem) + TreeView_SetItem(hwndTree, &tvi); + tvi.hItem = TreeView_GetNextSibling(hwndTree, tvi.hItem); } } static INT CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lp, LPARAM pData) { char szDir[MAX_PATH]; - switch(uMsg) { + switch (uMsg) { case BFFM_INITIALIZED: SendMessage(hwnd, BFFM_SETSELECTION, TRUE, pData); break; case BFFM_SELCHANGED: - if (SHGetPathFromIDListA((LPITEMIDLIST) lp ,szDir)) - SendMessage(hwnd,BFFM_SETSTATUSTEXT,0,(LPARAM)szDir); + if (SHGetPathFromIDListA((LPITEMIDLIST)lp, szDir)) + SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, (LPARAM)szDir); break; } return 0; } -void LoadLogFonts(void) -{ - for (int i = 0; i<OPTIONS_FONTCOUNT; i++) - LoadMsgDlgFont(i, &pci->aFonts[i].lf, &pci->aFonts[i].color, TRUE); -} - - static void InitSetting(TCHAR **ppPointer, char *pszSetting, TCHAR *pszDefault) { DBVARIANT dbv; @@ -242,7 +234,6 @@ static void InitSetting(TCHAR **ppPointer, char *pszSetting, TCHAR *pszDefault) #define OPT_FIXHEADINGS (WM_USER+1) - INT_PTR CALLBACK DlgProcOptions1(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) { static HTREEITEM hListHeading1 = 0; @@ -319,42 +310,33 @@ INT_PTR CALLBACK DlgProcOptions1(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa case 0: switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: - { - int iLen; - char * pszText = NULL; - - iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_GROUP)); - if (iLen > 0) - { - pszText = (char*)mir_realloc(pszText, iLen+1); - GetDlgItemTextA(hwndDlg, IDC_CHAT_GROUP, pszText,iLen+1); - db_set_s(NULL, "Chat", "AddToGroup", pszText); - } - else db_set_s(NULL, "Chat", "AddToGroup", ""); - mir_free(pszText); - - iLen = SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN2,UDM_GETPOS,0,0); - if (iLen > 0) - db_set_b(NULL, "Chat", "NicklistRowDist", (BYTE)iLen); - else - db_unset(NULL, "Chat", "NicklistRowDist"); - SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch1, SIZEOF(branch1)); - SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch4, SIZEOF(branch4)); - - pci->SM_BroadcastMessage(NULL, GC_SETWNDPROPS, 0, 0, TRUE); + int iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_GROUP)); + if (iLen > 0) { + ptrA pszText((char*)mir_alloc(iLen + 1)); + GetDlgItemTextA(hwndDlg, IDC_CHAT_GROUP, pszText, iLen + 1); + db_set_s(NULL, "Chat", "AddToGroup", pszText); } - return TRUE; + else db_set_s(NULL, "Chat", "AddToGroup", ""); + + iLen = SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN2, UDM_GETPOS, 0, 0); + if (iLen > 0) + db_set_b(NULL, "Chat", "NicklistRowDist", (BYTE)iLen); + else + db_unset(NULL, "Chat", "NicklistRowDist"); + SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch1, SIZEOF(branch1)); + SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch4, SIZEOF(branch4)); + + pci->SM_BroadcastMessage(NULL, GC_SETWNDPROPS, 0, 0, TRUE); } + return TRUE; } break; case WM_DESTROY: - { - BYTE b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading1, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; - db_set_b(NULL, "Chat", "Branch1Exp", b); - b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading4, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; - db_set_b(NULL, "Chat", "Branch5Exp", b); - } + BYTE b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading1, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; + db_set_b(NULL, "Chat", "Branch1Exp", b); + b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading4, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; + db_set_b(NULL, "Chat", "Branch5Exp", b); break; } return FALSE; @@ -424,15 +406,15 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa SetDlgItemText(hwndDlg, IDC_CHAT_OUTSTAMP, g_Settings.pszOutgoingNick); SetDlgItemText(hwndDlg, IDC_CHAT_INSTAMP, g_Settings.pszIncomingNick); CheckDlgButton(hwndDlg, IDC_CHAT_HIGHLIGHT, g_Settings.HighlightEnabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS), g_Settings.HighlightEnabled?TRUE:FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS), g_Settings.HighlightEnabled ? TRUE : FALSE); CheckDlgButton(hwndDlg, IDC_CHAT_LOGGING, g_Settings.LoggingEnabled); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRECTORY), g_Settings.LoggingEnabled?TRUE:FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRCHOOSE), g_Settings.LoggingEnabled?TRUE:FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMIT), g_Settings.LoggingEnabled?TRUE:FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMITTEXT2), g_Settings.LoggingEnabled?TRUE:FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRECTORY), g_Settings.LoggingEnabled ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRCHOOSE), g_Settings.LoggingEnabled ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMIT), g_Settings.LoggingEnabled ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMITTEXT2), g_Settings.LoggingEnabled ? TRUE : FALSE); - hListHeading2 = InsertBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), TranslateT("Appearance"), db_get_b(NULL, "Chat", "Branch2Exp", 0)?TRUE:FALSE); - hListHeading3 = InsertBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), TranslateT("Default events to show in new chat rooms if the \'event filter\' is enabled"), db_get_b(NULL, "Chat", "Branch3Exp", 0)?TRUE:FALSE); + hListHeading2 = InsertBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), TranslateT("Appearance"), db_get_b(NULL, "Chat", "Branch2Exp", 0) ? TRUE : FALSE); + hListHeading3 = InsertBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), TranslateT("Default events to show in new chat rooms if the \'event filter\' is enabled"), db_get_b(NULL, "Chat", "Branch3Exp", 0) ? TRUE : FALSE); FillBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading2, branch2, SIZEOF(branch2), 0x0); FillBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading3, branch3, SIZEOF(branch3), 0x03E0); SendMessage(hwndDlg, OPT_FIXHEADINGS, 0, 0); @@ -452,7 +434,7 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa || LOWORD(wParam) == IDC_CHAT_LOGDIRECTORY || LOWORD(wParam) == IDC_CHAT_LOGTIMESTAMP || LOWORD(wParam) == IDC_CHAT_LIMIT) - && (HIWORD(wParam)!=EN_CHANGE || (HWND)lParam!=GetFocus())) return 0; + && (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus())) return 0; switch (LOWORD(wParam)) { case IDC_CHAT_LOGGING: @@ -461,35 +443,35 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMIT), IsDlgButtonChecked(hwndDlg, IDC_CHAT_LOGGING) == BST_CHECKED?TRUE:FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_LIMITTEXT2), IsDlgButtonChecked(hwndDlg, IDC_CHAT_LOGGING) == BST_CHECKED?TRUE:FALSE); break; - case IDC_CHAT_LOGDIRCHOOSE: - { + + case IDC_CHAT_HIGHLIGHT: + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS), IsDlgButtonChecked(hwndDlg, IDC_CHAT_HIGHLIGHT) == BST_CHECKED ? TRUE : FALSE); + break; + + case IDC_CHAT_LOGDIRCHOOSE: LPMALLOC psMalloc; - if ( SUCCEEDED(CoGetMalloc(1, &psMalloc))) { + if (SUCCEEDED(CoGetMalloc(1, &psMalloc))) { TCHAR tszDirectory[MAX_PATH], tszTemp[MAX_PATH]; - BROWSEINFO bi = {0}; + BROWSEINFO bi = { 0 }; bi.hwndOwner = hwndDlg; bi.pszDisplayName = tszDirectory; bi.lpszTitle = TranslateT("Select Folder"); - bi.ulFlags = BIF_NEWDIALOGSTYLE|BIF_EDITBOX|BIF_RETURNONLYFSDIRS; + bi.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX | BIF_RETURNONLYFSDIRS; bi.lpfn = BrowseCallbackProc; bi.lParam = (LPARAM)tszDirectory; LPITEMIDLIST idList = SHBrowseForFolder(&bi); if (idList) { - SHGetPathFromIDList(idList,tszDirectory); + SHGetPathFromIDList(idList, tszDirectory); lstrcat(tszDirectory, _T("\\")); PathToRelativeT(tszDirectory, tszTemp); - SetWindowText(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRECTORY), lstrlen(tszTemp) > 1?tszTemp:DEFLOGFILENAME); + SetWindowText(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRECTORY), lstrlen(tszTemp) > 1 ? tszTemp : DEFLOGFILENAME); } psMalloc->Free(idList); psMalloc->Release(); } break; } - case IDC_CHAT_HIGHLIGHT: - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS), IsDlgButtonChecked(hwndDlg, IDC_CHAT_HIGHLIGHT) == BST_CHECKED?TRUE:FALSE); - break; - } if (lParam != 0) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); @@ -530,31 +512,31 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa } } } - else if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY ) { + else if (((LPNMHDR)lParam)->idFrom == 0 && ((LPNMHDR)lParam)->code == PSN_APPLY) { char *pszText = NULL; int iLen; iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS)); - if ( iLen > 0 ) { - TCHAR *ptszText = (TCHAR *)mir_alloc((iLen+2) * sizeof(TCHAR)); + if (iLen > 0) { + TCHAR *ptszText = (TCHAR *)mir_alloc((iLen + 2) * sizeof(TCHAR)); TCHAR *p2 = NULL; if (ptszText) { - GetDlgItemText(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS, ptszText, iLen + 1); - p2 = _tcschr(ptszText, (TCHAR)','); - while ( p2 ) { - *p2 = ' '; - p2 = _tcschr(ptszText, (TCHAR)','); - } - db_set_ts(NULL, "Chat", "HighlightWords", ptszText); - mir_free(ptszText); + GetDlgItemText(hwndDlg, IDC_CHAT_HIGHLIGHTWORDS, ptszText, iLen + 1); + p2 = _tcschr(ptszText, (TCHAR)','); + while (p2) { + *p2 = ' '; + p2 = _tcschr(ptszText, (TCHAR)','); + } + db_set_ts(NULL, "Chat", "HighlightWords", ptszText); + mir_free(ptszText); } } else db_unset(NULL, "Chat", "HighlightWords"); iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_LOGDIRECTORY)); - if ( iLen > 0 ) { - TCHAR *pszText1 = (TCHAR *)malloc(iLen*sizeof(TCHAR) + 2); + if (iLen > 0) { + TCHAR *pszText1 = (TCHAR *)malloc(iLen*sizeof(TCHAR)+2); GetDlgItemText(hwndDlg, IDC_CHAT_LOGDIRECTORY, pszText1, iLen + 1); db_set_ts(NULL, "Chat", "LogDirectory", pszText1); PathToAbsoluteT(pszText1, g_Settings.pszLogDir); @@ -566,46 +548,46 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa } iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_LOGTIMESTAMP)); - if ( iLen > 0 ) { - pszText = (char*)mir_realloc(pszText, iLen+1); - GetDlgItemTextA(hwndDlg, IDC_CHAT_LOGTIMESTAMP, pszText,iLen+1); + if (iLen > 0) { + pszText = (char*)mir_realloc(pszText, iLen + 1); + GetDlgItemTextA(hwndDlg, IDC_CHAT_LOGTIMESTAMP, pszText, iLen + 1); db_set_s(NULL, "Chat", "LogTimestamp", pszText); } else db_unset(NULL, "Chat", "LogTimestamp"); iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_TIMESTAMP)); - if ( iLen > 0 ) { - pszText = (char*)mir_realloc(pszText, iLen+1); - GetDlgItemTextA(hwndDlg, IDC_CHAT_TIMESTAMP, pszText,iLen+1); + if (iLen > 0) { + pszText = (char*)mir_realloc(pszText, iLen + 1); + GetDlgItemTextA(hwndDlg, IDC_CHAT_TIMESTAMP, pszText, iLen + 1); db_set_s(NULL, "Chat", "HeaderTime", pszText); } else db_unset(NULL, "Chat", "HeaderTime"); iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_INSTAMP)); - if ( iLen > 0 ) { - pszText = (char*)mir_realloc(pszText, iLen+1); - GetDlgItemTextA(hwndDlg, IDC_CHAT_INSTAMP, pszText,iLen+1); + if (iLen > 0) { + pszText = (char*)mir_realloc(pszText, iLen + 1); + GetDlgItemTextA(hwndDlg, IDC_CHAT_INSTAMP, pszText, iLen + 1); db_set_s(NULL, "Chat", "HeaderIncoming", pszText); } else db_unset(NULL, "Chat", "HeaderIncoming"); iLen = GetWindowTextLength(GetDlgItem(hwndDlg, IDC_CHAT_OUTSTAMP)); - if ( iLen > 0 ) { - pszText = (char*)mir_realloc(pszText, iLen+1); - GetDlgItemTextA(hwndDlg, IDC_CHAT_OUTSTAMP, pszText,iLen+1); + if (iLen > 0) { + pszText = (char*)mir_realloc(pszText, iLen + 1); + GetDlgItemTextA(hwndDlg, IDC_CHAT_OUTSTAMP, pszText, iLen + 1); db_set_s(NULL, "Chat", "HeaderOutgoing", pszText); } else db_unset(NULL, "Chat", "HeaderOutgoing"); - g_Settings.HighlightEnabled = IsDlgButtonChecked(hwndDlg, IDC_CHAT_HIGHLIGHT) == BST_CHECKED?TRUE:FALSE; + g_Settings.HighlightEnabled = IsDlgButtonChecked(hwndDlg, IDC_CHAT_HIGHLIGHT) == BST_CHECKED ? TRUE : FALSE; db_set_b(NULL, "Chat", "HighlightEnabled", (BYTE)g_Settings.HighlightEnabled); - g_Settings.LoggingEnabled = IsDlgButtonChecked(hwndDlg, IDC_CHAT_LOGGING) == BST_CHECKED?TRUE:FALSE; + g_Settings.LoggingEnabled = IsDlgButtonChecked(hwndDlg, IDC_CHAT_LOGGING) == BST_CHECKED ? TRUE : FALSE; db_set_b(NULL, "Chat", "LoggingEnabled", (BYTE)g_Settings.LoggingEnabled); - iLen = SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN2,UDM_GETPOS,0,0); + iLen = SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN2, UDM_GETPOS, 0, 0); db_set_w(NULL, "Chat", "LogLimit", (WORD)iLen); - iLen = SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN3,UDM_GETPOS,0,0); + iLen = SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN3, UDM_GETPOS, 0, 0); db_set_w(NULL, "Chat", "LoggingLimit", (WORD)iLen); SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch2, SIZEOF(branch2)); @@ -620,7 +602,7 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa g_Settings.TrayIconInactiveOnly = (BOOL)db_get_b(NULL, "Chat", "TrayIconInactiveOnly", 1); g_Settings.PopupInactiveOnly = (BOOL)db_get_b(NULL, "Chat", "PopUpInactiveOnly", 1); - g_Settings.LogIndentEnabled = (db_get_b(NULL, "Chat", "LogIndentEnabled", 1) != 0)?TRUE:FALSE; + g_Settings.LogIndentEnabled = (db_get_b(NULL, "Chat", "LogIndentEnabled", 1) != 0) ? TRUE : FALSE; pci->MM_FontsChanged(); pci->SM_BroadcastMessage(NULL, GC_SETWNDPROPS, 0, 0, TRUE); return TRUE; @@ -638,12 +620,11 @@ INT_PTR CALLBACK DlgProcOptions2(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lPa DestroyWindow(hPathTip); hPathTip = 0; } - { - BYTE b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading2, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; - db_set_b(NULL, "Chat", "Branch2Exp", b); - b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading3, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; - db_set_b(NULL, "Chat", "Branch3Exp", b); - } + + BYTE b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading2, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; + db_set_b(NULL, "Chat", "Branch2Exp", b); + b = TreeView_GetItemState(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), hListHeading3, TVIS_EXPANDED)&TVIS_EXPANDED?1:0; + db_set_b(NULL, "Chat", "Branch3Exp", b); break; } return FALSE; @@ -655,22 +636,22 @@ static INT_PTR CALLBACK DlgProcOptionsPopup(HWND hwndDlg,UINT uMsg,WPARAM wParam case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); - SetWindowLongPtr(GetDlgItem(hwndDlg,IDC_CHAT_CHECKBOXES),GWL_STYLE,GetWindowLongPtr(GetDlgItem(hwndDlg,IDC_CHAT_CHECKBOXES),GWL_STYLE)|TVS_NOHSCROLL|TVS_CHECKBOXES); - SendDlgItemMessage(hwndDlg, IDC_CHAT_BKG, CPM_SETCOLOUR,0,g_Settings.crPUBkgColour); - SendDlgItemMessage(hwndDlg, IDC_CHAT_TEXT, CPM_SETCOLOUR,0,g_Settings.crPUTextColour); + SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), GWL_STYLE) | TVS_NOHSCROLL | TVS_CHECKBOXES); + SendDlgItemMessage(hwndDlg, IDC_CHAT_BKG, CPM_SETCOLOUR, 0, g_Settings.crPUBkgColour); + SendDlgItemMessage(hwndDlg, IDC_CHAT_TEXT, CPM_SETCOLOUR, 0, g_Settings.crPUTextColour); - if (g_Settings.iPopupStyle ==2) + if (g_Settings.iPopupStyle == 2) CheckDlgButton(hwndDlg, IDC_CHAT_RADIO2, BST_CHECKED); - else if (g_Settings.iPopupStyle ==3) + else if (g_Settings.iPopupStyle == 3) CheckDlgButton(hwndDlg, IDC_CHAT_RADIO3, BST_CHECKED); else CheckDlgButton(hwndDlg, IDC_CHAT_RADIO1, BST_CHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_BKG), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) ==BST_CHECKED?TRUE:FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_TEXT), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) ==BST_CHECKED?TRUE:FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_BKG), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_TEXT), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED ? TRUE : FALSE); - SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN1,UDM_SETRANGE,0,MAKELONG(100,-1)); - SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN1,UDM_SETPOS,0,MAKELONG(g_Settings.iPopupTimeout,0)); + SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN1, UDM_SETRANGE, 0, MAKELONG(100, -1)); + SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN1, UDM_SETPOS, 0, MAKELONG(g_Settings.iPopupTimeout, 0)); FillBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), NULL, branch6, SIZEOF(branch6), 0x0000); break; @@ -685,60 +666,55 @@ static INT_PTR CALLBACK DlgProcOptionsPopup(HWND hwndDlg,UINT uMsg,WPARAM wParam case IDC_CHAT_RADIO1: case IDC_CHAT_RADIO2: case IDC_CHAT_RADIO3: - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_BKG), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) ==BST_CHECKED?TRUE:FALSE); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_TEXT), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) ==BST_CHECKED?TRUE:FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_BKG), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED ? TRUE : FALSE); + EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_TEXT), IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED ? TRUE : FALSE); } break; case WM_NOTIFY: - switch(((LPNMHDR)lParam)->idFrom) { + switch (((LPNMHDR)lParam)->idFrom) { case IDC_CHAT_CHECKBOXES: - if (((LPNMHDR)lParam)->code==NM_CLICK) { + if (((LPNMHDR)lParam)->code == NM_CLICK) { TVHITTESTINFO hti; - hti.pt.x=(short)LOWORD(GetMessagePos()); - hti.pt.y=(short)HIWORD(GetMessagePos()); - ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt); - if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti)) - if (hti.flags&TVHT_ONITEMSTATEICON) { + hti.pt.x = (short)LOWORD(GetMessagePos()); + hti.pt.y = (short)HIWORD(GetMessagePos()); + ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt); + if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti)) + if (hti.flags & TVHT_ONITEMSTATEICON) SendMessage(hwndDlg, UM_CHECKSTATECHANGE, (WPARAM)((LPNMHDR)lParam)->hwndFrom, (LPARAM)hti.hItem); - } } - else if (((LPNMHDR) lParam)->code == TVN_KEYDOWN) { - if (((LPNMTVKEYDOWN) lParam)->wVKey == VK_SPACE) { + else if (((LPNMHDR)lParam)->code == TVN_KEYDOWN) { + if (((LPNMTVKEYDOWN)lParam)->wVKey == VK_SPACE) SendMessage(hwndDlg, UM_CHECKSTATECHANGE, (WPARAM)((LPNMHDR)lParam)->hwndFrom, (LPARAM)TreeView_GetSelection(((LPNMHDR)lParam)->hwndFrom)); - } } break; case 0: switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: - { - int iLen; - - if (IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO2) == BST_CHECKED) - iLen = 2; - else if (IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED) - iLen = 3; - else - iLen = 1; - - g_Settings.iPopupStyle = iLen; - db_set_b(NULL, "Chat", "PopupStyle", (BYTE)iLen); - - iLen = SendDlgItemMessage(hwndDlg,IDC_CHAT_SPIN1,UDM_GETPOS,0,0); - g_Settings.iPopupTimeout = iLen; - db_set_w(NULL, "Chat", "PopupTimeout", (WORD)iLen); - - g_Settings.crPUBkgColour = SendDlgItemMessage(hwndDlg,IDC_CHAT_BKG,CPM_GETCOLOUR,0,0); - db_set_dw(NULL, "Chat", "PopupColorBG", (DWORD)SendDlgItemMessage(hwndDlg,IDC_CHAT_BKG,CPM_GETCOLOUR,0,0)); - g_Settings.crPUTextColour = SendDlgItemMessage(hwndDlg,IDC_CHAT_TEXT,CPM_GETCOLOUR,0,0); - db_set_dw(NULL, "Chat", "PopupColorText", (DWORD)SendDlgItemMessage(hwndDlg,IDC_CHAT_TEXT,CPM_GETCOLOUR,0,0)); - SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch6, SIZEOF(branch6)); - } - return TRUE; + int iLen; + if (IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO2) == BST_CHECKED) + iLen = 2; + else if (IsDlgButtonChecked(hwndDlg, IDC_CHAT_RADIO3) == BST_CHECKED) + iLen = 3; + else + iLen = 1; + + g_Settings.iPopupStyle = iLen; + db_set_b(NULL, "Chat", "PopupStyle", (BYTE)iLen); + + iLen = SendDlgItemMessage(hwndDlg, IDC_CHAT_SPIN1, UDM_GETPOS, 0, 0); + g_Settings.iPopupTimeout = iLen; + db_set_w(NULL, "Chat", "PopupTimeout", (WORD)iLen); + + g_Settings.crPUBkgColour = SendDlgItemMessage(hwndDlg, IDC_CHAT_BKG, CPM_GETCOLOUR, 0, 0); + db_set_dw(NULL, "Chat", "PopupColorBG", (DWORD)SendDlgItemMessage(hwndDlg, IDC_CHAT_BKG, CPM_GETCOLOUR, 0, 0)); + g_Settings.crPUTextColour = SendDlgItemMessage(hwndDlg, IDC_CHAT_TEXT, CPM_GETCOLOUR, 0, 0); + db_set_dw(NULL, "Chat", "PopupColorText", (DWORD)SendDlgItemMessage(hwndDlg, IDC_CHAT_TEXT, CPM_GETCOLOUR, 0, 0)); + SaveBranch(GetDlgItem(hwndDlg, IDC_CHAT_CHECKBOXES), branch6, SIZEOF(branch6)); } + return TRUE; } break; @@ -772,10 +748,3 @@ int OptionsInit(void) HookEvent(ME_OPT_INITIALISE, OptionsInitialize); return 0; } - -int OptionsUnInit(void) -{ - DeleteObject(hListBkgBrush); - DeleteObject(hListSelectedBkgBrush); - return 0; -} diff --git a/plugins/Scriver/src/chat/window.cpp b/plugins/Scriver/src/chat/window.cpp index 40ef202c6e..58c60c3481 100644 --- a/plugins/Scriver/src/chat/window.cpp +++ b/plugins/Scriver/src/chat/window.cpp @@ -137,7 +137,6 @@ static void InitButtons(HWND hwndDlg, SESSION_INFO *si) static void MessageDialogResize(HWND hwndDlg, SESSION_INFO *si, int w, int h) { int logBottom, toolbarTopY; - HDWP hdwp; BOOL bNick = si->iType != GCW_SERVER && si->bNicklistEnabled; BOOL bToolbar = SendMessage(GetParent(hwndDlg), CM_GETTOOLBARSTATUS, 0, 0); int buttonVisibility = bToolbar ? g_dat.chatBbuttonVisibility : 0; @@ -170,7 +169,7 @@ static void MessageDialogResize(HWND hwndDlg, SESSION_INFO *si, int w, int h) EnableWindow(GetDlgItem(hwndDlg, IDC_CHAT_CHANMGR), pci->MM_FindModule(si->pszModule)->bChanMgr); } - hdwp = BeginDeferWindowPos(20); + HDWP hdwp = BeginDeferWindowPos(20); toolbarTopY = bToolbar ? h - si->iSplitterY - toolbarHeight : h - si->iSplitterY; if (si->windowData.hwndLog != NULL) logBottom = toolbarTopY / 2; @@ -266,9 +265,8 @@ LBL_SkipEnd: pszName = si->ptszTopic; else if (isRoom) { dat->lastSession = SM_FindSessionAutoComplete(si->pszModule, si, dat->lastSession, dat->szSearchQuery, dat->szSearchResult); - if (dat->lastSession != NULL) { + if (dat->lastSession != NULL) pszName = dat->lastSession->ptszName; - } } else pszName = pci->UM_FindUserAutoComplete(si->pUsers, dat->szSearchQuery, dat->szSearchResult); @@ -853,7 +851,7 @@ static LRESULT CALLBACK NicklistSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, if (rc.bottom - rc.top > items * height) { rc.top = items*height; - FillRect(dc, &rc, hListBkgBrush); + FillRect(dc, &rc, pci->hListBkgBrush); } } } @@ -1389,7 +1387,7 @@ INT_PTR CALLBACK RoomWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar case WM_CTLCOLORLISTBOX: SetBkColor((HDC)wParam, g_Settings.crUserListBGColor); - return (INT_PTR)hListBkgBrush; + return (INT_PTR)pci->hListBkgBrush; case WM_MEASUREITEM: if (!MeasureMenuItem(wParam, lParam)) { @@ -1438,9 +1436,9 @@ INT_PTR CALLBACK RoomWndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPar SetBkMode(dis->hDC, TRANSPARENT); if (dis->itemAction == ODA_FOCUS && dis->itemState & ODS_SELECTED) - FillRect(dis->hDC, &dis->rcItem, hListSelectedBkgBrush); + FillRect(dis->hDC, &dis->rcItem, pci->hListSelectedBkgBrush); else //if (dis->itemState & ODS_INACTIVE) - FillRect(dis->hDC, &dis->rcItem, hListBkgBrush); + FillRect(dis->hDC, &dis->rcItem, pci->hListBkgBrush); if (g_Settings.ShowContactStatus && g_Settings.ContactStatusFirst && ui->ContactStatus) { HICON hIcon = LoadSkinnedProtoIcon(si->pszModule, ui->ContactStatus); diff --git a/plugins/Scriver/src/commonheaders.h b/plugins/Scriver/src/commonheaders.h index 7f8533210f..d49706abec 100644 --- a/plugins/Scriver/src/commonheaders.h +++ b/plugins/Scriver/src/commonheaders.h @@ -111,8 +111,6 @@ extern HCURSOR hDragCursor; extern ITaskbarList3 *pTaskbarInterface; extern GlobalMessageData g_dat; extern CRITICAL_SECTION cs; -extern HBRUSH hListBkgBrush; -extern HBRUSH hListSelectedBkgBrush; extern HMENU g_hMenu; extern HANDLE hHookWinPopup, hHookWinWrite; extern HCURSOR hCurSplitNS, hCurSplitWE; -- cgit v1.2.3