From 85863331bd2920991e8e7093a472e60d749b4a7a Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 24 Dec 2011 20:50:18 +0000 Subject: patch by FREAK_THEMIGHTY: - fixed navigation in options + new option: "Open message window" + New option: "Open contact list" + new option: "Respect ignore settings (status changes)" * status changes are now stored in UTF8 - Removed popup on sending nudges (on popular request) * popup options are moved into popup classes, needs a recent version of popup+ or YAPP git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@251 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- Nudge/options.cpp | 282 ++++++++++++++---------------------------------------- 1 file changed, 70 insertions(+), 212 deletions(-) (limited to 'Nudge/options.cpp') diff --git a/Nudge/options.cpp b/Nudge/options.cpp index 4ffe6f2..1416ba8 100644 --- a/Nudge/options.cpp +++ b/Nudge/options.cpp @@ -1,12 +1,10 @@ #include "headers.h" -#include "uxtheme.h" #include "main.h" #include "shake.h" #include "options.h" CNudgeElement* ActualNudge = NULL; -extern BOOL (WINAPI *MyEnableThemeDialogTexture)(HANDLE, DWORD); int NudgeOptInit(WPARAM wParam,LPARAM lParam) @@ -15,117 +13,22 @@ int NudgeOptInit(WPARAM wParam,LPARAM lParam) odp.cbSize = sizeof(odp); odp.position = -790000000; odp.hInstance = hInst; - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONS); + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_NUDGE); odp.ptszTitle = LPGENT("Nudge"); odp.ptszGroup = LPGENT("Events"); + odp.ptszTab = LPGENT("Nudge"); odp.flags = ODPF_BOLDGROUPS|ODPF_TCHAR; // odp.nIDBottomSimpleControl = IDC_STMSNGROUP; - odp.pfnDlgProc = OptionsDlgProc; + odp.pfnDlgProc = DlgProcNudgeOpt; CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); - return 0; -} - - -HANDLE hOptionsInit; -void InitOptions() -{ - hOptionsInit = HookEvent(ME_OPT_INITIALISE, NudgeOptInit); -} -void UninitOptions() -{ - UnhookEvent(hOptionsInit); -} - -static INT_PTR CALLBACK OptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) -{ - static int iInit = TRUE; - - switch(msg) - { - case WM_INITDIALOG: - { - TCITEM tci; - RECT rcClient; - GetClientRect(hwnd, &rcClient); - - iInit = TRUE; - tci.mask = TCIF_PARAM|TCIF_TEXT; - tci.lParam = (LPARAM)CreateDialog(hInst,MAKEINTRESOURCE(IDD_OPT_NUDGE), hwnd, DlgProcNudgeOpt); - tci.pszText = TranslateT("Nudge"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 0, &tci); - MoveWindow((HWND)tci.lParam,1,28,rcClient.right-3,rcClient.bottom-33,1); - if(MyEnableThemeDialogTexture) - MyEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(hInst,MAKEINTRESOURCE(IDD_OPT_SHAKE),hwnd,DlgProcShakeOpt); - tci.pszText = TranslateT("Window Shaking"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 1, &tci); - MoveWindow((HWND)tci.lParam,1,28,rcClient.right-3,rcClient.bottom-33,1); - ShowWindow((HWND)tci.lParam, SW_HIDE); - if(MyEnableThemeDialogTexture) - MyEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - iInit = FALSE; - return FALSE; - } - - case PSM_CHANGED: // used so tabs dont have to call SendMessage(GetParent(GetParent(hwnd)), PSM_CHANGED, 0, 0); - if(!iInit) - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - case WM_NOTIFY: - switch(((LPNMHDR)lParam)->idFrom) { - case 0: - switch (((LPNMHDR)lParam)->code) - { - case PSN_APPLY: - { - TCITEM tci; - int i,count; - tci.mask = TCIF_PARAM; - count = TabCtrl_GetItemCount(GetDlgItem(hwnd,IDC_OPTIONSTAB)); - for (i=0;inext) - { - n->item.Save(); - } - DefaultNudge.Save(); - } - break; - } - break; - case IDC_OPTIONSTAB: - switch (((LPNMHDR)lParam)->code) - { - case TCN_SELCHANGING: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_HIDE); - } - break; - case TCN_SELCHANGE: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_SHOW); - } - break; - } - break; - - } - break; - } - return FALSE; + odp.position = -790000001; + odp.ptszTab = LPGENT("Window Shaking"); + odp.pfnDlgProc = DlgProcShakeOpt; + odp.flags |= ODPF_EXPERTONLY; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_SHAKE); + CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp ); + return 0; } INT_PTR CALLBACK DlgProcShakeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) @@ -133,17 +36,17 @@ INT_PTR CALLBACK DlgProcShakeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) switch(msg) { case WM_INITDIALOG: - char szBuf[20]; + TCHAR szBuf[20]; TranslateDialogDefault(hwnd); - _snprintf(szBuf, 10, "%d", shake.nMoveClist); - SetWindowTextA(GetDlgItem(hwnd, IDC_LNUMBER_CLIST), szBuf); - _snprintf(szBuf, 10, "%d", shake.nMoveChat); - SetWindowTextA(GetDlgItem(hwnd, IDC_LNUMBER_CHAT), szBuf); + mir_sntprintf(szBuf, 10, _T("%d"), shake.nMoveClist); + SetDlgItemText(hwnd,IDC_LNUMBER_CLIST,szBuf); + mir_sntprintf(szBuf, 10, _T("%d"), shake.nMoveChat); + SetDlgItemText(hwnd,IDC_LNUMBER_CHAT,szBuf); - _snprintf(szBuf, 10, "%d", shake.nScaleClist); - SetWindowTextA(GetDlgItem(hwnd, IDC_LSCALE_CLIST), szBuf); - _snprintf(szBuf, 10, "%d", shake.nScaleChat); - SetWindowTextA(GetDlgItem(hwnd, IDC_LSCALE_CHAT), szBuf); + mir_sntprintf(szBuf, 10, _T("%d"), shake.nScaleClist); + SetDlgItemText(hwnd,IDC_LSCALE_CLIST,szBuf); + mir_sntprintf(szBuf, 10, _T("%d"), shake.nScaleChat); + SetDlgItemText(hwnd,IDC_LSCALE_CHAT,szBuf); SendDlgItemMessage(hwnd, IDC_SNUMBER_CLIST, TBM_SETRANGE, 0, (LPARAM)MAKELONG(1, 60)); SendDlgItemMessage(hwnd, IDC_SNUMBER_CHAT, TBM_SETRANGE, 0, (LPARAM)MAKELONG(1, 60)); @@ -174,17 +77,17 @@ INT_PTR CALLBACK DlgProcShakeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) if((HWND)lParam == GetDlgItem(hwnd, IDC_SNUMBER_CLIST) || (HWND)lParam == GetDlgItem(hwnd, IDC_SNUMBER_CHAT) || (HWND)lParam == GetDlgItem(hwnd, IDC_SSCALE_CLIST) || (HWND)lParam == GetDlgItem(hwnd, IDC_SSCALE_CHAT)) { - char szBuf[20]; + TCHAR szBuf[20]; DWORD dwPos = SendMessage((HWND) lParam, TBM_GETPOS, 0, 0); - _snprintf(szBuf, 10, "%d", dwPos); + mir_sntprintf(szBuf, sizeof(szBuf), _T("%d"), dwPos); if ((HWND)lParam == GetDlgItem(hwnd, IDC_SNUMBER_CLIST)) - SetWindowTextA(GetDlgItem(hwnd, IDC_LNUMBER_CLIST), szBuf); + SetDlgItemText(hwnd,IDC_LNUMBER_CLIST,szBuf); if ((HWND)lParam == GetDlgItem(hwnd, IDC_SNUMBER_CHAT)) - SetWindowTextA(GetDlgItem(hwnd, IDC_LNUMBER_CHAT), szBuf); + SetDlgItemText(hwnd,IDC_LNUMBER_CHAT,szBuf); if ((HWND)lParam == GetDlgItem(hwnd, IDC_SSCALE_CLIST)) - SetWindowTextA(GetDlgItem(hwnd, IDC_LSCALE_CLIST), szBuf); + SetDlgItemText(hwnd,IDC_LSCALE_CLIST,szBuf); if ((HWND)lParam == GetDlgItem(hwnd, IDC_SSCALE_CHAT)) - SetWindowTextA(GetDlgItem(hwnd, IDC_LSCALE_CHAT), szBuf); + SetDlgItemText(hwnd,IDC_LSCALE_CHAT,szBuf); SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); } break; @@ -200,10 +103,10 @@ INT_PTR CALLBACK DlgProcShakeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { case PSN_APPLY: { - shake.nMoveClist = (int) SendMessage((HWND) GetDlgItem(hwnd, IDC_SNUMBER_CLIST), TBM_GETPOS, 0, 0); - shake.nMoveChat = (int) SendMessage((HWND) GetDlgItem(hwnd, IDC_SNUMBER_CHAT), TBM_GETPOS, 0, 0); - shake.nScaleClist = (int) SendMessage((HWND) GetDlgItem(hwnd, IDC_SSCALE_CLIST), TBM_GETPOS, 0, 0); - shake.nScaleChat = (int) SendMessage((HWND) GetDlgItem(hwnd, IDC_SSCALE_CHAT), TBM_GETPOS, 0, 0); + shake.nMoveClist = (int) SendMessage(GetDlgItem(hwnd, IDC_SNUMBER_CLIST), TBM_GETPOS, 0, 0); + shake.nMoveChat = (int) SendMessage(GetDlgItem(hwnd, IDC_SNUMBER_CHAT), TBM_GETPOS, 0, 0); + shake.nScaleClist = (int) SendMessage(GetDlgItem(hwnd, IDC_SSCALE_CLIST), TBM_GETPOS, 0, 0); + shake.nScaleChat = (int) SendMessage(GetDlgItem(hwnd, IDC_SSCALE_CHAT), TBM_GETPOS, 0, 0); shake.Save(); } } @@ -219,25 +122,19 @@ void CreateImageList(HWND hWnd) // Create and populate image list HIMAGELIST hImList = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_MASK | ILC_COLOR32, nProtocol, 0); - NudgeElementList *n; - for(n = NudgeList;n != NULL; n = n->next) + for(NudgeElementList *n = NudgeList;n != NULL; n = n->next) { - HICON hIcon = NULL; - hIcon=(HICON)CallProtoService(n->item.ProtocolName, PS_LOADICON,PLI_PROTOCOL | PLIF_SMALL, 0); - if (hIcon == NULL || (int)hIcon == CALLSERVICE_NOTFOUND) + INT_PTR res = CallProtoService(n->item.ProtocolName, PS_LOADICON,PLI_PROTOCOL | PLIF_SMALL | PLIF_ICOLIB, 0); + if(res==CALLSERVICE_NOTFOUND) { - hIcon=(HICON)CallProtoService(n->item.ProtocolName, PS_LOADICON, PLI_PROTOCOL, 0); + res = CallService(MS_SKIN2_GETICONBYHANDLE,0,(LPARAM)n->item.hIcoLibItem); } - - if (hIcon == NULL || (int)hIcon == CALLSERVICE_NOTFOUND) - hIcon = (HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_NUDGE), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0); + HICON hIcon = (HICON) res; ImageList_AddIcon(hImList, hIcon); - DestroyIcon(hIcon); } //ADD default Icon for nudge - HICON hIcon = NULL; - hIcon = (HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_NUDGE), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0); + HICON hIcon = (HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_NUDGE), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0); ImageList_AddIcon(hImList, hIcon); DestroyIcon(hIcon); @@ -259,21 +156,12 @@ void PopulateProtocolList(HWND hWnd) tvi.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_STATE | TVIF_SELECTEDIMAGE; tvi.item.stateMask = TVIS_STATEIMAGEMASK; - NudgeElementList *n; int i = 0; if (GlobalNudge.useByProtocol) { - #ifdef _UNICODE - wchar_t buff[256]; - #endif - for(n = NudgeList;n != NULL; n = n->next) + for(NudgeElementList *n = NudgeList;n != NULL; n = n->next) { - #ifdef _UNICODE - MultiByteToWideChar(CP_ACP, 0, n->item.ProtocolName, -1, buff, 256); - tvi.item.pszText = buff; - #else - tvi.item.pszText = n->item.ProtocolName; - #endif + tvi.item.pszText = n->item.AccountName; tvi.item.iImage = i; n->item.iProtoNumber = i; tvi.item.iSelectedImage = i; @@ -299,13 +187,16 @@ void PopulateProtocolList(HWND hWnd) INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) { + static bool iInitDone = true; switch(msg) { case WM_INITDIALOG: + iInitDone = false; TranslateDialogDefault(hwnd); CreateImageList(hwnd); PopulateProtocolList(hwnd); UpdateControls(hwnd); + iInitDone = true; break; case WM_DESTROY: { @@ -325,55 +216,15 @@ INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) case IDC_PREVIEW: Preview(); break; - case IDC_POPUPTIME: - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); - break; - case IDC_POPUPTEXTCOLOR: - case IDC_POPUPBACKCOLOR: - if (ActualNudge)// fix NULL pointer then no nudge support protocols - { - ActualNudge->popupBackColor = SendDlgItemMessage(hwnd,IDC_POPUPBACKCOLOR,CPM_GETCOLOUR,0,0); - ActualNudge->popupTextColor = SendDlgItemMessage(hwnd,IDC_POPUPTEXTCOLOR,CPM_GETCOLOUR,0,0); - } - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); - break; - case IDC_USEWINCOLORS: - if (ActualNudge)// fix NULL pointer then no nudge support protocols - { - ActualNudge->popupWindowColor = (IsDlgButtonChecked(hwnd,IDC_USEWINCOLORS)==BST_CHECKED); - EnableWindow(GetDlgItem(hwnd,IDC_POPUPBACKCOLOR), ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - EnableWindow(GetDlgItem(hwnd,IDC_POPUPTEXTCOLOR), ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - } - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); - break; - case IDC_CHECKPOP: - if (ActualNudge)// fix NULL pointer then no nudge support protocols - { - ActualNudge->showPopup = (IsDlgButtonChecked(hwnd,IDC_CHECKPOP)==BST_CHECKED); - EnableWindow(GetDlgItem(hwnd,IDC_USEWINCOLORS),ActualNudge->showPopup); - EnableWindow(GetDlgItem(hwnd,IDC_POPUPBACKCOLOR),ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - EnableWindow(GetDlgItem(hwnd,IDC_POPUPTEXTCOLOR),ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - EnableWindow(GetDlgItem(hwnd,IDC_POPUPTIME),ActualNudge->showPopup); - } - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); - break; case IDC_USEBYPROTOCOL: GlobalNudge.useByProtocol = (IsDlgButtonChecked(hwnd,IDC_USEBYPROTOCOL)==BST_CHECKED); PopulateProtocolList(hwnd); UpdateControls(hwnd); SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); break; - case IDC_CHECKEVENT: - case IDC_CHECKCLIST: - case IDC_CHECKCHAT: - case IDC_CHECKSTATUS: case IDC_AUTORESEND: if (ActualNudge)// fix NULL pointer then no nudge support protocols { - ActualNudge->shakeClist = (IsDlgButtonChecked(hwnd,IDC_CHECKCLIST)==BST_CHECKED); - ActualNudge->shakeChat = (IsDlgButtonChecked(hwnd,IDC_CHECKCHAT)==BST_CHECKED); - ActualNudge->showEvent = (IsDlgButtonChecked(hwnd,IDC_CHECKEVENT)==BST_CHECKED); - ActualNudge->showStatus = (IsDlgButtonChecked(hwnd,IDC_CHECKSTATUS)==BST_CHECKED); ActualNudge->autoResend = (IsDlgButtonChecked(hwnd,IDC_AUTORESEND)==BST_CHECKED); EnableWindow(GetDlgItem(hwnd,IDC_RESENDDELAY),ActualNudge->autoResend); } @@ -389,11 +240,22 @@ INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) case IDC_CHECKST7: case IDC_CHECKST8: case IDC_CHECKST9: + case IDC_CHECKPOP: + case IDC_OPENMESSAGE: + case IDC_CHECKCLIST: + case IDC_CHECKCHAT: + case IDC_CHECKSTATUS: + case IDC_IGNORE: + case IDC_OPENCONTACTLIST: + SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); + break; + case IDC_RESENDDELAY: case IDC_SENDTEXT: case IDC_RECVTEXT: case IDC_SENDTIME: case IDC_RECVTIME: - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); + if(iInitDone && (wNotifyCode == EN_CHANGE)) + SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); break; } break; @@ -417,8 +279,12 @@ INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) if(GlobalNudge.resendDelaySec < 1 ) GlobalNudge.resendDelaySec = 1; if (ActualNudge)// fix NULL pointer then no nudge support protocols { - ActualNudge->popupTimeSec = GetDlgItemInt(hwnd,IDC_POPUPTIME,&Translated,FALSE); - ActualNudge->popupWindowColor = (IsDlgButtonChecked(hwnd,IDC_USEWINCOLORS)==BST_CHECKED); + ActualNudge->shakeClist = (IsDlgButtonChecked(hwnd,IDC_CHECKCLIST)==BST_CHECKED); + ActualNudge->shakeChat = (IsDlgButtonChecked(hwnd,IDC_CHECKCHAT)==BST_CHECKED); + ActualNudge->openMessageWindow = (IsDlgButtonChecked(hwnd,IDC_OPENMESSAGE)==BST_CHECKED); + ActualNudge->openContactList = (IsDlgButtonChecked(hwnd,IDC_OPENCONTACTLIST)==BST_CHECKED); + ActualNudge->useIgnoreSettings = (IsDlgButtonChecked(hwnd,IDC_IGNORE)==BST_CHECKED); + ActualNudge->showStatus = (IsDlgButtonChecked(hwnd,IDC_CHECKSTATUS)==BST_CHECKED); ActualNudge->showPopup = (IsDlgButtonChecked(hwnd,IDC_CHECKPOP)==BST_CHECKED); ActualNudge->statusFlags = ((IsDlgButtonChecked(hwnd,IDC_CHECKST0)==BST_CHECKED) ? NUDGE_ACC_ST0 : 0) | @@ -455,7 +321,6 @@ INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) CheckChange(hwnd,ht.hItem);*/ if (TVHT_ONITEMSTATEICON & ht.flags) CheckChange(hwnd,ht.hItem); - SendMessage(GetParent(hwnd),PSM_CHANGED,0,0); } case TVN_KEYDOWN: @@ -463,8 +328,7 @@ INT_PTR CALLBACK DlgProcNudgeOpt(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam) CheckChange(hwnd, TreeView_GetSelection(((LPNMHDR)lParam)->hwndFrom)); break; - case TVN_SELCHANGEDA: - case TVN_SELCHANGEDW: + case TVN_SELCHANGED: { LPNMTREEVIEW pnmtv = (LPNMTREEVIEW) lParam; if (pnmtv->itemNew.state & TVIS_SELECTED) @@ -488,12 +352,11 @@ void CheckChange(HWND hwnd, HTREEITEM hItem) TreeView_SelectItem(hLstView, hItem); int proto = nProtocol; - NudgeElementList *n; if (GlobalNudge.useByProtocol) { proto = GetSelProto(hwnd, hItem); ActualNudge = NULL; - for(n = NudgeList;n != NULL; n = n->next) + for(NudgeElementList *n = NudgeList;n != NULL; n = n->next) { if(n->item.iProtoNumber == proto) ActualNudge = &n->item; @@ -511,12 +374,11 @@ void CheckChange(HWND hwnd, HTREEITEM hItem) void UpdateControls(HWND hwnd) { int proto = nProtocol; - NudgeElementList *n; if (GlobalNudge.useByProtocol) { proto = GetSelProto(hwnd,NULL); ActualNudge = NULL; - for(n = NudgeList;n != NULL; n = n->next) + for(NudgeElementList *n = NudgeList;n != NULL; n = n->next) { if(n->item.iProtoNumber == proto) ActualNudge = &n->item; @@ -529,25 +391,17 @@ void UpdateControls(HWND hwnd) SetDlgItemInt(hwnd, IDC_RECVTIME, GlobalNudge.recvTimeSec,FALSE); SetDlgItemInt(hwnd, IDC_RESENDDELAY, GlobalNudge.resendDelaySec,FALSE); CheckDlgButton(hwnd, IDC_USEBYPROTOCOL, (WPARAM) GlobalNudge.useByProtocol); - SendDlgItemMessage(hwnd, IDC_POPUPBACKCOLOR, CPM_SETDEFAULTCOLOUR, 0, GetSysColor(COLOR_BTNFACE)); - SendDlgItemMessage(hwnd, IDC_POPUPTEXTCOLOR, CPM_SETDEFAULTCOLOUR, 0, GetSysColor(COLOR_WINDOWTEXT)); if (ActualNudge)// fix NULL pointer then no nudge support protocols { CheckDlgButton(hwnd, IDC_CHECKPOP, (WPARAM) ActualNudge->showPopup); - CheckDlgButton(hwnd, IDC_USEWINCOLORS, (WPARAM) ActualNudge->popupWindowColor); CheckDlgButton(hwnd, IDC_CHECKCLIST, (WPARAM) ActualNudge->shakeClist); CheckDlgButton(hwnd, IDC_CHECKCHAT, (WPARAM) ActualNudge->shakeChat); - CheckDlgButton(hwnd, IDC_CHECKEVENT, (WPARAM) ActualNudge->showEvent); CheckDlgButton(hwnd, IDC_CHECKSTATUS, (WPARAM) ActualNudge->showStatus); CheckDlgButton(hwnd, IDC_AUTORESEND, (WPARAM) ActualNudge->autoResend); - SetDlgItemInt(hwnd, IDC_POPUPTIME, ActualNudge->popupTimeSec,FALSE); - SendDlgItemMessage(hwnd, IDC_POPUPBACKCOLOR, CPM_SETCOLOUR,0, ActualNudge->popupBackColor); - SendDlgItemMessage(hwnd, IDC_POPUPTEXTCOLOR, CPM_SETCOLOUR,0, ActualNudge->popupTextColor); - EnableWindow(GetDlgItem(hwnd, IDC_USEWINCOLORS), ActualNudge->showPopup); - EnableWindow(GetDlgItem(hwnd, IDC_POPUPBACKCOLOR), ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - EnableWindow(GetDlgItem(hwnd, IDC_POPUPTEXTCOLOR), ActualNudge->showPopup && ! ActualNudge->popupWindowColor); - EnableWindow(GetDlgItem(hwnd, IDC_POPUPTIME), ActualNudge->showPopup); + CheckDlgButton(hwnd, IDC_OPENMESSAGE, (WPARAM) ActualNudge->openMessageWindow); + CheckDlgButton(hwnd, IDC_OPENCONTACTLIST, (WPARAM) ActualNudge->openContactList); + CheckDlgButton(hwnd, IDC_IGNORE, (WPARAM) ActualNudge->useIgnoreSettings); EnableWindow(GetDlgItem(hwnd,IDC_RESENDDELAY),ActualNudge->autoResend); CheckDlgButton(hwnd,IDC_CHECKST0,ActualNudge->statusFlags & NUDGE_ACC_ST0 ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwnd,IDC_CHECKST1,ActualNudge->statusFlags & NUDGE_ACC_ST1 ? BST_CHECKED : BST_UNCHECKED); @@ -559,8 +413,12 @@ void UpdateControls(HWND hwnd) CheckDlgButton(hwnd,IDC_CHECKST7,ActualNudge->statusFlags & NUDGE_ACC_ST7 ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwnd,IDC_CHECKST8,ActualNudge->statusFlags & NUDGE_ACC_ST8 ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwnd,IDC_CHECKST9,ActualNudge->statusFlags & NUDGE_ACC_ST9 ? BST_CHECKED : BST_UNCHECKED); - SetWindowText(GetDlgItem(hwnd, IDC_SENDTEXT), ActualNudge->senText); - SetWindowText(GetDlgItem(hwnd, IDC_RECVTEXT), ActualNudge->recText); + SetDlgItemText(hwnd,IDC_SENDTEXT,ActualNudge->senText); + SetDlgItemText(hwnd,IDC_RECVTEXT,ActualNudge->recText); + } + else + { + EnableWindow(GetDlgItem(hwnd,IDC_PROTOLIST),FALSE); } } -- cgit v1.2.3