From db5390efed97b32362f1e2b3ee11bc790e115216 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Wed, 17 Dec 2014 20:25:25 +0000 Subject: NewXstatusNotify: changed warning lavel to w4 git-svn-id: http://svn.miranda-ng.org/main/trunk@11492 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- .../NewXstatusNotify/NewXstatusNotify_12.vcxproj | 8 +- plugins/NewXstatusNotify/src/common.h | 4 +- plugins/NewXstatusNotify/src/indsnd.cpp | 344 ++--- plugins/NewXstatusNotify/src/indsnd.h | 2 +- plugins/NewXstatusNotify/src/main.cpp | 52 +- plugins/NewXstatusNotify/src/options.cpp | 1398 ++++++++++---------- plugins/NewXstatusNotify/src/options.h | 2 +- plugins/NewXstatusNotify/src/popup.cpp | 24 +- plugins/NewXstatusNotify/src/popup.h | 4 +- plugins/NewXstatusNotify/src/utils.cpp | 2 +- plugins/NewXstatusNotify/src/utils.h | 2 +- plugins/NewXstatusNotify/src/xstatus.cpp | 52 +- plugins/NewXstatusNotify/src/xstatus.h | 2 +- 13 files changed, 948 insertions(+), 948 deletions(-) diff --git a/plugins/NewXstatusNotify/NewXstatusNotify_12.vcxproj b/plugins/NewXstatusNotify/NewXstatusNotify_12.vcxproj index 1dde48378c..54e735c65b 100644 --- a/plugins/NewXstatusNotify/NewXstatusNotify_12.vcxproj +++ b/plugins/NewXstatusNotify/NewXstatusNotify_12.vcxproj @@ -83,7 +83,7 @@ ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) true true - Level3 + Level4 NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) false common.h @@ -113,7 +113,7 @@ false ..\..\include;..\ExternalAPI;%(AdditionalIncludeDirectories) true - Level3 + Level4 NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) true false @@ -143,7 +143,7 @@ true EnableFastChecks MultiThreadedDebugDLL - Level3 + Level4 EditAndContinue false common.h @@ -171,7 +171,7 @@ true EnableFastChecks MultiThreadedDebugDLL - Level3 + Level4 false common.h Use diff --git a/plugins/NewXstatusNotify/src/common.h b/plugins/NewXstatusNotify/src/common.h index 981f91e750..d19761c135 100644 --- a/plugins/NewXstatusNotify/src/common.h +++ b/plugins/NewXstatusNotify/src/common.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef COMMON_H #define COMMON_H @@ -155,6 +155,6 @@ extern STATUS StatusListEx[STATUSEX_COUNT]; TCHAR* GetStr(STATUSMSGINFO *n, const TCHAR *tmplt); void LogSMsgToDB(STATUSMSGINFO *smi, const TCHAR *tmplt); -void BlinkIcon(MCONTACT hContact, char *szProto, HICON hIcon, TCHAR *stzText); +void BlinkIcon(MCONTACT hContact, HICON hIcon, TCHAR *stzText); void PlayChangeSound(MCONTACT hContact, const char *name); #endif //COMMON_H diff --git a/plugins/NewXstatusNotify/src/indsnd.cpp b/plugins/NewXstatusNotify/src/indsnd.cpp index c250029a76..a8d421353c 100644 --- a/plugins/NewXstatusNotify/src/indsnd.cpp +++ b/plugins/NewXstatusNotify/src/indsnd.cpp @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" @@ -25,13 +25,13 @@ void PreviewSound(HWND hList) { TCHAR buff[MAX_PATH], stzSoundPath[MAX_PATH]; - LVITEM lvi = {0}; + LVITEM lvi = { 0 }; lvi.mask = LVIF_PARAM; lvi.iItem = ListView_GetNextItem(hList, -1, LVNI_SELECTED); ListView_GetItem(hList, &lvi); int hlpStatus = lvi.lParam; - + ListView_GetItemText(hList, lvi.iItem, 1, buff, SIZEOF(buff)); if (_tcscmp(buff, TranslateT(DEFAULT_SOUND)) == 0) { if (hlpStatus < ID_STATUS_MIN) @@ -60,7 +60,7 @@ BOOL RemoveSoundFromList(HWND hList) TCHAR *SelectSound(HWND hwndDlg, TCHAR *buff) { - OPENFILENAME ofn = {0}; + OPENFILENAME ofn = { 0 }; HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); ListView_GetItemText(hList, ListView_GetNextItem(hList, -1, LVNI_SELECTED), 1, buff, SIZEOF(buff)); @@ -83,7 +83,7 @@ TCHAR *SelectSound(HWND hwndDlg, TCHAR *buff) ofn.lpstrDefExt = _T(""); if (GetOpenFileName(&ofn)) return buff; - + return NULL; } @@ -117,10 +117,10 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA ListView_SetImageList(hList, GetStatusIconsImgList(szProto), LVSIL_SMALL); ListView_SetExtendedListViewStyleEx(hList, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP, LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP); - RECT rc = {0}; + RECT rc = { 0 }; GetClientRect(hList, &rc); - LV_COLUMN lvc = {0}; + LV_COLUMN lvc = { 0 }; lvc.mask = LVCF_WIDTH | LVCF_TEXT; lvc.cx = STATUS_COLUMN; lvc.pszText = TranslateT("Status"); @@ -140,7 +140,7 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA flags = PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT | PF2_OUTTOLUNCH | PF2_ONTHEPHONE; if ((flags & Proto_Status2Flag(i)) || i == ID_STATUS_OFFLINE) { - LV_ITEM lvi = {0}; + LV_ITEM lvi = { 0 }; lvi.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE; lvi.iItem = 0; lvi.iSubItem = 0; @@ -161,7 +161,7 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA } for (int i = 0; i <= ID_STATUSEX_MAX; i++) { - LV_ITEM lvi = {0}; + LV_ITEM lvi = { 0 }; lvi.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE; lvi.iItem = 0; lvi.iSubItem = 0; @@ -199,20 +199,20 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA PreviewSound(hList); break; case IDC_CHANGE: - { - int iSel = ListView_GetNextItem(GetDlgItem(hwndDlg, IDC_INDSNDLIST), -1, LVNI_SELECTED); - if (iSel != -1) { - TCHAR stzFilePath[MAX_PATH]; - if (SelectSound(hwndDlg, stzFilePath) != NULL) { - iSel = -1; - while ((iSel = ListView_GetNextItem(hList, iSel, LVNI_SELECTED)) != -1) - ListView_SetItemText(hList, iSel, 1, stzFilePath); - - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } + { + int iSel = ListView_GetNextItem(GetDlgItem(hwndDlg, IDC_INDSNDLIST), -1, LVNI_SELECTED); + if (iSel != -1) { + TCHAR stzFilePath[MAX_PATH]; + if (SelectSound(hwndDlg, stzFilePath) != NULL) { + iSel = -1; + while ((iSel = ListView_GetNextItem(hList, iSel, LVNI_SELECTED)) != -1) + ListView_SetItemText(hList, iSel, 1, stzFilePath); + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } } - break; + } + break; case IDC_DELETE: if (ListView_GetSelectionMark(hList) != -1) if (RemoveSoundFromList(GetDlgItem(hwndDlg, IDC_INDSNDLIST))) @@ -232,7 +232,7 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA TCHAR buff[MAX_PATH]; HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); - LVITEM lvi = {0}; + LVITEM lvi = { 0 }; lvi.mask = LVIF_PARAM; //Cycle through the list reading the text associated to each status. for (lvi.iItem = ListView_GetItemCount(hList) - 1; lvi.iItem >= 0; lvi.iItem--) { @@ -246,7 +246,7 @@ INT_PTR CALLBACK DlgProcSoundUIPage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA db_unset(hContact, MODULE, StatusList[Index(lvi.lParam)].lpzSkinSoundName); } else { - TCHAR stzSoundPath[MAX_PATH] = {0}; + TCHAR stzSoundPath[MAX_PATH] = { 0 }; PathToRelativeT(buff, stzSoundPath); if (lvi.lParam < ID_STATUS_MIN) db_set_ws(hContact, MODULE, StatusListEx[lvi.lParam].lpzSkinSoundName, stzSoundPath); @@ -321,7 +321,7 @@ void SetAllContactsIcons(HWND hwndList) EnableSounds = EnablePopups = EnableXStatus = EnableXLogging = EnableStatusMsg = EnableSMsgLogging = 0; SetExtraImage(hwndList, hItem, EXTRA_IMAGE_SOUND, EnableSounds ? EXTRA_IMAGE_SOUND : EXTRA_IMAGE_DOT); - SetExtraImage(hwndList, hItem, EXTRA_IMAGE_POPUP, EnablePopups? EXTRA_IMAGE_POPUP : EXTRA_IMAGE_DOT); + SetExtraImage(hwndList, hItem, EXTRA_IMAGE_POPUP, EnablePopups ? EXTRA_IMAGE_POPUP : EXTRA_IMAGE_DOT); SetExtraImage(hwndList, hItem, EXTRA_IMAGE_XSTATUS, EnableXStatus ? EXTRA_IMAGE_XSTATUS : EXTRA_IMAGE_DOT); SetExtraImage(hwndList, hItem, EXTRA_IMAGE_XLOGGING, EnableXLogging ? EXTRA_IMAGE_XLOGGING : EXTRA_IMAGE_DOT); SetExtraImage(hwndList, hItem, EXTRA_IMAGE_STATUSMSG, EnableStatusMsg ? EXTRA_IMAGE_STATUSMSG : EXTRA_IMAGE_DOT); @@ -335,7 +335,7 @@ void SetAllContactsIcons(HWND hwndList) void SetGroupsIcons(HWND hwndList, HANDLE hFirstItem, HANDLE hParentItem, int *groupChildCount) { int iconOn[8] = { 1, 1, 1, 1, 1, 1, 1, 1 }; - int childCount[8] = {0}; + int childCount[8] = { 0 }; HANDLE hItem; int typeOfFirst = SendMessage(hwndList, CLM_GETITEMTYPE, (WPARAM)hFirstItem, 0); @@ -416,175 +416,175 @@ void SetAllChildrenIcons(HWND hwndList, HANDLE hFirstItem, int column, int image } } -INT_PTR CALLBACK DlgProcFiltering(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK DlgProcFiltering(HWND hwndDlg, UINT msg, WPARAM, LPARAM lParam) { static HANDLE hItemAll; switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - HIMAGELIST hImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 3, 3); - - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_SOUND))); - SendDlgItemMessage(hwndDlg, IDC_SOUNDICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_SOUND, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_POPUP))); - SendDlgItemMessage(hwndDlg, IDC_POPUPICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_POPUP, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_XSTATUS))); - SendDlgItemMessage(hwndDlg, IDC_XSTATUSICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_XSTATUS, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_LOGGING_XSTATUS))); - SendDlgItemMessage(hwndDlg, IDC_XLOGGINGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_XLOGGING, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_STATUS_MESSAGE))); - SendDlgItemMessage(hwndDlg, IDC_SMSGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_STATUSMSG, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_LOGGING_SMSG))); - SendDlgItemMessage(hwndDlg, IDC_SMSGLOGGINGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_SMSGLOGGING, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_DISABLEALL))); - SendDlgItemMessage(hwndDlg, IDC_DISABLEALLICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_DISABLEALL, ILD_NORMAL), 0); - ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_ENABLEALL))); - SendDlgItemMessage(hwndDlg, IDC_ENABLEALLICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_ENABLEALL, ILD_NORMAL), 0); - - ImageList_AddIcon(hImageList, LoadSkinnedIcon(SKINICON_OTHER_SMALLDOT)); - - SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_SETEXTRAIMAGELIST, 0, (LPARAM)hImageList); - SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_SETEXTRACOLUMNS, 8, 0); - - HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); - ResetListOptions(hList); + { + TranslateDialogDefault(hwndDlg); - CLCINFOITEM cii = {0}; - cii.cbSize = sizeof(cii); - cii.flags = CLCIIF_GROUPFONT; - cii.pszText = TranslateT("** All contacts **"); - hItemAll = (HANDLE)SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_ADDINFOITEM, 0, (LPARAM)&cii); + HIMAGELIST hImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 3, 3); + + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_SOUND))); + SendDlgItemMessage(hwndDlg, IDC_SOUNDICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_SOUND, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_POPUP))); + SendDlgItemMessage(hwndDlg, IDC_POPUPICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_POPUP, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_XSTATUS))); + SendDlgItemMessage(hwndDlg, IDC_XSTATUSICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_XSTATUS, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_LOGGING_XSTATUS))); + SendDlgItemMessage(hwndDlg, IDC_XLOGGINGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_XLOGGING, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_STATUS_MESSAGE))); + SendDlgItemMessage(hwndDlg, IDC_SMSGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_STATUSMSG, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_LOGGING_SMSG))); + SendDlgItemMessage(hwndDlg, IDC_SMSGLOGGINGICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_SMSGLOGGING, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_DISABLEALL))); + SendDlgItemMessage(hwndDlg, IDC_DISABLEALLICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_DISABLEALL, ILD_NORMAL), 0); + ImageList_AddIcon(hImageList, LoadIcon(hInst, MAKEINTRESOURCE(IDI_ENABLEALL))); + SendDlgItemMessage(hwndDlg, IDC_ENABLEALLICON, STM_SETICON, (WPARAM)ImageList_GetIcon(hImageList, EXTRA_IMAGE_ENABLEALL, ILD_NORMAL), 0); + + ImageList_AddIcon(hImageList, LoadSkinnedIcon(SKINICON_OTHER_SMALLDOT)); + + SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_SETEXTRAIMAGELIST, 0, (LPARAM)hImageList); + SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_SETEXTRACOLUMNS, 8, 0); + + HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); + ResetListOptions(hList); + + CLCINFOITEM cii = { 0 }; + cii.cbSize = sizeof(cii); + cii.flags = CLCIIF_GROUPFONT; + cii.pszText = TranslateT("** All contacts **"); + hItemAll = (HANDLE)SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_ADDINFOITEM, 0, (LPARAM)&cii); - return TRUE; - } + return TRUE; + } case WM_SETFOCUS: SetFocus(GetDlgItem(hwndDlg, IDC_INDSNDLIST)); break; case WM_NOTIFY: - { - HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); - switch (((LPNMHDR)lParam)->idFrom) { - case IDC_INDSNDLIST: - switch (((LPNMHDR)lParam)->code) { - case CLN_NEWCONTACT: - case CLN_LISTREBUILT: - SetAllContactsIcons(hList); - //fall through - case CLN_CONTACTMOVED: - SetGroupsIcons(hList, (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, NULL); + { + HWND hList = GetDlgItem(hwndDlg, IDC_INDSNDLIST); + switch (((LPNMHDR)lParam)->idFrom) { + case IDC_INDSNDLIST: + switch (((LPNMHDR)lParam)->code) { + case CLN_NEWCONTACT: + case CLN_LISTREBUILT: + SetAllContactsIcons(hList); + //fall through + case CLN_CONTACTMOVED: + SetGroupsIcons(hList, (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, NULL); + break; + case CLN_OPTIONSCHANGED: + ResetListOptions(hList); + break; + case NM_CLICK: + { + NMCLISTCONTROL *nm = (NMCLISTCONTROL *)lParam; + DWORD hitFlags; + + // Make sure we have an extra column + if (nm->iColumn == -1) break; - case CLN_OPTIONSCHANGED: - ResetListOptions(hList); + + // Find clicked item + HANDLE hItem = (HANDLE)SendMessage(hList, CLM_HITTEST, (WPARAM)&hitFlags, MAKELPARAM(nm->pt.x, nm->pt.y)); + if (hItem == NULL) break; - case NM_CLICK: - { - NMCLISTCONTROL *nm = (NMCLISTCONTROL *)lParam; - DWORD hitFlags; - - // Make sure we have an extra column - if (nm->iColumn == -1) - break; - - // Find clicked item - HANDLE hItem = (HANDLE)SendMessage(hList, CLM_HITTEST, (WPARAM)&hitFlags, MAKELPARAM(nm->pt.x, nm->pt.y)); - if (hItem == NULL) - break; - if (!(hitFlags & CLCHT_ONITEMEXTRA)) - break; - - int itemType = SendMessage(hList, CLM_GETITEMTYPE, (WPARAM)hItem, 0); - - // Get image in clicked column - int image = GetExtraImage(hList, hItem, nm->iColumn); - if (image == EXTRA_IMAGE_DOT) - image = nm->iColumn; - else if (image >= EXTRA_IMAGE_SOUND && image <= EXTRA_IMAGE_SMSGLOGGING) - image = EXTRA_IMAGE_DOT; - - // Get item type (contact, group, etc...) - if (itemType == CLCIT_CONTACT) { - if (image == EXTRA_IMAGE_DISABLEALL) { - for (int i = 0; i < 6; i++) - SetExtraImage(hList, hItem, i, EXTRA_IMAGE_DOT); - } - else if (image == EXTRA_IMAGE_ENABLEALL) { - for (int i = 0; i < 6; i++) - SetExtraImage(hList, hItem, i, i); - } - else - SetExtraImage(hList, hItem, nm->iColumn, image); + if (!(hitFlags & CLCHT_ONITEMEXTRA)) + break; + + int itemType = SendMessage(hList, CLM_GETITEMTYPE, (WPARAM)hItem, 0); + + // Get image in clicked column + int image = GetExtraImage(hList, hItem, nm->iColumn); + if (image == EXTRA_IMAGE_DOT) + image = nm->iColumn; + else if (image >= EXTRA_IMAGE_SOUND && image <= EXTRA_IMAGE_SMSGLOGGING) + image = EXTRA_IMAGE_DOT; + + // Get item type (contact, group, etc...) + if (itemType == CLCIT_CONTACT) { + if (image == EXTRA_IMAGE_DISABLEALL) { + for (int i = 0; i < 6; i++) + SetExtraImage(hList, hItem, i, EXTRA_IMAGE_DOT); + } + else if (image == EXTRA_IMAGE_ENABLEALL) { + for (int i = 0; i < 6; i++) + SetExtraImage(hList, hItem, i, i); + } + else + SetExtraImage(hList, hItem, nm->iColumn, image); + } + else if (itemType == CLCIT_INFO || itemType == CLCIT_GROUP) { + if (itemType == CLCIT_GROUP) + hItem = (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_CHILD, (LPARAM)hItem); + + if (hItem) { + if (image == EXTRA_IMAGE_DISABLEALL) { + for (int i = 0; i < 6; i++) + SetAllChildrenIcons(hList, hItem, i, EXTRA_IMAGE_DOT); } - else if (itemType == CLCIT_INFO || itemType == CLCIT_GROUP) { - if (itemType == CLCIT_GROUP) - hItem = (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_CHILD, (LPARAM)hItem); - - if (hItem) { - if (image == EXTRA_IMAGE_DISABLEALL) { - for (int i = 0; i < 6; i++) - SetAllChildrenIcons(hList, hItem, i, EXTRA_IMAGE_DOT); - } - else if (image == EXTRA_IMAGE_ENABLEALL) { - for (int i = 0; i < 6; i++) - SetAllChildrenIcons(hList, hItem, i, i); - } - else - SetAllChildrenIcons(hList, hItem, nm->iColumn, image); - } + else if (image == EXTRA_IMAGE_ENABLEALL) { + for (int i = 0; i < 6; i++) + SetAllChildrenIcons(hList, hItem, i, i); } - - // Update the all/none icons - SetGroupsIcons(hList, (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, NULL); - // Activate Apply button - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; + else + SetAllChildrenIcons(hList, hItem, nm->iColumn, image); } } + + // Update the all/none icons + SetGroupsIcons(hList, (HANDLE)SendMessage(hList, CLM_GETNEXTITEM, CLGN_ROOT, 0), hItemAll, NULL); + // Activate Apply button + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; - case 0: - switch (((LPNMHDR)lParam)->code) { - case PSN_APPLY: - for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { - HANDLE hItem = (HANDLE)SendMessage(hList, CLM_FINDCONTACT, hContact, 0); - if (hItem) { - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_SOUND) == EXTRA_IMAGE_SOUND) - db_unset(hContact, MODULE, "EnableSounds"); - else - db_set_b(hContact, MODULE, "EnableSounds", 0); - - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_POPUP) == EXTRA_IMAGE_POPUP) - db_unset(hContact, MODULE, "EnablePopups"); - else - db_set_b(hContact, MODULE, "EnablePopups", 0); - - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_XSTATUS) == EXTRA_IMAGE_XSTATUS) - db_unset(hContact, MODULE, "EnableXStatusNotify"); - else - db_set_b(hContact, MODULE, "EnableXStatusNotify", 0); - - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_XLOGGING) == EXTRA_IMAGE_XLOGGING) - db_unset(hContact, MODULE, "EnableXLogging"); - else - db_set_b(hContact, MODULE, "EnableXLogging", 0); - - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_STATUSMSG) == EXTRA_IMAGE_STATUSMSG) - db_unset(hContact, MODULE, "EnableSMsgNotify"); - else - db_set_b(hContact, MODULE, "EnableSMsgNotify", 0); - - if (GetExtraImage(hList, hItem, EXTRA_IMAGE_SMSGLOGGING) == EXTRA_IMAGE_SMSGLOGGING) - db_unset(hContact, MODULE, "EnableSMsgLogging"); - else - db_set_b(hContact, MODULE, "EnableSMsgLogging", 0); - } + } + } + break; + case 0: + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { + HANDLE hItem = (HANDLE)SendMessage(hList, CLM_FINDCONTACT, hContact, 0); + if (hItem) { + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_SOUND) == EXTRA_IMAGE_SOUND) + db_unset(hContact, MODULE, "EnableSounds"); + else + db_set_b(hContact, MODULE, "EnableSounds", 0); + + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_POPUP) == EXTRA_IMAGE_POPUP) + db_unset(hContact, MODULE, "EnablePopups"); + else + db_set_b(hContact, MODULE, "EnablePopups", 0); + + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_XSTATUS) == EXTRA_IMAGE_XSTATUS) + db_unset(hContact, MODULE, "EnableXStatusNotify"); + else + db_set_b(hContact, MODULE, "EnableXStatusNotify", 0); + + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_XLOGGING) == EXTRA_IMAGE_XLOGGING) + db_unset(hContact, MODULE, "EnableXLogging"); + else + db_set_b(hContact, MODULE, "EnableXLogging", 0); + + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_STATUSMSG) == EXTRA_IMAGE_STATUSMSG) + db_unset(hContact, MODULE, "EnableSMsgNotify"); + else + db_set_b(hContact, MODULE, "EnableSMsgNotify", 0); + + if (GetExtraImage(hList, hItem, EXTRA_IMAGE_SMSGLOGGING) == EXTRA_IMAGE_SMSGLOGGING) + db_unset(hContact, MODULE, "EnableSMsgLogging"); + else + db_set_b(hContact, MODULE, "EnableSMsgLogging", 0); } - return TRUE; } + return TRUE; } } - break; + } + break; case WM_DESTROY: HIMAGELIST hImageList = (HIMAGELIST)SendDlgItemMessage(hwndDlg, IDC_INDSNDLIST, CLM_GETEXTRAIMAGELIST, 0, 0); diff --git a/plugins/NewXstatusNotify/src/indsnd.h b/plugins/NewXstatusNotify/src/indsnd.h index ea7d25fc9c..e3d0245e4a 100644 --- a/plugins/NewXstatusNotify/src/indsnd.h +++ b/plugins/NewXstatusNotify/src/indsnd.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef INDSND_H #define INDSND_H diff --git a/plugins/NewXstatusNotify/src/main.cpp b/plugins/NewXstatusNotify/src/main.cpp index d1adcb6c87..18d3ee05ef 100644 --- a/plugins/NewXstatusNotify/src/main.cpp +++ b/plugins/NewXstatusNotify/src/main.cpp @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" @@ -48,21 +48,21 @@ PLUGININFOEX pluginInfoEx = { __AUTHORWEB, UNICODE_AWARE, // EBF19652-E434-4D79-9897-91A0FF226F51 - {0xebf19652, 0xe434, 0x4d79, {0x98, 0x97, 0x91, 0xa0, 0xff, 0x22, 0x6f, 0x51}} + { 0xebf19652, 0xe434, 0x4d79, { 0x98, 0x97, 0x91, 0xa0, 0xff, 0x22, 0x6f, 0x51 } } }; -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD, LPVOID) { hInst = hinstDLL; return TRUE; } -extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) +extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD) { return &pluginInfoEx; } -extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = {MIID_USERONLINE, MIID_LAST}; +extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_USERONLINE, MIID_LAST }; BYTE GetGender(MCONTACT hContact) { @@ -108,7 +108,7 @@ static int __inline CheckStrW(WCHAR *str, int not_empty, int empty) static int CompareStatusMsg(STATUSMSGINFO *smi, DBCONTACTWRITESETTING *cws_new, char *szSetting) { DBVARIANT dbv_old; - int ret; + int ret = -1; switch (cws_new->value.type) { case DBVT_ASCIIZ: @@ -227,7 +227,7 @@ TCHAR *GetStr(STATUSMSGINFO *n, const TCHAR *tmplt) if (n->hContact == NULL) mir_tstrncpy(tmp, TranslateT(""), SIZEOF(tmp)); else - + mir_tstrncpy(tmp, StatusList[Index(db_get_w(n->hContact, n->proto, "Status", ID_STATUS_ONLINE))].lpzStandardText, SIZEOF(tmp)); break; @@ -278,7 +278,7 @@ void LogSMsgToDB(STATUSMSGINFO *smi, const TCHAR *tmplt) char *blob = mir_utf8encodeT(str); - DBEVENTINFO dbei = {0}; + DBEVENTINFO dbei = { 0 }; dbei.cbSize = sizeof(dbei); dbei.cbBlob = (DWORD)strlen(blob) + 1; dbei.pBlob = (PBYTE)blob; @@ -324,9 +324,9 @@ void GetStatusText(MCONTACT hContact, WORD newStatus, WORD oldStatus, TCHAR *stz } } -void BlinkIcon(MCONTACT hContact, char *szProto, HICON hIcon, TCHAR *stzText) +void BlinkIcon(MCONTACT hContact, HICON hIcon, TCHAR *stzText) { - CLISTEVENT cle = {0}; + CLISTEVENT cle = { 0 }; cle.cbSize = sizeof(cle); cle.flags = CLEF_ONLYAFEW | CLEF_TCHAR; cle.hContact = hContact; @@ -341,7 +341,7 @@ void PlayChangeSound(MCONTACT hContact, const char *name) { if (opt.UseIndSnd) { DBVARIANT dbv; - TCHAR stzSoundFile[MAX_PATH] = {0}; + TCHAR stzSoundFile[MAX_PATH] = { 0 }; if (!db_get_ts(hContact, MODULE, name, &dbv)) { _tcscpy(stzSoundFile, dbv.ptszVal); db_free(&dbv); @@ -440,7 +440,7 @@ int ContactStatusChanged(MCONTACT hContact, WORD oldStatus, WORD newStatus) if (bEnablePopup && db_get_b(hContact, MODULE, "EnablePopups", 1) && !opt.TempDisabled) { WORD myStatus = (WORD)CallProtoService(szProto, PS_GETSTATUS, 0, 0); - TCHAR str[MAX_SECONDLINE] = {0}; + TCHAR str[MAX_SECONDLINE] = { 0 }; if (opt.ShowStatus) { GetStatusText(hContact, newStatus, oldStatus, str); } @@ -453,7 +453,7 @@ int ContactStatusChanged(MCONTACT hContact, WORD oldStatus, WORD newStatus) pdp->newStatus = newStatus; pdp->hAwayMsgHook = NULL; pdp->hAwayMsgProcess = NULL; - ShowChangePopup(hContact, szProto, LoadSkinnedProtoIcon(szProto, newStatus), newStatus, str, pdp); + ShowChangePopup(hContact, LoadSkinnedProtoIcon(szProto, newStatus), newStatus, str, pdp); } if (opt.BlinkIcon && !opt.TempDisabled) { @@ -461,7 +461,7 @@ int ContactStatusChanged(MCONTACT hContact, WORD oldStatus, WORD newStatus) TCHAR str[256]; mir_sntprintf(str, SIZEOF(str), TranslateT("%s is now %s"), CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, GCDNF_TCHAR), StatusList[Index(newStatus)].lpzStandardText); - BlinkIcon(hContact, szProto, hIcon, str); + BlinkIcon(hContact, hIcon, str); } if (bEnableSound && db_get_b(0, "Skin", "UseSound", TRUE) && db_get_b(hContact, MODULE, "EnableSounds", 1) && !opt.TempDisabled) { @@ -474,8 +474,8 @@ int ContactStatusChanged(MCONTACT hContact, WORD oldStatus, WORD newStatus) if (opt.LogToFile) { TCHAR stzDate[MAX_STATUSTEXT], stzTime[MAX_STATUSTEXT], stzText[MAX_TEXT_LEN]; - GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("HH':'mm"), stzTime, SIZEOF(stzTime)); - GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); + GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("HH':'mm"), stzTime, SIZEOF(stzTime)); + GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); mir_sntprintf(stzText, SIZEOF(stzText), TranslateT("%s, %s. %s changed status to %s (was %s)\r\n"), stzDate, stzTime, CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, GCDNF_TCHAR), StatusList[Index(newStatus)].lpzStandardText, StatusList[Index(oldStatus)].lpzStandardText); @@ -587,7 +587,7 @@ int ProcessExtraStatus(DBCONTACTWRITESETTING *cws, MCONTACT hContact) } return 1; } - + if (strstr(cws->szSetting, "XStatus")) { if (strcmp(cws->szModule, szProto)) return 0; @@ -735,7 +735,7 @@ int ProcessStatusMessage(DBCONTACTWRITESETTING *cws, MCONTACT hContact) } } - ShowChangePopup(hContact, szProto, + ShowChangePopup(hContact, LoadSkinnedProtoIcon(szProto, db_get_w(hContact, szProto, "Status", ID_STATUS_ONLINE)), ID_STATUS_STATUSMSG, str); @@ -752,7 +752,7 @@ int ProcessStatusMessage(DBCONTACTWRITESETTING *cws, MCONTACT hContact) TCHAR str[256]; mir_sntprintf(str, SIZEOF(str), TranslateT("%s changed status message to %s"), CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, GCDNF_TCHAR), smi.newstatusmsg); - BlinkIcon(hContact, szProto, hIcon, str); + BlinkIcon(hContact, hIcon, str); } if (bEnableSound && db_get_b(0, "Skin", "UseSound", TRUE) && db_get_b(hContact, MODULE, "EnableSounds", 1) && !opt.TempDisabled) { @@ -769,8 +769,8 @@ int ProcessStatusMessage(DBCONTACTWRITESETTING *cws, MCONTACT hContact) if (opt.SMsgLogToFile && db_get_b(hContact, MODULE, "EnableSMsgLogging", 1)) { TCHAR stzDate[MAX_STATUSTEXT], stzTime[MAX_STATUSTEXT], stzText[MAX_TEXT_LEN]; - GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("HH':'mm"), stzTime, SIZEOF(stzTime)); - GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); + GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("HH':'mm"), stzTime, SIZEOF(stzTime)); + GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); TCHAR *str; if (smi.compare == COMPARE_DEL) @@ -1035,7 +1035,7 @@ void InitStatusList() mir_tstrncpy(StatusListEx[index].lpzSkinSoundDesc, LPGENT("Extra status message removed"), MAX_SKINSOUNDDESC); } -void CALLBACK ConnectionTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) +void CALLBACK ConnectionTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD) { if (uMsg == WM_TIMER) { KillTimer(hwnd, idEvent); @@ -1049,7 +1049,7 @@ void CALLBACK ConnectionTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD } } -int ProtoAck(WPARAM wParam, LPARAM lParam) +int ProtoAck(WPARAM, LPARAM lParam) { ACKDATA *ack = (ACKDATA *)lParam; @@ -1111,8 +1111,8 @@ void InitMainMenuItem() static IconItem iconList[] = { - { LPGEN("Notification enabled"), ICO_NOTIFICATION_OFF, IDI_NOTIFICATION_OFF }, - { LPGEN("Notification disabled"), ICO_NOTIFICATION_ON, IDI_NOTIFICATION_ON } + { LPGEN("Notification enabled"), ICO_NOTIFICATION_OFF, IDI_NOTIFICATION_OFF }, + { LPGEN("Notification disabled"), ICO_NOTIFICATION_ON, IDI_NOTIFICATION_ON } }; void InitIcolib() @@ -1199,7 +1199,7 @@ extern "C" int __declspec(dllexport) Load(void) db_set_resident("MetaContacts", "LastOnline"); db_set_resident("NewStatusNotify", "LastPopupText"); - + // register special type of event // there's no need to declare the special service for getting text // because a blob contains only text diff --git a/plugins/NewXstatusNotify/src/options.cpp b/plugins/NewXstatusNotify/src/options.cpp index 023813b890..7ef2e24e81 100644 --- a/plugins/NewXstatusNotify/src/options.cpp +++ b/plugins/NewXstatusNotify/src/options.cpp @@ -17,12 +17,12 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" -OPTIONS opt = {0}; -TEMPLATES templates = {0}; +OPTIONS opt = { 0 }; +TEMPLATES templates = { 0 }; BOOL UpdateListFlag = FALSE; LIST ProtoTemplates(10); int LastItem = 0; @@ -55,57 +55,57 @@ void LoadTemplates() void LoadOptions() { // IDD_OPT_POPUP - opt.Colors = db_get_b(0, MODULE, "Colors", DEFAULT_COLORS); - opt.ShowGroup = db_get_b(0, MODULE, "ShowGroup", 0); - opt.ShowStatus = db_get_b(0, MODULE, "ShowStatus", 1); - opt.UseAlternativeText = db_get_b(0, MODULE, "UseAlternativeText", 0); - opt.ShowPreviousStatus = db_get_b(0, MODULE, "ShowPreviousStatus", 0); - opt.ReadAwayMsg = db_get_b(0, MODULE, "ReadAwayMsg", 0); - opt.PopupTimeout = db_get_dw(0, MODULE, "PopupTimeout", 0); + opt.Colors = db_get_b(0, MODULE, "Colors", DEFAULT_COLORS); + opt.ShowGroup = db_get_b(0, MODULE, "ShowGroup", 0); + opt.ShowStatus = db_get_b(0, MODULE, "ShowStatus", 1); + opt.UseAlternativeText = db_get_b(0, MODULE, "UseAlternativeText", 0); + opt.ShowPreviousStatus = db_get_b(0, MODULE, "ShowPreviousStatus", 0); + opt.ReadAwayMsg = db_get_b(0, MODULE, "ReadAwayMsg", 0); + opt.PopupTimeout = db_get_dw(0, MODULE, "PopupTimeout", 0); opt.PopupConnectionTimeout = db_get_dw(0, MODULE, "PopupConnectionTimeout", 15); - opt.LeftClickAction = db_get_b(0, MODULE, "LeftClickAction", 5); - opt.RightClickAction = db_get_b(0, MODULE, "RightClickAction", 1); + opt.LeftClickAction = db_get_b(0, MODULE, "LeftClickAction", 5); + opt.RightClickAction = db_get_b(0, MODULE, "RightClickAction", 1); // IDD_OPT_XPOPUP - opt.PXOnConnect = db_get_b(0, MODULE, "PXOnConnect", 0); - opt.PXDisableForMusic = db_get_b(0, MODULE, "PXDisableForMusic", 1); - opt.PXMsgTruncate = db_get_b(0, MODULE, "PXMsgTruncate", 0); - opt.PXMsgLen = db_get_dw(0, MODULE, "PXMsgLen", 64); + opt.PXOnConnect = db_get_b(0, MODULE, "PXOnConnect", 0); + opt.PXDisableForMusic = db_get_b(0, MODULE, "PXDisableForMusic", 1); + opt.PXMsgTruncate = db_get_b(0, MODULE, "PXMsgTruncate", 0); + opt.PXMsgLen = db_get_dw(0, MODULE, "PXMsgLen", 64); // IDD_OPT_GENERAL - opt.FromOffline = db_get_b(0, MODULE, "FromOffline", 1); - opt.AutoDisable = db_get_b(0, MODULE, "AutoDisable", 0); - opt.HiddenContactsToo = db_get_b(0, MODULE, "HiddenContactsToo", 0); - opt.UseIndSnd = db_get_b(0, MODULE, "UseIndSounds", 1); - opt.BlinkIcon = db_get_b(0, MODULE, "BlinkIcon", 0); - opt.BlinkIcon_Status = db_get_b(0, MODULE, "BlinkIcon_Status", 0); - opt.BlinkIcon_ForMsgs = db_get_b(0, MODULE, "BlinkIcon_ForMsgs", 0); + opt.FromOffline = db_get_b(0, MODULE, "FromOffline", 1); + opt.AutoDisable = db_get_b(0, MODULE, "AutoDisable", 0); + opt.HiddenContactsToo = db_get_b(0, MODULE, "HiddenContactsToo", 0); + opt.UseIndSnd = db_get_b(0, MODULE, "UseIndSounds", 1); + opt.BlinkIcon = db_get_b(0, MODULE, "BlinkIcon", 0); + opt.BlinkIcon_Status = db_get_b(0, MODULE, "BlinkIcon_Status", 0); + opt.BlinkIcon_ForMsgs = db_get_b(0, MODULE, "BlinkIcon_ForMsgs", 0); DBGetStringDefault(0, MODULE, "LogFilePath", opt.LogFilePath, MAX_PATH, _T("")); // IDD_AUTODISABLE - opt.OnlyGlobalChanges = db_get_b(0, MODULE, "OnlyGlobalChanges", 0); + opt.OnlyGlobalChanges = db_get_b(0, MODULE, "OnlyGlobalChanges", 0); opt.DisablePopupGlobally = db_get_b(0, MODULE, "DisablePopupGlobally", 0); opt.DisableSoundGlobally = db_get_b(0, MODULE, "DisableSoundGlobally", 0); // IDD_OPT_LOG - opt.LogToFile = db_get_b(0, MODULE, "LogToFile", 0); - opt.LogToDB = db_get_b(0, MODULE, "LogToDB", 0); - opt.LogToDB_WinOpen = db_get_b(0, MODULE, "LogToDB_WinOpen", 1); - opt.LogToDB_Remove = db_get_b(0, MODULE, "LogToDB_Remove", 0); - opt.LogPrevious = db_get_b(0, MODULE, "LogToPrevious", 0); - opt.SMsgLogToFile = db_get_b(0, MODULE, "SMsgLogToFile", 0); - opt.SMsgLogToDB = db_get_b(0, MODULE, "SMsgLogToDB", 0); - opt.SMsgLogToDB_WinOpen = db_get_b(0, MODULE, "SMsgLogToDB_WinOpen", 1); - opt.SMsgLogToDB_Remove = db_get_b(0, MODULE, "SMsgLogToDB_Remove", 0); + opt.LogToFile = db_get_b(0, MODULE, "LogToFile", 0); + opt.LogToDB = db_get_b(0, MODULE, "LogToDB", 0); + opt.LogToDB_WinOpen = db_get_b(0, MODULE, "LogToDB_WinOpen", 1); + opt.LogToDB_Remove = db_get_b(0, MODULE, "LogToDB_Remove", 0); + opt.LogPrevious = db_get_b(0, MODULE, "LogToPrevious", 0); + opt.SMsgLogToFile = db_get_b(0, MODULE, "SMsgLogToFile", 0); + opt.SMsgLogToDB = db_get_b(0, MODULE, "SMsgLogToDB", 0); + opt.SMsgLogToDB_WinOpen = db_get_b(0, MODULE, "SMsgLogToDB_WinOpen", 1); + opt.SMsgLogToDB_Remove = db_get_b(0, MODULE, "SMsgLogToDB_Remove", 0); // IDD_OPT_XLOG - opt.XLogToFile = db_get_b(0, MODULE, "XLogToFile", 0); - opt.XLogToDB = db_get_b(0, MODULE, "XLogToDB", 0); - opt.XLogToDB_WinOpen = db_get_b(0, MODULE, "XLogToDB_WinOpen", 1); - opt.XLogToDB_Remove = db_get_b(0, MODULE, "XLogToDB_Remove", 0); - opt.XLogDisableForMusic = db_get_b(0, MODULE, "XLogDisableForMusic", 1); + opt.XLogToFile = db_get_b(0, MODULE, "XLogToFile", 0); + opt.XLogToDB = db_get_b(0, MODULE, "XLogToDB", 0); + opt.XLogToDB_WinOpen = db_get_b(0, MODULE, "XLogToDB_WinOpen", 1); + opt.XLogToDB_Remove = db_get_b(0, MODULE, "XLogToDB_Remove", 0); + opt.XLogDisableForMusic = db_get_b(0, MODULE, "XLogDisableForMusic", 1); // IDD_OPT_SMPOPUP - opt.PSMsgOnConnect = db_get_b(0, MODULE, "PSMsgOnConnect", 0); - opt.PSMsgTruncate = db_get_b(0, MODULE, "PSMsgTruncate", 0); - opt.PSMsgLen = db_get_dw(0, MODULE, "PSMsgLen", 64); + opt.PSMsgOnConnect = db_get_b(0, MODULE, "PSMsgOnConnect", 0); + opt.PSMsgTruncate = db_get_b(0, MODULE, "PSMsgTruncate", 0); + opt.PSMsgLen = db_get_dw(0, MODULE, "PSMsgLen", 64); // OTHER - opt.TempDisabled = db_get_b(0, MODULE, "TempDisable", 0); - opt.EnableLastSeen = db_get_b(0, MODULE, "EnableLastSeen", 0); + opt.TempDisabled = db_get_b(0, MODULE, "TempDisable", 0); + opt.EnableLastSeen = db_get_b(0, MODULE, "EnableLastSeen", 0); LoadTemplates(); } @@ -199,104 +199,104 @@ INT_PTR CALLBACK DlgProcGeneralOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA { switch (msg) { - case WM_INITDIALOG: - TranslateDialogDefault(hwndDlg); + case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); - CheckDlgButton(hwndDlg, IDC_AUTODISABLE, opt.AutoDisable ? BST_CHECKED : BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIGUREAUTODISABLE), opt.AutoDisable); + CheckDlgButton(hwndDlg, IDC_AUTODISABLE, opt.AutoDisable ? BST_CHECKED : BST_UNCHECKED); + EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIGUREAUTODISABLE), opt.AutoDisable); - CheckDlgButton(hwndDlg, IDC_HIDDENCONTACTSTOO, opt.HiddenContactsToo ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_USEINDIVSOUNDS, opt.UseIndSnd ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_BLINKICON, opt.BlinkIcon ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_BLINKICON_STATUS, opt.BlinkIcon_Status ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_BLINKICON_FORMSGS, opt.BlinkIcon_ForMsgs ? BST_CHECKED : BST_UNCHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_STATUS), opt.BlinkIcon); - EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_FORMSGS), opt.BlinkIcon); + CheckDlgButton(hwndDlg, IDC_HIDDENCONTACTSTOO, opt.HiddenContactsToo ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_USEINDIVSOUNDS, opt.UseIndSnd ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_BLINKICON, opt.BlinkIcon ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_BLINKICON_STATUS, opt.BlinkIcon_Status ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_BLINKICON_FORMSGS, opt.BlinkIcon_ForMsgs ? BST_CHECKED : BST_UNCHECKED); + EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_STATUS), opt.BlinkIcon); + EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_FORMSGS), opt.BlinkIcon); - SetDlgItemText(hwndDlg, IDC_LOGFILE, opt.LogFilePath); + SetDlgItemText(hwndDlg, IDC_LOGFILE, opt.LogFilePath); - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { - //Statuses notified - char status[8]; - mir_snprintf(status, SIZEOF(status), "%d", i); - CheckDlgButton(hwndDlg, i, db_get_b(0, MODULE, status, 1) ? BST_CHECKED : BST_UNCHECKED); - } - CheckDlgButton(hwndDlg, IDC_CHK_FROMOFFLINE, opt.FromOffline ? BST_CHECKED : BST_UNCHECKED); + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { + //Statuses notified + char status[8]; + mir_snprintf(status, SIZEOF(status), "%d", i); + CheckDlgButton(hwndDlg, i, db_get_b(0, MODULE, status, 1) ? BST_CHECKED : BST_UNCHECKED); + } + CheckDlgButton(hwndDlg, IDC_CHK_FROMOFFLINE, opt.FromOffline ? BST_CHECKED : BST_UNCHECKED); - return TRUE; - case WM_COMMAND: + return TRUE; + case WM_COMMAND: + { + switch (LOWORD(wParam)) { - switch (LOWORD(wParam)) - { - case IDC_CONFIGUREAUTODISABLE: - CreateDialog(hInst, MAKEINTRESOURCE(IDD_AUTODISABLE), hwndDlg, DlgProcAutoDisableOpts); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - return FALSE; - case IDC_AUTODISABLE: - EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIGUREAUTODISABLE), IsDlgButtonChecked(hwndDlg, IDC_AUTODISABLE)); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case IDC_BLINKICON: - EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_STATUS), IsDlgButtonChecked(hwndDlg, IDC_BLINKICON)); - EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_FORMSGS), IsDlgButtonChecked(hwndDlg, IDC_BLINKICON)); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case IDC_BT_VIEWLOG: - ShowLog(opt.LogFilePath); - break; - case IDC_BT_CHOOSELOGFILE: - { - TCHAR buff[MAX_PATH]; - OPENFILENAME ofn = {0}; - - GetDlgItemText(hwndDlg, IDC_LOGFILE, buff, SIZEOF(buff)); - - ofn.lStructSize = sizeof(OPENFILENAME); - ofn.lpstrFile = buff; - ofn.nMaxFile = MAX_PATH; - ofn.hwndOwner = hwndDlg; - TCHAR filter[MAX_PATH]; - mir_sntprintf(filter, SIZEOF(filter), _T("%s (*.*)%c*.*%c%s (*.log)%c*.log%c%s (*.txt)%c*.txt%c"), TranslateT("All Files"), 0, 0, TranslateT("Log"), 0, 0, TranslateT("Text"), 0, 0); - ofn.lpstrFilter = filter; - ofn.nFilterIndex = 2; - ofn.lpstrInitialDir = buff; - ofn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY; - ofn.lpstrDefExt = _T("log"); - if (GetSaveFileName(&ofn)) { - SetDlgItemText(hwndDlg, IDC_LOGFILE, buff); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - break; - } - default: - if (HIWORD(wParam) == BN_CLICKED || (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus())) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + case IDC_CONFIGUREAUTODISABLE: + CreateDialog(hInst, MAKEINTRESOURCE(IDD_AUTODISABLE), hwndDlg, DlgProcAutoDisableOpts); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + return FALSE; + case IDC_AUTODISABLE: + EnableWindow(GetDlgItem(hwndDlg, IDC_CONFIGUREAUTODISABLE), IsDlgButtonChecked(hwndDlg, IDC_AUTODISABLE)); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + case IDC_BLINKICON: + EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_STATUS), IsDlgButtonChecked(hwndDlg, IDC_BLINKICON)); + EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKICON_FORMSGS), IsDlgButtonChecked(hwndDlg, IDC_BLINKICON)); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + case IDC_BT_VIEWLOG: + ShowLog(opt.LogFilePath); + break; + case IDC_BT_CHOOSELOGFILE: + { + TCHAR buff[MAX_PATH]; + OPENFILENAME ofn = { 0 }; + + GetDlgItemText(hwndDlg, IDC_LOGFILE, buff, SIZEOF(buff)); + + ofn.lStructSize = sizeof(OPENFILENAME); + ofn.lpstrFile = buff; + ofn.nMaxFile = MAX_PATH; + ofn.hwndOwner = hwndDlg; + TCHAR filter[MAX_PATH]; + mir_sntprintf(filter, SIZEOF(filter), _T("%s (*.*)%c*.*%c%s (*.log)%c*.log%c%s (*.txt)%c*.txt%c"), TranslateT("All Files"), 0, 0, TranslateT("Log"), 0, 0, TranslateT("Text"), 0, 0); + ofn.lpstrFilter = filter; + ofn.nFilterIndex = 2; + ofn.lpstrInitialDir = buff; + ofn.Flags = OFN_PATHMUSTEXIST | OFN_HIDEREADONLY; + ofn.lpstrDefExt = _T("log"); + if (GetSaveFileName(&ofn)) { + SetDlgItemText(hwndDlg, IDC_LOGFILE, buff); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } - break; } - case WM_NOTIFY: - if (((LPNMHDR)lParam)->code == PSN_APPLY) { - opt.AutoDisable = IsDlgButtonChecked(hwndDlg, IDC_AUTODISABLE); - opt.BlinkIcon = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON); - opt.BlinkIcon_Status = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON_STATUS); - opt.BlinkIcon_ForMsgs = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON_FORMSGS); - opt.HiddenContactsToo = IsDlgButtonChecked(hwndDlg, IDC_HIDDENCONTACTSTOO); - opt.UseIndSnd = IsDlgButtonChecked(hwndDlg, IDC_USEINDIVSOUNDS); - - GetDlgItemText(hwndDlg, IDC_LOGFILE, opt.LogFilePath, SIZEOF(opt.LogFilePath)); - - //Notified statuses - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { - char status[8]; - mir_snprintf(status, SIZEOF(status), "%d", i); - db_set_b(NULL, MODULE, status, (BYTE)IsDlgButtonChecked(hwndDlg, i)); - } - opt.FromOffline = IsDlgButtonChecked(hwndDlg, IDC_CHK_FROMOFFLINE); + default: + if (HIWORD(wParam) == BN_CLICKED || (HIWORD(wParam) == EN_CHANGE && (HWND)lParam == GetFocus())) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } - SaveOptions(); - return TRUE; + break; + } + case WM_NOTIFY: + if (((LPNMHDR)lParam)->code == PSN_APPLY) { + opt.AutoDisable = IsDlgButtonChecked(hwndDlg, IDC_AUTODISABLE); + opt.BlinkIcon = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON); + opt.BlinkIcon_Status = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON_STATUS); + opt.BlinkIcon_ForMsgs = IsDlgButtonChecked(hwndDlg, IDC_BLINKICON_FORMSGS); + opt.HiddenContactsToo = IsDlgButtonChecked(hwndDlg, IDC_HIDDENCONTACTSTOO); + opt.UseIndSnd = IsDlgButtonChecked(hwndDlg, IDC_USEINDIVSOUNDS); + + GetDlgItemText(hwndDlg, IDC_LOGFILE, opt.LogFilePath, SIZEOF(opt.LogFilePath)); + + //Notified statuses + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { + char status[8]; + mir_snprintf(status, SIZEOF(status), "%d", i); + db_set_b(NULL, MODULE, status, (BYTE)IsDlgButtonChecked(hwndDlg, i)); } + opt.FromOffline = IsDlgButtonChecked(hwndDlg, IDC_CHK_FROMOFFLINE); + + SaveOptions(); + return TRUE; + } } return FALSE; @@ -306,169 +306,169 @@ INT_PTR CALLBACK DlgProcPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM { switch (msg) { - case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); + case WM_INITDIALOG: + { + TranslateDialogDefault(hwndDlg); - CheckDlgButton(hwndDlg, IDC_USEOWNCOLORS, (opt.Colors == POPUP_COLOR_OWN) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_USEPOPUPCOLORS, (opt.Colors == POPUP_COLOR_POPUP) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_USEWINCOLORS, (opt.Colors == POPUP_COLOR_WINDOWS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_USEOWNCOLORS, (opt.Colors == POPUP_COLOR_OWN) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_USEPOPUPCOLORS, (opt.Colors == POPUP_COLOR_POPUP) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_USEWINCOLORS, (opt.Colors == POPUP_COLOR_WINDOWS) ? BST_CHECKED : BST_UNCHECKED); - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { - SendDlgItemMessage(hwndDlg, (i + 2000), CPM_SETCOLOUR, 0, StatusList[Index(i)].colorBack); - SendDlgItemMessage(hwndDlg, (i + 1000), CPM_SETCOLOUR, 0, StatusList[Index(i)].colorText); - EnableWindow(GetDlgItem(hwndDlg, (i + 2000)), (opt.Colors == POPUP_COLOR_OWN)); - EnableWindow(GetDlgItem(hwndDlg, (i + 1000)), (opt.Colors == POPUP_COLOR_OWN)); - } + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { + SendDlgItemMessage(hwndDlg, (i + 2000), CPM_SETCOLOUR, 0, StatusList[Index(i)].colorBack); + SendDlgItemMessage(hwndDlg, (i + 1000), CPM_SETCOLOUR, 0, StatusList[Index(i)].colorText); + EnableWindow(GetDlgItem(hwndDlg, (i + 2000)), (opt.Colors == POPUP_COLOR_OWN)); + EnableWindow(GetDlgItem(hwndDlg, (i + 1000)), (opt.Colors == POPUP_COLOR_OWN)); + } - CheckDlgButton(hwndDlg, IDC_SHOWSTATUS, opt.ShowStatus ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWALTDESCS, opt.UseAlternativeText ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_READAWAYMSG, opt.ReadAwayMsg ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWPREVIOUSSTATUS, opt.ShowPreviousStatus ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWGROUP, opt.ShowGroup ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWSTATUS, opt.ShowStatus ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWALTDESCS, opt.UseAlternativeText ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_READAWAYMSG, opt.ReadAwayMsg ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWPREVIOUSSTATUS, opt.ShowPreviousStatus ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWGROUP, opt.ShowGroup ? BST_CHECKED : BST_UNCHECKED); - SendDlgItemMessage(hwndDlg, IDC_TIMEOUT_VALUE, EM_LIMITTEXT, 3, 0); - SendDlgItemMessage(hwndDlg, IDC_TIMEOUT_VALUE_SPIN, UDM_SETRANGE32, -1, 999); - SetDlgItemInt(hwndDlg, IDC_TIMEOUT_VALUE, opt.PopupTimeout, TRUE); + SendDlgItemMessage(hwndDlg, IDC_TIMEOUT_VALUE, EM_LIMITTEXT, 3, 0); + SendDlgItemMessage(hwndDlg, IDC_TIMEOUT_VALUE_SPIN, UDM_SETRANGE32, -1, 999); + SetDlgItemInt(hwndDlg, IDC_TIMEOUT_VALUE, opt.PopupTimeout, TRUE); - SendDlgItemMessage(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, EM_LIMITTEXT, 3, 0); - SendDlgItemMessage(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE_SPIN, UDM_SETRANGE32, 0, 999); - SetDlgItemInt(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, opt.PopupConnectionTimeout, TRUE); + SendDlgItemMessage(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, EM_LIMITTEXT, 3, 0); + SendDlgItemMessage(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE_SPIN, UDM_SETRANGE32, 0, 999); + SetDlgItemInt(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, opt.PopupConnectionTimeout, TRUE); - //Mouse actions - for (int i = 0; i < SIZEOF(PopupActions); i++) { - SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_SETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_ADDSTRING, 0, (LPARAM)TranslateTS(PopupActions[i].Text)), PopupActions[i].Action); - SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_SETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_ADDSTRING, 0, (LPARAM)TranslateTS(PopupActions[i].Text)), PopupActions[i].Action); - } + //Mouse actions + for (int i = 0; i < SIZEOF(PopupActions); i++) { + SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_SETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_ADDSTRING, 0, (LPARAM)TranslateTS(PopupActions[i].Text)), PopupActions[i].Action); + SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_SETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_ADDSTRING, 0, (LPARAM)TranslateTS(PopupActions[i].Text)), PopupActions[i].Action); + } - SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_SETCURSEL, opt.LeftClickAction, 0); - SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_SETCURSEL, opt.RightClickAction, 0); + SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_SETCURSEL, opt.LeftClickAction, 0); + SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_SETCURSEL, opt.RightClickAction, 0); - SendMessage(hwndDlg, WM_USER + 1, (WPARAM)opt.ShowStatus, 0); + SendMessage(hwndDlg, WM_USER + 1, (WPARAM)opt.ShowStatus, 0); - return TRUE; + return TRUE; + } + case WM_COMMAND: + { + WORD idCtrl = LOWORD(wParam); + if (HIWORD(wParam) == CPN_COLOURCHANGED) { + if (idCtrl > 40070) { + COLORREF colour = SendDlgItemMessage(hwndDlg, idCtrl, CPM_GETCOLOUR, 0, 0); + if ((idCtrl > 41070) && (idCtrl < 42070)) //Text colour + StatusList[Index(idCtrl - 1000)].colorText = colour; + else //Background colour + StatusList[Index(idCtrl - 2000)].colorBack = colour; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + return TRUE; + } } - case WM_COMMAND: - { - WORD idCtrl = LOWORD(wParam); - if (HIWORD(wParam) == CPN_COLOURCHANGED) { - if (idCtrl > 40070) { - COLORREF colour = SendDlgItemMessage(hwndDlg, idCtrl, CPM_GETCOLOUR, 0, 0); - if ((idCtrl > 41070) && (idCtrl < 42070)) //Text colour - StatusList[Index(idCtrl - 1000)].colorText = colour; - else //Background colour - StatusList[Index(idCtrl - 2000)].colorBack = colour; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - return TRUE; + + if (HIWORD(wParam) == BN_CLICKED) { + switch (idCtrl) + { + case IDC_USEOWNCOLORS: + case IDC_USEWINCOLORS: + case IDC_USEPOPUPCOLORS: + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { + EnableWindow(GetDlgItem(hwndDlg, (i + 2000)), idCtrl == IDC_USEOWNCOLORS); //Background + EnableWindow(GetDlgItem(hwndDlg, (i + 1000)), idCtrl == IDC_USEOWNCOLORS); //Text } - } + break; + case IDC_SHOWSTATUS: + SendMessage(hwndDlg, WM_USER + 1, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUS), 0); + break; + case IDC_PREVIEW: + { + TCHAR str[MAX_SECONDLINE] = { 0 }; + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX; i++) { + _tcsncpy(str, _T(""), MAX_SECONDLINE); - if (HIWORD(wParam) == BN_CLICKED) { - switch (idCtrl) - { - case IDC_USEOWNCOLORS: - case IDC_USEWINCOLORS: - case IDC_USEPOPUPCOLORS: - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { - EnableWindow(GetDlgItem(hwndDlg, (i + 2000)), idCtrl == IDC_USEOWNCOLORS); //Background - EnableWindow(GetDlgItem(hwndDlg, (i + 1000)), idCtrl == IDC_USEOWNCOLORS); //Text - } - break; - case IDC_SHOWSTATUS: - SendMessage(hwndDlg, WM_USER + 1, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUS), 0); - break; - case IDC_PREVIEW: - { - TCHAR str[MAX_SECONDLINE] = {0}; - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX; i++) { - _tcsncpy(str, _T(""), MAX_SECONDLINE); - - if (opt.ShowStatus) { - if (opt.UseAlternativeText == 1) - _tcsncpy(str, StatusList[Index(i)].lpzUStatusText, MAX_SECONDLINE); - else - _tcsncpy(str, StatusList[Index(i)].lpzStandardText, MAX_SECONDLINE); - - if (opt.ShowPreviousStatus) { - TCHAR buff[MAX_STATUSTEXT]; - mir_sntprintf(buff, SIZEOF(buff), TranslateTS(STRING_SHOWPREVIOUSSTATUS), StatusList[Index(i)].lpzStandardText); - mir_sntprintf(str, SIZEOF(str), _T("%s %s"), str, buff); - } - } - - if (opt.ReadAwayMsg) { - if (str[0]) - _tcscat(str, _T("\n")); - _tcsncat(str, TranslateT("This is status message"), MAX_SECONDLINE); - } - - ShowChangePopup(NULL, NULL, LoadSkinnedProtoIcon(NULL, i), i, str); + if (opt.ShowStatus) { + if (opt.UseAlternativeText == 1) + _tcsncpy(str, StatusList[Index(i)].lpzUStatusText, MAX_SECONDLINE); + else + _tcsncpy(str, StatusList[Index(i)].lpzStandardText, MAX_SECONDLINE); + + if (opt.ShowPreviousStatus) { + TCHAR buff[MAX_STATUSTEXT]; + mir_sntprintf(buff, SIZEOF(buff), TranslateTS(STRING_SHOWPREVIOUSSTATUS), StatusList[Index(i)].lpzStandardText); + mir_sntprintf(str, SIZEOF(str), _T("%s %s"), str, buff); } - _tcsncpy(str, TranslateT("This is extra status"), MAX_SECONDLINE); - ShowChangePopup(NULL, NULL, LoadSkinnedProtoIcon(NULL, ID_STATUS_ONLINE), ID_STATUS_EXTRASTATUS, str); - _tcsncpy(str, TranslateT("This is status message"), MAX_SECONDLINE); - ShowChangePopup(NULL, NULL, LoadSkinnedProtoIcon(NULL, ID_STATUS_ONLINE), ID_STATUS_STATUSMSG, str); + } - return FALSE; + if (opt.ReadAwayMsg) { + if (str[0]) + _tcscat(str, _T("\n")); + _tcsncat(str, TranslateT("This is status message"), MAX_SECONDLINE); } - } - } - if ((HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == EN_CHANGE) && (HWND)lParam == GetFocus()) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + ShowChangePopup(NULL, LoadSkinnedProtoIcon(NULL, i), i, str); + } + _tcsncpy(str, TranslateT("This is extra status"), MAX_SECONDLINE); + ShowChangePopup(NULL, LoadSkinnedProtoIcon(NULL, ID_STATUS_ONLINE), ID_STATUS_EXTRASTATUS, str); + _tcsncpy(str, TranslateT("This is status message"), MAX_SECONDLINE); + ShowChangePopup(NULL, LoadSkinnedProtoIcon(NULL, ID_STATUS_ONLINE), ID_STATUS_STATUSMSG, str); - break; + return FALSE; + } + } } - case WM_NOTIFY: - { - if (((LPNMHDR)lParam)->code == PSN_APPLY) { - char str[8]; - DWORD ctlColour = 0; - for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { - ctlColour = SendDlgItemMessage(hwndDlg, (i + 2000), CPM_GETCOLOUR, 0, 0); - StatusList[Index(i)].colorBack = SendDlgItemMessage(hwndDlg, (i + 2000), CPM_GETCOLOUR, 0, 0); - mir_snprintf(str, SIZEOF(str), "%ibg", i); - db_set_dw(0, MODULE, str, ctlColour); - - ctlColour = SendDlgItemMessage(hwndDlg, (i + 1000), CPM_GETCOLOUR, 0, 0); - StatusList[Index(i)].colorText = ctlColour; - mir_snprintf(str, SIZEOF(str), "%itx", i); - db_set_dw(0, MODULE, str, ctlColour); - } - if (IsDlgButtonChecked(hwndDlg, IDC_USEOWNCOLORS)) - opt.Colors = POPUP_COLOR_OWN; - else if (IsDlgButtonChecked(hwndDlg, IDC_USEPOPUPCOLORS)) - opt.Colors = POPUP_COLOR_POPUP; - else - opt.Colors = POPUP_COLOR_WINDOWS; - - opt.ShowStatus = IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUS); - opt.UseAlternativeText = IsDlgButtonChecked(hwndDlg, IDC_SHOWALTDESCS); - opt.ReadAwayMsg = IsDlgButtonChecked(hwndDlg, IDC_READAWAYMSG); - opt.ShowPreviousStatus = IsDlgButtonChecked(hwndDlg, IDC_SHOWPREVIOUSSTATUS); - opt.ShowGroup = IsDlgButtonChecked(hwndDlg, IDC_SHOWGROUP); - opt.PopupTimeout = GetDlgItemInt(hwndDlg, IDC_TIMEOUT_VALUE, 0, TRUE); - opt.PopupConnectionTimeout = GetDlgItemInt(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, 0, TRUE); - opt.LeftClickAction = (BYTE)SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_GETCURSEL, 0, 0); - opt.RightClickAction = (BYTE)SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_GETCURSEL, 0, 0); - - SaveOptions(); - return TRUE; + if ((HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == EN_CHANGE) && (HWND)lParam == GetFocus()) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + + break; + } + case WM_NOTIFY: + { + if (((LPNMHDR)lParam)->code == PSN_APPLY) { + char str[8]; + DWORD ctlColour = 0; + for (int i = ID_STATUS_MIN; i <= ID_STATUS_MAX2; i++) { + ctlColour = SendDlgItemMessage(hwndDlg, (i + 2000), CPM_GETCOLOUR, 0, 0); + StatusList[Index(i)].colorBack = SendDlgItemMessage(hwndDlg, (i + 2000), CPM_GETCOLOUR, 0, 0); + mir_snprintf(str, SIZEOF(str), "%ibg", i); + db_set_dw(0, MODULE, str, ctlColour); + + ctlColour = SendDlgItemMessage(hwndDlg, (i + 1000), CPM_GETCOLOUR, 0, 0); + StatusList[Index(i)].colorText = ctlColour; + mir_snprintf(str, SIZEOF(str), "%itx", i); + db_set_dw(0, MODULE, str, ctlColour); } - break; - } - case WM_USER + 1: - EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWALTDESCS), wParam); - EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWPREVIOUSSTATUS), wParam); + if (IsDlgButtonChecked(hwndDlg, IDC_USEOWNCOLORS)) + opt.Colors = POPUP_COLOR_OWN; + else if (IsDlgButtonChecked(hwndDlg, IDC_USEPOPUPCOLORS)) + opt.Colors = POPUP_COLOR_POPUP; + else + opt.Colors = POPUP_COLOR_WINDOWS; + + opt.ShowStatus = IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUS); + opt.UseAlternativeText = IsDlgButtonChecked(hwndDlg, IDC_SHOWALTDESCS); + opt.ReadAwayMsg = IsDlgButtonChecked(hwndDlg, IDC_READAWAYMSG); + opt.ShowPreviousStatus = IsDlgButtonChecked(hwndDlg, IDC_SHOWPREVIOUSSTATUS); + opt.ShowGroup = IsDlgButtonChecked(hwndDlg, IDC_SHOWGROUP); + opt.PopupTimeout = GetDlgItemInt(hwndDlg, IDC_TIMEOUT_VALUE, 0, TRUE); + opt.PopupConnectionTimeout = GetDlgItemInt(hwndDlg, IDC_CONNECTIONTIMEOUT_VALUE, 0, TRUE); + opt.LeftClickAction = (BYTE)SendDlgItemMessage(hwndDlg, IDC_STATUS_LC, CB_GETCURSEL, 0, 0); + opt.RightClickAction = (BYTE)SendDlgItemMessage(hwndDlg, IDC_STATUS_RC, CB_GETCURSEL, 0, 0); + + SaveOptions(); return TRUE; + } + + break; + } + case WM_USER + 1: + EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWALTDESCS), wParam); + EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWPREVIOUSSTATUS), wParam); + return TRUE; } return FALSE; } -INT_PTR CALLBACK DlgProcAutoDisableOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK DlgProcAutoDisableOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM) { switch (msg) { case WM_INITDIALOG: @@ -528,119 +528,119 @@ INT_PTR CALLBACK DlgProcXPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM { switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - SendDlgItemMessage(hwndDlg, IDC_ED_MSGLEN, EM_LIMITTEXT, 3, 0); - SendDlgItemMessage(hwndDlg, IDC_UD_MSGLEN, UDM_SETRANGE, 0, MAKELONG(999, 1)); - - CheckDlgButton(hwndDlg, IDC_XONCONNECT, opt.PXOnConnect ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_DISABLEMUSIC, opt.PXDisableForMusic ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_CUTMSG, opt.PXMsgTruncate ? BST_CHECKED : BST_UNCHECKED); - SetDlgItemInt(hwndDlg, IDC_ED_MSGLEN, opt.PXMsgLen, FALSE); + { + TranslateDialogDefault(hwndDlg); - // Templates - CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSCHANGE, templates.PopupXFlags & NOTIFY_NEW_XSTATUS ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_MSGCHANGE, templates.PopupXFlags & NOTIFY_NEW_MESSAGE ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_REMOVE, templates.PopupXFlags & NOTIFY_REMOVE_XSTATUS ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_MSGREMOVE, templates.PopupXFlags & NOTIFY_REMOVE_MESSAGE ? BST_CHECKED : BST_UNCHECKED); - - SetDlgItemText(hwndDlg, IDC_ED_TCHANGE, templates.PopupXstatusChanged); - SetDlgItemText(hwndDlg, IDC_ED_TREMOVE, templates.PopupXstatusRemoved); - SetDlgItemText(hwndDlg, IDC_ED_TCHANGEMSG, templates.PopupXMsgChanged); - SetDlgItemText(hwndDlg, IDC_ED_TREMOVEMSG, templates.PopupXMsgRemoved); - - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGE), templates.PopupXFlags & NOTIFY_NEW_XSTATUS); - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGEMSG), templates.PopupXFlags & NOTIFY_NEW_MESSAGE); - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVE), templates.PopupXFlags & NOTIFY_REMOVE_XSTATUS); - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVEMSG), templates.PopupXFlags & NOTIFY_REMOVE_MESSAGE); - - // Buttons - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Show available variables"), BATF_TCHAR); - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Reset all templates to default"), BATF_TCHAR); - hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); + SendDlgItemMessage(hwndDlg, IDC_ED_MSGLEN, EM_LIMITTEXT, 3, 0); + SendDlgItemMessage(hwndDlg, IDC_UD_MSGLEN, UDM_SETRANGE, 0, MAKELONG(999, 1)); + + CheckDlgButton(hwndDlg, IDC_XONCONNECT, opt.PXOnConnect ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_DISABLEMUSIC, opt.PXDisableForMusic ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_CUTMSG, opt.PXMsgTruncate ? BST_CHECKED : BST_UNCHECKED); + SetDlgItemInt(hwndDlg, IDC_ED_MSGLEN, opt.PXMsgLen, FALSE); + + // Templates + CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSCHANGE, templates.PopupXFlags & NOTIFY_NEW_XSTATUS ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_MSGCHANGE, templates.PopupXFlags & NOTIFY_NEW_MESSAGE ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_REMOVE, templates.PopupXFlags & NOTIFY_REMOVE_XSTATUS ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_MSGREMOVE, templates.PopupXFlags & NOTIFY_REMOVE_MESSAGE ? BST_CHECKED : BST_UNCHECKED); + + SetDlgItemText(hwndDlg, IDC_ED_TCHANGE, templates.PopupXstatusChanged); + SetDlgItemText(hwndDlg, IDC_ED_TREMOVE, templates.PopupXstatusRemoved); + SetDlgItemText(hwndDlg, IDC_ED_TCHANGEMSG, templates.PopupXMsgChanged); + SetDlgItemText(hwndDlg, IDC_ED_TREMOVEMSG, templates.PopupXMsgRemoved); + + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGE), templates.PopupXFlags & NOTIFY_NEW_XSTATUS); + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGEMSG), templates.PopupXFlags & NOTIFY_NEW_MESSAGE); + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVE), templates.PopupXFlags & NOTIFY_REMOVE_XSTATUS); + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVEMSG), templates.PopupXFlags & NOTIFY_REMOVE_MESSAGE); + + // Buttons + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Show available variables"), BATF_TCHAR); + HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Reset all templates to default"), BATF_TCHAR); + hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); - return TRUE; - } + return TRUE; + } case WM_COMMAND: - { - switch (HIWORD(wParam)) { - case BN_CLICKED: - switch (LOWORD(wParam)) { - case IDC_CHK_CUTMSG: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_MSGLEN), IsDlgButtonChecked(hwndDlg, IDC_CHK_CUTMSG)); - break; - case IDC_CHK_XSTATUSCHANGE: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGE), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGE)); - break; - case IDC_CHK_REMOVE: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVE), IsDlgButtonChecked(hwndDlg, IDC_CHK_REMOVE)); - break; - case IDC_CHK_MSGCHANGE: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGEMSG), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGE)); - break; - case IDC_CHK_MSGREMOVE: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVEMSG), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVE)); - break; - case IDC_BT_VARIABLES: - MessageBox(hwndDlg, VARIABLES_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); - break; - case IDC_BT_RESET: - if (MessageBox(hwndDlg, - TranslateT("Do you want to reset all templates to default?"), - TranslateT("Reset templates"), - MB_ICONQUESTION | MB_YESNO) == IDYES) - SendMessage(hwndDlg, WM_USER + 1, 0, 0); - else - return FALSE; - break; - } - - if (LOWORD(wParam) != IDC_BT_VARIABLES) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - + { + switch (HIWORD(wParam)) { + case BN_CLICKED: + switch (LOWORD(wParam)) { + case IDC_CHK_CUTMSG: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_MSGLEN), IsDlgButtonChecked(hwndDlg, IDC_CHK_CUTMSG)); break; - case EN_CHANGE: - if ((HWND)lParam == GetFocus()) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + case IDC_CHK_XSTATUSCHANGE: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGE), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGE)); + break; + case IDC_CHK_REMOVE: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVE), IsDlgButtonChecked(hwndDlg, IDC_CHK_REMOVE)); + break; + case IDC_CHK_MSGCHANGE: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TCHANGEMSG), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGE)); + break; + case IDC_CHK_MSGREMOVE: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TREMOVEMSG), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVE)); + break; + case IDC_BT_VARIABLES: + MessageBox(hwndDlg, VARIABLES_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); + break; + case IDC_BT_RESET: + if (MessageBox(hwndDlg, + TranslateT("Do you want to reset all templates to default?"), + TranslateT("Reset templates"), + MB_ICONQUESTION | MB_YESNO) == IDYES) + SendMessage(hwndDlg, WM_USER + 1, 0, 0); + else + return FALSE; break; } - return TRUE; + if (LOWORD(wParam) != IDC_BT_VARIABLES) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + + break; + case EN_CHANGE: + if ((HWND)lParam == GetFocus()) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; } + + return TRUE; + } case WM_NOTIFY: - { - if (((LPNMHDR)lParam)->code == PSN_APPLY) { - opt.PXOnConnect = IsDlgButtonChecked(hwndDlg, IDC_XONCONNECT); - opt.PXDisableForMusic = IsDlgButtonChecked(hwndDlg, IDC_CHK_DISABLEMUSIC); - opt.PXMsgTruncate = IsDlgButtonChecked(hwndDlg, IDC_CHK_CUTMSG); - opt.PXMsgLen = GetDlgItemInt(hwndDlg, IDC_ED_MSGLEN, 0, FALSE); - - templates.PopupXFlags = 0; - templates.PopupXFlags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGE) ? NOTIFY_NEW_XSTATUS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGE) ? NOTIFY_NEW_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_REMOVE) ? NOTIFY_REMOVE_XSTATUS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVE) ? NOTIFY_REMOVE_MESSAGE : 0); - - // Templates - GetDlgItemText(hwndDlg, IDC_ED_TCHANGE, templates.PopupXstatusChanged, SIZEOF(templates.PopupXstatusChanged)); - GetDlgItemText(hwndDlg, IDC_ED_TREMOVE, templates.PopupXstatusRemoved, SIZEOF(templates.PopupXstatusRemoved)); - GetDlgItemText(hwndDlg, IDC_ED_TCHANGEMSG, templates.PopupXMsgChanged, SIZEOF(templates.PopupXMsgChanged)); - GetDlgItemText(hwndDlg, IDC_ED_TREMOVEMSG, templates.PopupXMsgRemoved, SIZEOF(templates.PopupXMsgRemoved)); - - // Save options to db - SaveOptions(); - SaveTemplates(); - } + { + if (((LPNMHDR)lParam)->code == PSN_APPLY) { + opt.PXOnConnect = IsDlgButtonChecked(hwndDlg, IDC_XONCONNECT); + opt.PXDisableForMusic = IsDlgButtonChecked(hwndDlg, IDC_CHK_DISABLEMUSIC); + opt.PXMsgTruncate = IsDlgButtonChecked(hwndDlg, IDC_CHK_CUTMSG); + opt.PXMsgLen = GetDlgItemInt(hwndDlg, IDC_ED_MSGLEN, 0, FALSE); - return TRUE; + templates.PopupXFlags = 0; + templates.PopupXFlags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGE) ? NOTIFY_NEW_XSTATUS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGE) ? NOTIFY_NEW_MESSAGE : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_REMOVE) ? NOTIFY_REMOVE_XSTATUS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVE) ? NOTIFY_REMOVE_MESSAGE : 0); + + // Templates + GetDlgItemText(hwndDlg, IDC_ED_TCHANGE, templates.PopupXstatusChanged, SIZEOF(templates.PopupXstatusChanged)); + GetDlgItemText(hwndDlg, IDC_ED_TREMOVE, templates.PopupXstatusRemoved, SIZEOF(templates.PopupXstatusRemoved)); + GetDlgItemText(hwndDlg, IDC_ED_TCHANGEMSG, templates.PopupXMsgChanged, SIZEOF(templates.PopupXMsgChanged)); + GetDlgItemText(hwndDlg, IDC_ED_TREMOVEMSG, templates.PopupXMsgRemoved, SIZEOF(templates.PopupXMsgRemoved)); + + // Save options to db + SaveOptions(); + SaveTemplates(); } + + return TRUE; + } case WM_USER + 1: SetDlgItemText(hwndDlg, IDC_ED_TCHANGE, DEFAULT_POPUP_CHANGED); SetDlgItemText(hwndDlg, IDC_ED_TREMOVE, DEFAULT_POPUP_REMOVED); @@ -672,98 +672,98 @@ INT_PTR CALLBACK DlgProcSMPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA { switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - SendDlgItemMessage(hwndDlg, IDC_ED_SMSGLEN, EM_LIMITTEXT, 3, 0); - SendDlgItemMessage(hwndDlg, IDC_UD_SMSGLEN, UDM_SETRANGE, 0, MAKELONG(999, 1)); - - CheckDlgButton(hwndDlg, IDC_ONCONNECT, opt.PSMsgOnConnect ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_CUTSMSG, opt.PSMsgTruncate ? BST_CHECKED : BST_UNCHECKED); - SetDlgItemInt(hwndDlg, IDC_ED_SMSGLEN, opt.PSMsgLen, FALSE); - - // Templates - CheckDlgButton(hwndDlg, IDC_CHK_NEWSMSG, templates.PopupSMsgFlags & NOTIFY_NEW_MESSAGE ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_SMSGREMOVE, templates.PopupSMsgFlags & NOTIFY_REMOVE_MESSAGE ? BST_CHECKED : BST_UNCHECKED); - - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TNEWSMSG), templates.PopupSMsgFlags & NOTIFY_NEW_MESSAGE); - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TSMSGREMOVE), templates.PopupSMsgFlags & NOTIFY_REMOVE_MESSAGE); - - // Buttons - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Show available variables"), BATF_TCHAR); - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Reset all templates to default"), BATF_TCHAR); - hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); + { + TranslateDialogDefault(hwndDlg); - // proto list - HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST); - SendMessage(hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); - LVCOLUMN lvCol = {0}; - lvCol.mask = LVCF_WIDTH | LVCF_TEXT; - lvCol.pszText = TranslateT("Account"); - lvCol.cx = 118; - ListView_InsertColumn(hList, 0, &lvCol); - // fill the list - LVITEM lvItem = {0}; - lvItem.mask = LVIF_TEXT | LVIF_PARAM; - lvItem.iItem = 0; - lvItem.iSubItem = 0; - - int count; - PROTOACCOUNT **protos; - ProtoEnumAccounts(&count, &protos); - - for (int i = 0; i < count; i++) { - if (IsSuitableProto(protos[i])) { - UpdateListFlag = TRUE; - lvItem.pszText = protos[i]->tszAccountName; - lvItem.lParam = (LPARAM)protos[i]->szModuleName; - PROTOTEMPLATE *prototemplate = (PROTOTEMPLATE *)mir_alloc(sizeof(PROTOTEMPLATE)); - prototemplate->ProtoName = protos[i]->szModuleName; - - DBVARIANT dbVar = {0}; - char protoname[MAX_PATH] = {0}; - mir_snprintf(protoname, SIZEOF(protoname), "%s_TPopupSMsgChanged", protos[i]->szModuleName); - if (db_get_ts(NULL, MODULE, protoname, &dbVar)) - _tcsncpy(prototemplate->ProtoTemplateMsg, DEFAULT_POPUP_SMSGCHANGED, SIZEOF(prototemplate->ProtoTemplateMsg)); - else { - _tcsncpy(prototemplate->ProtoTemplateMsg, dbVar.ptszVal, SIZEOF(prototemplate->ProtoTemplateMsg)); - db_free(&dbVar); - } + SendDlgItemMessage(hwndDlg, IDC_ED_SMSGLEN, EM_LIMITTEXT, 3, 0); + SendDlgItemMessage(hwndDlg, IDC_UD_SMSGLEN, UDM_SETRANGE, 0, MAKELONG(999, 1)); + + CheckDlgButton(hwndDlg, IDC_ONCONNECT, opt.PSMsgOnConnect ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_CUTSMSG, opt.PSMsgTruncate ? BST_CHECKED : BST_UNCHECKED); + SetDlgItemInt(hwndDlg, IDC_ED_SMSGLEN, opt.PSMsgLen, FALSE); + + // Templates + CheckDlgButton(hwndDlg, IDC_CHK_NEWSMSG, templates.PopupSMsgFlags & NOTIFY_NEW_MESSAGE ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_SMSGREMOVE, templates.PopupSMsgFlags & NOTIFY_REMOVE_MESSAGE ? BST_CHECKED : BST_UNCHECKED); + + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TNEWSMSG), templates.PopupSMsgFlags & NOTIFY_NEW_MESSAGE); + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TSMSGREMOVE), templates.PopupSMsgFlags & NOTIFY_REMOVE_MESSAGE); + + // Buttons + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Show available variables"), BATF_TCHAR); + HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)LPGENT("Reset all templates to default"), BATF_TCHAR); + hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + // proto list + HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST); + SendMessage(hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES); + LVCOLUMN lvCol = { 0 }; + lvCol.mask = LVCF_WIDTH | LVCF_TEXT; + lvCol.pszText = TranslateT("Account"); + lvCol.cx = 118; + ListView_InsertColumn(hList, 0, &lvCol); + // fill the list + LVITEM lvItem = { 0 }; + lvItem.mask = LVIF_TEXT | LVIF_PARAM; + lvItem.iItem = 0; + lvItem.iSubItem = 0; + + int count; + PROTOACCOUNT **protos; + ProtoEnumAccounts(&count, &protos); + + for (int i = 0; i < count; i++) { + if (IsSuitableProto(protos[i])) { + UpdateListFlag = TRUE; + lvItem.pszText = protos[i]->tszAccountName; + lvItem.lParam = (LPARAM)protos[i]->szModuleName; + PROTOTEMPLATE *prototemplate = (PROTOTEMPLATE *)mir_alloc(sizeof(PROTOTEMPLATE)); + prototemplate->ProtoName = protos[i]->szModuleName; + + DBVARIANT dbVar = { 0 }; + char protoname[MAX_PATH] = { 0 }; + mir_snprintf(protoname, SIZEOF(protoname), "%s_TPopupSMsgChanged", protos[i]->szModuleName); + if (db_get_ts(NULL, MODULE, protoname, &dbVar)) + _tcsncpy(prototemplate->ProtoTemplateMsg, DEFAULT_POPUP_SMSGCHANGED, SIZEOF(prototemplate->ProtoTemplateMsg)); + else { + _tcsncpy(prototemplate->ProtoTemplateMsg, dbVar.ptszVal, SIZEOF(prototemplate->ProtoTemplateMsg)); + db_free(&dbVar); + } - mir_snprintf(protoname, SIZEOF(protoname), "%s_TPopupSMsgRemoved", protos[i]->szModuleName); - if (db_get_ts(NULL, MODULE, protoname, &dbVar)) - _tcsncpy(prototemplate->ProtoTemplateRemoved, DEFAULT_POPUP_SMSGREMOVED, SIZEOF(prototemplate->ProtoTemplateRemoved)); - else { - _tcsncpy(prototemplate->ProtoTemplateRemoved, dbVar.ptszVal, SIZEOF(prototemplate->ProtoTemplateRemoved)); - db_free(&dbVar); - } + mir_snprintf(protoname, SIZEOF(protoname), "%s_TPopupSMsgRemoved", protos[i]->szModuleName); + if (db_get_ts(NULL, MODULE, protoname, &dbVar)) + _tcsncpy(prototemplate->ProtoTemplateRemoved, DEFAULT_POPUP_SMSGREMOVED, SIZEOF(prototemplate->ProtoTemplateRemoved)); + else { + _tcsncpy(prototemplate->ProtoTemplateRemoved, dbVar.ptszVal, SIZEOF(prototemplate->ProtoTemplateRemoved)); + db_free(&dbVar); + } - ListView_InsertItem(hList, &lvItem); - ProtoTemplates.insert(prototemplate, ProtoTemplates.getCount()); + ListView_InsertItem(hList, &lvItem); + ProtoTemplates.insert(prototemplate, ProtoTemplates.getCount()); - char dbSetting[128]; - mir_snprintf(dbSetting, SIZEOF(dbSetting), "%s_enabled", protos[i]->szModuleName); - ListView_SetCheckState(hList, lvItem.iItem, db_get_b(NULL, MODULE, dbSetting, TRUE)); - lvItem.iItem++; - } + char dbSetting[128]; + mir_snprintf(dbSetting, SIZEOF(dbSetting), "%s_enabled", protos[i]->szModuleName); + ListView_SetCheckState(hList, lvItem.iItem, db_get_b(NULL, MODULE, dbSetting, TRUE)); + lvItem.iItem++; } + } - if (lvItem.iItem) - { - ListView_SetItemState(hList, 0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); - PROTOTEMPLATE *prototemplate = ProtoTemplates[0]; - SetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg); - SetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved); - } - UpdateListFlag = FALSE; + if (lvItem.iItem) + { + ListView_SetItemState(hList, 0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); + PROTOTEMPLATE *prototemplate = ProtoTemplates[0]; + SetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg); + SetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved); } - return TRUE; + UpdateListFlag = FALSE; + } + return TRUE; case WM_COMMAND: switch (HIWORD(wParam)) { @@ -807,29 +807,29 @@ INT_PTR CALLBACK DlgProcSMPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA if (((NMHDR *)lParam)->idFrom == IDC_PROTOCOLLIST) { switch (((NMHDR *)lParam)->code) { case LVN_ITEMCHANGED: + { + NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam; + if (nmlv->uNewState == 3 && !UpdateListFlag) { - NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam; - if (nmlv->uNewState == 3 && !UpdateListFlag) - { - HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST); - PROTOTEMPLATE *prototemplate; - if (ListView_GetHotItem(hList) != ListView_GetSelectionMark(hList)) { - prototemplate = ProtoTemplates[ListView_GetSelectionMark(hList)]; - GetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg, MAX_PATH); - GetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved, MAX_PATH); - ProtoTemplates.remove(ListView_GetSelectionMark(hList)); - ProtoTemplates.insert(prototemplate, ListView_GetSelectionMark(hList)); - } - - LastItem = ListView_GetHotItem(hList); - prototemplate = ProtoTemplates[LastItem]; - SetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg); - SetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved); + HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST); + PROTOTEMPLATE *prototemplate; + if (ListView_GetHotItem(hList) != ListView_GetSelectionMark(hList)) { + prototemplate = ProtoTemplates[ListView_GetSelectionMark(hList)]; + GetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg, MAX_PATH); + GetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved, MAX_PATH); + ProtoTemplates.remove(ListView_GetSelectionMark(hList)); + ProtoTemplates.insert(prototemplate, ListView_GetSelectionMark(hList)); } - if ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK && !UpdateListFlag) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + + LastItem = ListView_GetHotItem(hList); + prototemplate = ProtoTemplates[LastItem]; + SetDlgItemText(hwndDlg, IDC_ED_TNEWSMSG, prototemplate->ProtoTemplateMsg); + SetDlgItemText(hwndDlg, IDC_ED_TSMSGREMOVE, prototemplate->ProtoTemplateRemoved); } - break; + if ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK && !UpdateListFlag) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + break; } } @@ -840,7 +840,7 @@ INT_PTR CALLBACK DlgProcSMPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA templates.PopupSMsgFlags = 0; templates.PopupSMsgFlags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_NEWSMSG) ? NOTIFY_NEW_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_SMSGREMOVE) ? NOTIFY_REMOVE_MESSAGE : 0); + (IsDlgButtonChecked(hwndDlg, IDC_CHK_SMSGREMOVE) ? NOTIFY_REMOVE_MESSAGE : 0); // Templates PROTOTEMPLATE *prototemplate = ProtoTemplates[LastItem]; @@ -853,7 +853,7 @@ INT_PTR CALLBACK DlgProcSMPopupOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA SaveOptions(); SaveTemplates(); HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST); - LVITEM lvItem = {0}; + LVITEM lvItem = { 0 }; lvItem.mask = LVIF_PARAM; for (int i = 0; i < ListView_GetItemCount(hList); i++) { lvItem.iItem = i; @@ -891,124 +891,124 @@ INT_PTR CALLBACK DlgProcXLogOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l { switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - CheckDlgButton(hwndDlg, IDC_XLOGTOFILE, opt.XLogToFile ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_XLOGTODB, opt.XLogToDB ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_XLOGTODB_WINOPEN, opt.XLogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_XLOGTODB_REMOVE, opt.XLogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_DISABLEMUSIC, opt.XLogDisableForMusic ? BST_CHECKED : BST_UNCHECKED); - - //Templates - CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSCHANGED, (templates.LogXFlags & NOTIFY_NEW_XSTATUS) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSREMOVED, (templates.LogXFlags & NOTIFY_REMOVE_XSTATUS) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_MSGCHANGED, (templates.LogXFlags & NOTIFY_NEW_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_MSGREMOVED, (templates.LogXFlags & NOTIFY_REMOVE_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSOPENING, (templates.LogXFlags & NOTIFY_OPENING_ML) ? BST_CHECKED : BST_UNCHECKED); - - SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSCHANGED, templates.LogXstatusChanged); - SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSREMOVED, templates.LogXstatusRemoved); - SetDlgItemText(hwndDlg, IDC_ED_TMSGCHANGED, templates.LogXMsgChanged); - SetDlgItemText(hwndDlg, IDC_ED_TMSGREMOVED, templates.LogXMsgRemoved); - SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSOPENING, templates.LogXstatusOpening); - - // Buttons - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Show available variables"), BATF_TCHAR); - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Reset all templates to default"), BATF_TCHAR); - hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendMessage(hwndDlg, WM_USER + 2, (WPARAM)opt.XLogToFile || opt.XLogToDB, 0); - - return TRUE; - } - case WM_COMMAND: - { - switch (HIWORD(wParam)) { - case BN_CLICKED: - switch (LOWORD(wParam)) { - case IDC_XLOGTOFILE: - case IDC_XLOGTODB: - SendMessage(hwndDlg, WM_USER + 2, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_XLOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB), 0); - break; - case IDC_XLOGTODB_WINOPEN: - EnableWindow(GetDlgItem(hwndDlg, IDC_XLOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_WINOPEN)); - break; - case IDC_CHK_XSTATUSCHANGED: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSCHANGED), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGED)); - break; - case IDC_CHK_XSTATUSREMOVED: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSREMOVED), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSREMOVED)); - break; - case IDC_CHK_MSGCHANGED: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TMSGCHANGED), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGED)); - break; - case IDC_CHK_MSGREMOVED: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TMSGREMOVED), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVED)); - break; - case IDC_CHK_XSTATUSOPENING: - EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSOPENING), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSOPENING)); - break; - case IDC_BT_VARIABLES: - MessageBox(hwndDlg, VARIABLES_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); - break; - case IDC_BT_RESET: - if (MessageBox(hwndDlg, - TranslateT("Do you want to reset all templates to default?"), - TranslateT("Reset templates"), - MB_ICONQUESTION | MB_YESNO) == IDYES) - SendMessage(hwndDlg, WM_USER + 1, 0, 0); - else - return FALSE; - break; - } + { + TranslateDialogDefault(hwndDlg); - if (LOWORD(wParam) != IDC_BT_VARIABLES) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + CheckDlgButton(hwndDlg, IDC_XLOGTOFILE, opt.XLogToFile ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_XLOGTODB, opt.XLogToDB ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_XLOGTODB_WINOPEN, opt.XLogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_XLOGTODB_REMOVE, opt.XLogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_DISABLEMUSIC, opt.XLogDisableForMusic ? BST_CHECKED : BST_UNCHECKED); + + //Templates + CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSCHANGED, (templates.LogXFlags & NOTIFY_NEW_XSTATUS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSREMOVED, (templates.LogXFlags & NOTIFY_REMOVE_XSTATUS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_MSGCHANGED, (templates.LogXFlags & NOTIFY_NEW_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_MSGREMOVED, (templates.LogXFlags & NOTIFY_REMOVE_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSOPENING, (templates.LogXFlags & NOTIFY_OPENING_ML) ? BST_CHECKED : BST_UNCHECKED); + + SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSCHANGED, templates.LogXstatusChanged); + SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSREMOVED, templates.LogXstatusRemoved); + SetDlgItemText(hwndDlg, IDC_ED_TMSGCHANGED, templates.LogXMsgChanged); + SetDlgItemText(hwndDlg, IDC_ED_TMSGREMOVED, templates.LogXMsgRemoved); + SetDlgItemText(hwndDlg, IDC_ED_TXSTATUSOPENING, templates.LogXstatusOpening); + + // Buttons + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Show available variables"), BATF_TCHAR); + HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Reset all templates to default"), BATF_TCHAR); + hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendMessage(hwndDlg, WM_USER + 2, (WPARAM)opt.XLogToFile || opt.XLogToDB, 0); + return TRUE; + } + case WM_COMMAND: + { + switch (HIWORD(wParam)) { + case BN_CLICKED: + switch (LOWORD(wParam)) { + case IDC_XLOGTOFILE: + case IDC_XLOGTODB: + SendMessage(hwndDlg, WM_USER + 2, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_XLOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB), 0); break; - - case EN_CHANGE: - if ((HWND)lParam == GetFocus()) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + case IDC_XLOGTODB_WINOPEN: + EnableWindow(GetDlgItem(hwndDlg, IDC_XLOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_WINOPEN)); + break; + case IDC_CHK_XSTATUSCHANGED: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSCHANGED), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGED)); + break; + case IDC_CHK_XSTATUSREMOVED: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSREMOVED), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSREMOVED)); + break; + case IDC_CHK_MSGCHANGED: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TMSGCHANGED), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGED)); + break; + case IDC_CHK_MSGREMOVED: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TMSGREMOVED), IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVED)); + break; + case IDC_CHK_XSTATUSOPENING: + EnableWindow(GetDlgItem(hwndDlg, IDC_ED_TXSTATUSOPENING), IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSOPENING)); + break; + case IDC_BT_VARIABLES: + MessageBox(hwndDlg, VARIABLES_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); + break; + case IDC_BT_RESET: + if (MessageBox(hwndDlg, + TranslateT("Do you want to reset all templates to default?"), + TranslateT("Reset templates"), + MB_ICONQUESTION | MB_YESNO) == IDYES) + SendMessage(hwndDlg, WM_USER + 1, 0, 0); + else + return FALSE; break; } - return TRUE; + + if (LOWORD(wParam) != IDC_BT_VARIABLES) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + + break; + + case EN_CHANGE: + if ((HWND)lParam == GetFocus()) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; } + return TRUE; + } case WM_NOTIFY: - { - if (((LPNMHDR)lParam)->code == PSN_APPLY) { - opt.XLogToFile = IsDlgButtonChecked(hwndDlg, IDC_XLOGTOFILE); - opt.XLogToDB = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB); - opt.XLogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_WINOPEN); - opt.XLogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_REMOVE); - opt.XLogDisableForMusic = IsDlgButtonChecked(hwndDlg, IDC_CHK_DISABLEMUSIC); - - templates.LogXFlags = 0; - templates.LogXFlags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGED) ? NOTIFY_NEW_XSTATUS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSREMOVED) ? NOTIFY_REMOVE_XSTATUS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGED) ? NOTIFY_NEW_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVED) ? NOTIFY_REMOVE_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSOPENING) ? NOTIFY_OPENING_ML : 0); - - // Templates - GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSCHANGED, templates.LogXstatusChanged, SIZEOF(templates.LogXstatusChanged)); - GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSREMOVED, templates.LogXstatusRemoved, SIZEOF(templates.LogXstatusRemoved)); - GetDlgItemText(hwndDlg, IDC_ED_TMSGCHANGED, templates.LogXMsgChanged, SIZEOF(templates.LogXMsgChanged)); - GetDlgItemText(hwndDlg, IDC_ED_TMSGREMOVED, templates.LogXMsgRemoved, SIZEOF(templates.LogXMsgRemoved)); - GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSOPENING, templates.LogXstatusOpening, SIZEOF(templates.LogXstatusOpening)); - - SaveOptions(); - SaveTemplates(); - } - return TRUE; + { + if (((LPNMHDR)lParam)->code == PSN_APPLY) { + opt.XLogToFile = IsDlgButtonChecked(hwndDlg, IDC_XLOGTOFILE); + opt.XLogToDB = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB); + opt.XLogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_WINOPEN); + opt.XLogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_XLOGTODB_REMOVE); + opt.XLogDisableForMusic = IsDlgButtonChecked(hwndDlg, IDC_CHK_DISABLEMUSIC); + + templates.LogXFlags = 0; + templates.LogXFlags |= (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSCHANGED) ? NOTIFY_NEW_XSTATUS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSREMOVED) ? NOTIFY_REMOVE_XSTATUS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGCHANGED) ? NOTIFY_NEW_MESSAGE : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_MSGREMOVED) ? NOTIFY_REMOVE_MESSAGE : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_CHK_XSTATUSOPENING) ? NOTIFY_OPENING_ML : 0); + + // Templates + GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSCHANGED, templates.LogXstatusChanged, SIZEOF(templates.LogXstatusChanged)); + GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSREMOVED, templates.LogXstatusRemoved, SIZEOF(templates.LogXstatusRemoved)); + GetDlgItemText(hwndDlg, IDC_ED_TMSGCHANGED, templates.LogXMsgChanged, SIZEOF(templates.LogXMsgChanged)); + GetDlgItemText(hwndDlg, IDC_ED_TMSGREMOVED, templates.LogXMsgRemoved, SIZEOF(templates.LogXMsgRemoved)); + GetDlgItemText(hwndDlg, IDC_ED_TXSTATUSOPENING, templates.LogXstatusOpening, SIZEOF(templates.LogXstatusOpening)); + + SaveOptions(); + SaveTemplates(); } + return TRUE; + } case WM_USER + 1: CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSCHANGED, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_CHK_XSTATUSREMOVED, BST_CHECKED); @@ -1058,126 +1058,126 @@ INT_PTR CALLBACK DlgProcLogOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP { switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - - CheckDlgButton(hwndDlg, IDC_LOGTOFILE, opt.LogToFile ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOGTODB, opt.LogToDB ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOGTODB_WINOPEN, opt.LogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOGTODB_REMOVE, opt.LogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOGPREVIOUS, opt.LogPrevious ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SMSGLOGTOFILE, opt.SMsgLogToFile ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB, opt.SMsgLogToDB ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB_WINOPEN, opt.SMsgLogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB_REMOVE, opt.SMsgLogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); - - //Templates - CheckDlgButton(hwndDlg, IDC_LOG_SMSGCHANGED, (templates.LogSMsgFlags & NOTIFY_NEW_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOG_SMSGREMOVED, (templates.LogSMsgFlags & NOTIFY_REMOVE_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_LOG_SMSGOPENING, (templates.LogSMsgFlags & NOTIFY_OPENING_ML) ? BST_CHECKED : BST_UNCHECKED); - - SetDlgItemText(hwndDlg, IDC_LOG_TSMSGCHANGED, templates.LogSMsgChanged); - SetDlgItemText(hwndDlg, IDC_LOG_TSMSGREMOVED, templates.LogSMsgRemoved); - SetDlgItemText(hwndDlg, IDC_LOG_TSMSGOPENING, templates.LogSMsgOpening); - - // Buttons - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Show available variables"), BATF_TCHAR); - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); - SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Reset all templates to default"), BATF_TCHAR); - hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); - SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - - SendMessage(hwndDlg, WM_USER + 2, (WPARAM)opt.LogToFile || opt.LogToDB, 0); - SendMessage(hwndDlg, WM_USER + 3, (WPARAM)opt.SMsgLogToFile || opt.SMsgLogToDB, 0); - - return TRUE; - } - case WM_COMMAND: - { - switch (HIWORD(wParam)) { - case BN_CLICKED: - switch (LOWORD(wParam)) { - case IDC_LOGTOFILE: - case IDC_LOGTODB: - SendMessage(hwndDlg, WM_USER + 2, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_LOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_LOGTODB), 0); - break; - case IDC_SMSGLOGTOFILE: - case IDC_SMSGLOGTODB: - SendMessage(hwndDlg, WM_USER + 3, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB), 0); - break; - case IDC_LOGTODB_WINOPEN: - EnableWindow(GetDlgItem(hwndDlg, IDC_LOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_WINOPEN)); - break; - case IDC_SMSGLOGTODB_WINOPEN: - EnableWindow(GetDlgItem(hwndDlg, IDC_SMSGLOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_WINOPEN)); - break; - case IDC_LOG_SMSGCHANGED: - EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGCHANGED), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGCHANGED)); - break; - case IDC_LOG_SMSGREMOVED: - EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGREMOVED), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGREMOVED)); - break; - case IDC_LOG_SMSGOPENING: - EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGOPENING), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGOPENING)); - break; - case IDC_BT_VARIABLES: - MessageBox(hwndDlg, VARIABLES_SM_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); - break; - case IDC_BT_RESET: - if (MessageBox(hwndDlg, - TranslateT("Do you want to reset all templates to default?"), - TranslateT("Reset templates"), - MB_ICONQUESTION | MB_YESNO) == IDYES) - SendMessage(hwndDlg, WM_USER + 1, 0, 0); - else - return FALSE; - break; - } + { + TranslateDialogDefault(hwndDlg); - if (LOWORD(wParam) != IDC_BT_VARIABLES) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + CheckDlgButton(hwndDlg, IDC_LOGTOFILE, opt.LogToFile ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOGTODB, opt.LogToDB ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOGTODB_WINOPEN, opt.LogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOGTODB_REMOVE, opt.LogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOGPREVIOUS, opt.LogPrevious ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SMSGLOGTOFILE, opt.SMsgLogToFile ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB, opt.SMsgLogToDB ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB_WINOPEN, opt.SMsgLogToDB_WinOpen ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SMSGLOGTODB_REMOVE, opt.SMsgLogToDB_Remove ? BST_CHECKED : BST_UNCHECKED); + + //Templates + CheckDlgButton(hwndDlg, IDC_LOG_SMSGCHANGED, (templates.LogSMsgFlags & NOTIFY_NEW_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOG_SMSGREMOVED, (templates.LogSMsgFlags & NOTIFY_REMOVE_MESSAGE) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_LOG_SMSGOPENING, (templates.LogSMsgFlags & NOTIFY_OPENING_ML) ? BST_CHECKED : BST_UNCHECKED); + + SetDlgItemText(hwndDlg, IDC_LOG_TSMSGCHANGED, templates.LogSMsgChanged); + SetDlgItemText(hwndDlg, IDC_LOG_TSMSGREMOVED, templates.LogSMsgRemoved); + SetDlgItemText(hwndDlg, IDC_LOG_TSMSGOPENING, templates.LogSMsgOpening); + + // Buttons + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Show available variables"), BATF_TCHAR); + HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_VARIABLES)); + SendDlgItemMessage(hwndDlg, IDC_BT_VARIABLES, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Reset all templates to default"), BATF_TCHAR); + hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RESET)); + SendDlgItemMessage(hwndDlg, IDC_BT_RESET, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); + DestroyIcon(hIcon); + + SendMessage(hwndDlg, WM_USER + 2, (WPARAM)opt.LogToFile || opt.LogToDB, 0); + SendMessage(hwndDlg, WM_USER + 3, (WPARAM)opt.SMsgLogToFile || opt.SMsgLogToDB, 0); + return TRUE; + } + case WM_COMMAND: + { + switch (HIWORD(wParam)) { + case BN_CLICKED: + switch (LOWORD(wParam)) { + case IDC_LOGTOFILE: + case IDC_LOGTODB: + SendMessage(hwndDlg, WM_USER + 2, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_LOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_LOGTODB), 0); break; - - case EN_CHANGE: - if ((HWND)lParam == GetFocus()) - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + case IDC_SMSGLOGTOFILE: + case IDC_SMSGLOGTODB: + SendMessage(hwndDlg, WM_USER + 3, (WPARAM)IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTOFILE) || IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB), 0); + break; + case IDC_LOGTODB_WINOPEN: + EnableWindow(GetDlgItem(hwndDlg, IDC_LOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_WINOPEN)); + break; + case IDC_SMSGLOGTODB_WINOPEN: + EnableWindow(GetDlgItem(hwndDlg, IDC_SMSGLOGTODB_REMOVE), IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_WINOPEN)); + break; + case IDC_LOG_SMSGCHANGED: + EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGCHANGED), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGCHANGED)); + break; + case IDC_LOG_SMSGREMOVED: + EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGREMOVED), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGREMOVED)); + break; + case IDC_LOG_SMSGOPENING: + EnableWindow(GetDlgItem(hwndDlg, IDC_LOG_TSMSGOPENING), IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGOPENING)); + break; + case IDC_BT_VARIABLES: + MessageBox(hwndDlg, VARIABLES_SM_HELP_TEXT, TranslateT("Variables"), MB_OK | MB_ICONINFORMATION); + break; + case IDC_BT_RESET: + if (MessageBox(hwndDlg, + TranslateT("Do you want to reset all templates to default?"), + TranslateT("Reset templates"), + MB_ICONQUESTION | MB_YESNO) == IDYES) + SendMessage(hwndDlg, WM_USER + 1, 0, 0); + else + return FALSE; break; } - return TRUE; + + if (LOWORD(wParam) != IDC_BT_VARIABLES) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + + break; + + case EN_CHANGE: + if ((HWND)lParam == GetFocus()) + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; } + return TRUE; + } case WM_NOTIFY: - { - if (((LPNMHDR)lParam)->code == PSN_APPLY) { - opt.LogToFile = IsDlgButtonChecked(hwndDlg, IDC_LOGTOFILE); - opt.LogToDB = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB); - opt.LogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_WINOPEN); - opt.LogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_REMOVE); - opt.LogPrevious = IsDlgButtonChecked(hwndDlg, IDC_LOGPREVIOUS); - opt.SMsgLogToFile = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTOFILE); - opt.SMsgLogToDB = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB); - opt.SMsgLogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_WINOPEN); - opt.SMsgLogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_REMOVE); - - templates.LogSMsgFlags = 0; - templates.LogSMsgFlags |= (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGCHANGED) ? NOTIFY_NEW_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGREMOVED) ? NOTIFY_REMOVE_MESSAGE : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGOPENING) ? NOTIFY_OPENING_ML : 0); - - // Templates - GetDlgItemText(hwndDlg, IDC_LOG_TSMSGCHANGED, templates.LogSMsgChanged, SIZEOF(templates.LogSMsgChanged)); - GetDlgItemText(hwndDlg, IDC_LOG_TSMSGREMOVED, templates.LogSMsgRemoved, SIZEOF(templates.LogSMsgRemoved)); - GetDlgItemText(hwndDlg, IDC_LOG_TSMSGOPENING, templates.LogSMsgOpening, SIZEOF(templates.LogSMsgOpening)); - - SaveOptions(); - SaveTemplates(); - } - return TRUE; + { + if (((LPNMHDR)lParam)->code == PSN_APPLY) { + opt.LogToFile = IsDlgButtonChecked(hwndDlg, IDC_LOGTOFILE); + opt.LogToDB = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB); + opt.LogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_WINOPEN); + opt.LogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_LOGTODB_REMOVE); + opt.LogPrevious = IsDlgButtonChecked(hwndDlg, IDC_LOGPREVIOUS); + opt.SMsgLogToFile = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTOFILE); + opt.SMsgLogToDB = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB); + opt.SMsgLogToDB_WinOpen = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_WINOPEN); + opt.SMsgLogToDB_Remove = IsDlgButtonChecked(hwndDlg, IDC_SMSGLOGTODB_REMOVE); + + templates.LogSMsgFlags = 0; + templates.LogSMsgFlags |= (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGCHANGED) ? NOTIFY_NEW_MESSAGE : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGREMOVED) ? NOTIFY_REMOVE_MESSAGE : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_LOG_SMSGOPENING) ? NOTIFY_OPENING_ML : 0); + + // Templates + GetDlgItemText(hwndDlg, IDC_LOG_TSMSGCHANGED, templates.LogSMsgChanged, SIZEOF(templates.LogSMsgChanged)); + GetDlgItemText(hwndDlg, IDC_LOG_TSMSGREMOVED, templates.LogSMsgRemoved, SIZEOF(templates.LogSMsgRemoved)); + GetDlgItemText(hwndDlg, IDC_LOG_TSMSGOPENING, templates.LogSMsgOpening, SIZEOF(templates.LogSMsgOpening)); + + SaveOptions(); + SaveTemplates(); } + return TRUE; + } case WM_USER + 1: CheckDlgButton(hwndDlg, IDC_LOG_SMSGCHANGED, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_LOG_SMSGREMOVED, BST_CHECKED); @@ -1236,7 +1236,7 @@ int OptionsInitialize(WPARAM wParam, LPARAM) odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_LOG); odp.pfnDlgProc = DlgProcLogOpts; Options_AddPage(wParam, &odp); - + odp.pszTab = LPGEN("Extra status logging"); odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_XLOG); odp.pfnDlgProc = DlgProcXLogOpts; @@ -1257,7 +1257,7 @@ int OptionsInitialize(WPARAM wParam, LPARAM) odp.pszTab = LPGEN("Extra status"); odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_XPOPUP); - odp.pfnDlgProc = DlgProcXPopupOpts; + odp.pfnDlgProc = DlgProcXPopupOpts; Options_AddPage(wParam, &odp); odp.pszTab = LPGEN("Status message"); diff --git a/plugins/NewXstatusNotify/src/options.h b/plugins/NewXstatusNotify/src/options.h index f8f8657966..1753401455 100644 --- a/plugins/NewXstatusNotify/src/options.h +++ b/plugins/NewXstatusNotify/src/options.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef OPTIONS_H #define OPTIONS_H diff --git a/plugins/NewXstatusNotify/src/popup.cpp b/plugins/NewXstatusNotify/src/popup.cpp index bb7aab3295..13e13d4d08 100644 --- a/plugins/NewXstatusNotify/src/popup.cpp +++ b/plugins/NewXstatusNotify/src/popup.cpp @@ -17,13 +17,13 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" -void ShowChangePopup(MCONTACT hContact, char *szProto, HICON hIcon, WORD newStatus, TCHAR *stzText, PLUGINDATA *pdp) +void ShowChangePopup(MCONTACT hContact, HICON hIcon, WORD newStatus, TCHAR *stzText, PLUGINDATA *pdp) { - POPUPDATAT ppd = {0}; + POPUPDATAT ppd = { 0 }; ppd.lchContact = hContact; ppd.lchIcon = hIcon;//LoadSkinnedProtoIcon(szProto, iconStatus); _tcsncpy(ppd.lptzContactName, (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, GSMDF_TCHAR), MAX_CONTACTNAME); @@ -62,7 +62,7 @@ void ShowChangePopup(MCONTACT hContact, char *szProto, HICON hIcon, WORD newStat PUAddPopupT(&ppd); } -static int AwayMsgHook(WPARAM wParam, LPARAM lParam, LPARAM pObj) +static int AwayMsgHook(WPARAM, LPARAM lParam, LPARAM pObj) { PLUGINDATA *pdp = (PLUGINDATA *)pObj; if (pdp == NULL) @@ -124,14 +124,14 @@ void PopupAction(HWND hWnd, BYTE action) break; case PCA_OPENMENU: - { - POINT pt = {0}; - HMENU hMenu = (HMENU)CallService(MS_CLIST_MENUBUILDCONTACT, hContact, 0); - GetCursorPos(&pt); - TrackPopupMenu(hMenu, 0, pt.x, pt.y, 0, hWnd, NULL); - DestroyMenu(hMenu); - } - return; + { + POINT pt = { 0 }; + HMENU hMenu = (HMENU)CallService(MS_CLIST_MENUBUILDCONTACT, hContact, 0); + GetCursorPos(&pt); + TrackPopupMenu(hMenu, 0, pt.x, pt.y, 0, hWnd, NULL); + DestroyMenu(hMenu); + } + return; case PCA_OPENDETAILS: CallServiceSync(MS_USERINFO_SHOWDIALOG, hContact, 0); diff --git a/plugins/NewXstatusNotify/src/popup.h b/plugins/NewXstatusNotify/src/popup.h index f96ab28904..fd550392a2 100644 --- a/plugins/NewXstatusNotify/src/popup.h +++ b/plugins/NewXstatusNotify/src/popup.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef POPUP_H #define POPUP_H @@ -58,7 +58,7 @@ static struct { LPGENT("Do nothing"), PCA_DONOTHING }; -void ShowChangePopup(MCONTACT hContact, char *szProto, HICON hIcon, WORD newStatus, TCHAR *stzText, PLUGINDATA *pdp = NULL); +void ShowChangePopup(MCONTACT hContact, HICON hIcon, WORD newStatus, TCHAR *stzText, PLUGINDATA *pdp = NULL); LRESULT CALLBACK PopupDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); #endif \ No newline at end of file diff --git a/plugins/NewXstatusNotify/src/utils.cpp b/plugins/NewXstatusNotify/src/utils.cpp index d5fe0e3902..4d830172e6 100644 --- a/plugins/NewXstatusNotify/src/utils.cpp +++ b/plugins/NewXstatusNotify/src/utils.cpp @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" diff --git a/plugins/NewXstatusNotify/src/utils.h b/plugins/NewXstatusNotify/src/utils.h index 9d4cd1b35f..1f5838b288 100644 --- a/plugins/NewXstatusNotify/src/utils.h +++ b/plugins/NewXstatusNotify/src/utils.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef UTILS_H #define UTILS_H diff --git a/plugins/NewXstatusNotify/src/xstatus.cpp b/plugins/NewXstatusNotify/src/xstatus.cpp index fb931d39de..786ffe4265 100644 --- a/plugins/NewXstatusNotify/src/xstatus.cpp +++ b/plugins/NewXstatusNotify/src/xstatus.cpp @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #include "common.h" @@ -107,11 +107,11 @@ TCHAR *ReplaceVars(XSTATUSCHANGE *xsc, const TCHAR *tmplt) i++; switch (tmplt[i]) { case 'n': - { - TCHAR stzType[32]; - mir_tstrncpy(tmp, GetStatusTypeAsString(xsc->type, stzType), SIZEOF(tmp)); - } - break; + { + TCHAR stzType[32]; + mir_tstrncpy(tmp, GetStatusTypeAsString(xsc->type, stzType), SIZEOF(tmp)); + } + break; case 't': if (xsc->stzTitle == NULL || xsc->stzTitle[0] == _T('\0')) @@ -184,16 +184,16 @@ void ShowXStatusPopup(XSTATUSCHANGE *xsc) switch (xsc->type) { case TYPE_JABBER_MOOD: case TYPE_JABBER_ACTIVITY: - { - DBVARIANT dbv; - char szSetting[64]; - mir_snprintf(szSetting, SIZEOF(szSetting), "%s/%s/icon", xsc->szProto, (xsc->type == TYPE_JABBER_MOOD) ? "mood" : "activity"); - if (!db_get_s(xsc->hContact, "AdvStatus", szSetting, &dbv)) { - hIcon = Skin_GetIcon(dbv.pszVal); - db_free(&dbv); - } - break; + { + DBVARIANT dbv; + char szSetting[64]; + mir_snprintf(szSetting, SIZEOF(szSetting), "%s/%s/icon", xsc->szProto, (xsc->type == TYPE_JABBER_MOOD) ? "mood" : "activity"); + if (!db_get_s(xsc->hContact, "AdvStatus", szSetting, &dbv)) { + hIcon = Skin_GetIcon(dbv.pszVal); + db_free(&dbv); } + break; + } case TYPE_ICQ_XSTATUS: int statusId = db_get_b(xsc->hContact, xsc->szProto, "XStatusId", 0); hIcon = (HICON)CallProtoService(xsc->szProto, PS_GETCUSTOMSTATUSICON, statusId, LR_SHARED); @@ -228,7 +228,7 @@ void ShowXStatusPopup(XSTATUSCHANGE *xsc) TCHAR *stzPopupText = ReplaceVars(xsc, Template); - ShowChangePopup(xsc->hContact, xsc->szProto, hIcon, ID_STATUS_EXTRASTATUS, stzPopupText); + ShowChangePopup(xsc->hContact, hIcon, ID_STATUS_EXTRASTATUS, stzPopupText); mir_free(stzPopupText); if (copyText) { @@ -243,7 +243,7 @@ void BlinkXStatusIcon(XSTATUSCHANGE *xsc) return; HICON hIcon = NULL; - TCHAR str[256] = {0}; + TCHAR str[256] = { 0 }; TCHAR stzType[32]; mir_sntprintf(str, SIZEOF(str), TranslateT("%s changed %s"), CallService(MS_CLIST_GETCONTACTDISPLAYNAME, xsc->hContact, GCDNF_TCHAR), GetStatusTypeAsString(xsc->type, stzType)); @@ -269,7 +269,7 @@ void BlinkXStatusIcon(XSTATUSCHANGE *xsc) if (hIcon == NULL) hIcon = LoadSkinnedIcon(SKINICON_OTHER_USERONLINE); - BlinkIcon(xsc->hContact, xsc->szProto, hIcon, str); + BlinkIcon(xsc->hContact, hIcon, str); mir_free(str); } @@ -310,13 +310,13 @@ void LogChangeToDB(XSTATUSCHANGE *xsc) stzLogText = ReplaceVars(xsc, Template); DBGetStringDefault(xsc->hContact, MODULE, DB_LASTLOG, stzLastLog, SIZEOF(stzLastLog), _T("")); -// if (!opt.KeepInHistory || !(opt.PreventIdentical && _tcscmp(stzLastLog, stzLogText) == 0)) { + // if (!opt.KeepInHistory || !(opt.PreventIdentical && _tcscmp(stzLastLog, stzLogText) == 0)) { if (opt.XLogToDB/* || !(opt.PreventIdentical && _tcscmp(stzLastLog, stzLogText) == 0)*/) { db_set_ws(xsc->hContact, MODULE, DB_LASTLOG, stzLogText); char *blob = mir_utf8encodeT(stzLogText); - DBEVENTINFO dbei = {0}; + DBEVENTINFO dbei = { 0 }; dbei.cbSize = sizeof(dbei); dbei.cbBlob = (DWORD)strlen(blob) + 1; dbei.pBlob = (PBYTE)blob; @@ -345,8 +345,8 @@ void LogChangeToFile(XSTATUSCHANGE *xsc) TCHAR stzDate[32], stzTime[32], stzText[MAX_TEXT_LEN]; - GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("HH':'mm"), stzTime, SIZEOF(stzTime)); - GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL,_T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); + GetTimeFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("HH':'mm"), stzTime, SIZEOF(stzTime)); + GetDateFormat(LOCALE_USER_DEFAULT, 0, NULL, _T("dd/MM/yyyy"), stzDate, SIZEOF(stzDate)); TCHAR *Template = _T(""); switch (xsc->action) { @@ -375,7 +375,7 @@ void ExtraStatusChanged(XSTATUSCHANGE *xsc) BOOL bEnablePopup = true, bEnableSound = true, bEnableLog = opt.XLogToDB; - char buff[12] = {0}; + char buff[12] = { 0 }; mir_snprintf(buff, SIZEOF(buff), "%d", ID_STATUS_EXTRASTATUS); if ((db_get_b(0, MODULE, buff, 1) == 0) || (db_get_w(xsc->hContact, xsc->szProto, "Status", ID_STATUS_OFFLINE) == ID_STATUS_OFFLINE) @@ -439,7 +439,7 @@ TCHAR *GetDefaultXstatusName(int statusID, char *szProto, TCHAR *buff, int buffl TCHAR nameBuff[64]; buff[0] = 0; - CUSTOM_STATUS xstatus = {0}; + CUSTOM_STATUS xstatus = { 0 }; xstatus.cbSize = sizeof(CUSTOM_STATUS); xstatus.flags = CSSF_MASK_NAME | CSSF_DEFAULT_NAME | CSSF_TCHAR; xstatus.ptszName = nameBuff; @@ -543,11 +543,11 @@ void AddSMsgEventThread(void *arg) mir_free(smi.newstatusmsg); } -int OnWindowEvent(WPARAM wParam, LPARAM lParam) +int OnWindowEvent(WPARAM, LPARAM lParam) { MessageWindowEventData *mwed = (MessageWindowEventData *)lParam; if (mwed->uType == MSG_WINDOW_EVT_CLOSE) { - if(opt.XLogToDB && opt.XLogToDB_WinOpen && opt.XLogToDB_Remove) + if (opt.XLogToDB && opt.XLogToDB_WinOpen && opt.XLogToDB_Remove) RemoveLoggedEventsXStatus(mwed->hContact); if (opt.LogToDB && opt.LogToDB_WinOpen && opt.LogToDB_Remove) diff --git a/plugins/NewXstatusNotify/src/xstatus.h b/plugins/NewXstatusNotify/src/xstatus.h index 3804b21b04..9d30a65d23 100644 --- a/plugins/NewXstatusNotify/src/xstatus.h +++ b/plugins/NewXstatusNotify/src/xstatus.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ + */ #ifndef XSTATUS_H #define XSTATUS_H -- cgit v1.2.3