diff options
| -rw-r--r-- | plugins/Scriver/src/msgwindow.cpp | 153 | ||||
| -rw-r--r-- | plugins/Scriver/src/statusicon.cpp | 16 | ||||
| -rw-r--r-- | plugins/Scriver/src/statusicon.h | 4 | ||||
| -rw-r--r-- | plugins/TabSRMM/src/container.cpp | 2 | ||||
| -rw-r--r-- | plugins/TabSRMM/src/generic_msghandlers.cpp | 175 | ||||
| -rw-r--r-- | plugins/TabSRMM/src/msgs.h | 4 | ||||
| -rw-r--r-- | plugins/TabSRMM/src/tabctrl.cpp | 418 | ||||
| -rw-r--r-- | src/core/stdmsg/src/msgdialog.cpp | 2 | ||||
| -rw-r--r-- | src/core/stdmsg/src/statusicon.cpp | 16 | ||||
| -rw-r--r-- | src/core/stdmsg/src/statusicon.h | 4 | 
10 files changed, 366 insertions, 428 deletions
| diff --git a/plugins/Scriver/src/msgwindow.cpp b/plugins/Scriver/src/msgwindow.cpp index bec26597d2..2e76de9cdf 100644 --- a/plugins/Scriver/src/msgwindow.cpp +++ b/plugins/Scriver/src/msgwindow.cpp @@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  #define TIMEOUT_FLASHWND     900
 -static  void DrawTab(ParentWindowData *dat, HWND hwnd, WPARAM wParam, LPARAM lParam);
 +static void DrawTab(ParentWindowData *dat, HWND hwnd, WPARAM wParam, LPARAM lParam);
  /////////////////////////////////////////////////////////////////////////////////////////
 @@ -41,7 +41,7 @@ TCHAR* GetWindowTitle(MCONTACT hContact, const char *szProto)  {
  	TCHAR* tokens[4] = { 0 };
  	size_t tokenLen[4] = { 0 };
 -	TCHAR *p, *tmplt, *title;
 +	TCHAR *p, *tmplt;
  	TCHAR *pszNewTitleEnd = mir_tstrdup(TranslateT("Message Session"));
  	int isTemplate = 0;
  	if (hContact && szProto) {
 @@ -101,7 +101,7 @@ TCHAR* GetWindowTitle(MCONTACT hContact, const char *szProto)  	if (!isTemplate)
  		len += mir_tstrlen(pszNewTitleEnd);
 -	title = (TCHAR*)mir_alloc(sizeof(TCHAR) * (len + 1));
 +	TCHAR *title = (TCHAR*)mir_alloc(sizeof(TCHAR) * (len + 1));
  	for (len = 0, p = tmplt; *p; p++) {
  		if (*p == '%') {
  			for (i = 0; i < SIZEOF(titleTokenNames); i++) {
 @@ -731,10 +731,13 @@ __forceinline void UnsubclassTabCtrl(HWND hwnd)  INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
  {
 +	ParentWindowData *dat = (ParentWindowData*)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
 +	if (!dat && msg != WM_INITDIALOG)
 +		return FALSE;
 +
 +	RECT rc;
  	DWORD ws;
 -	ParentWindowData *dat;
 -	dat = (ParentWindowData *)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
 -	if (!dat && msg != WM_INITDIALOG) return FALSE;
 +
  	switch (msg) {
  	case WM_INITDIALOG:
  		HMENU hMenu;
 @@ -834,7 +837,7 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  		if (IsIconic(hwndDlg))
  			MoveWindow(dat->hwndActive, dat->childRect.left, dat->childRect.top, dat->childRect.right - dat->childRect.left, dat->childRect.bottom - dat->childRect.top, TRUE);
  		else {
 -			RECT rc, rcStatus, rcChild, rcWindow;
 +			RECT rcStatus, rcChild, rcWindow;
  			SIZE size;
  			dat->bMinimized = 0;
  			GetClientRect(hwndDlg, &rc);
 @@ -910,19 +913,19 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  			if (pNMHDR->hwndFrom == dat->hwndTabs) {
  				switch (pNMHDR->code) {
  				case TCN_SELCHANGE:
 -				{
 -					TCITEM tci = { 0 };
 -					int iSel = TabCtrl_GetCurSel(dat->hwndTabs);
 -					tci.mask = TCIF_PARAM;
 -					if (TabCtrl_GetItem(dat->hwndTabs, iSel, &tci)) {
 -						MessageWindowTabData * mwtd = (MessageWindowTabData *)tci.lParam;
 -						ActivateChild(dat, mwtd->hwnd);
 -						SetFocus(dat->hwndActive);
 +					{
 +						TCITEM tci = { 0 };
 +						int iSel = TabCtrl_GetCurSel(dat->hwndTabs);
 +						tci.mask = TCIF_PARAM;
 +						if (TabCtrl_GetItem(dat->hwndTabs, iSel, &tci)) {
 +							MessageWindowTabData * mwtd = (MessageWindowTabData *)tci.lParam;
 +							ActivateChild(dat, mwtd->hwnd);
 +							SetFocus(dat->hwndActive);
 +						}
  					}
 -				}
 -				break;
 +					break;
 +
  				case NM_RCLICK:
 -				{
  					TCHITTESTINFO thinfo;
  					GetCursorPos(&thinfo.pt);
 @@ -931,18 +934,16 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  					ScreenToClient(dat->hwndTabs, &thinfo.pt);
  					int tabId = TabCtrl_HitTest(dat->hwndTabs, &thinfo);
  					if (tabId != -1) {
 -						HMENU hMenu, hSubMenu, hUserMenu;
 -						BOOL menuResult;
 -						MessageWindowTabData * mwtd = GetChildFromTab(dat->hwndTabs, tabId);
 -						hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_CONTEXT));
 -						hSubMenu = GetSubMenu(hMenu, 3);
 +						MessageWindowTabData *mwtd = GetChildFromTab(dat->hwndTabs, tabId);
 +						HMENU hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_CONTEXT));
 +						HMENU hSubMenu = GetSubMenu(hMenu, 3);
  						TranslateMenu(hSubMenu);
 -						hUserMenu = (HMENU)SendMessage(mwtd->hwnd, DM_GETCONTEXTMENU, 0, 0);
 +						HMENU hUserMenu = (HMENU)SendMessage(mwtd->hwnd, DM_GETCONTEXTMENU, 0, 0);
  						if (hUserMenu != NULL) {
  							InsertMenu(hSubMenu, 0, MF_POPUP | MF_BYPOSITION, (UINT_PTR)hUserMenu, TranslateT("User Menu"));
  							InsertMenu(hSubMenu, 1, MF_SEPARATOR | MF_BYPOSITION, 0, 0);
  						}
 -						menuResult = TrackPopupMenu(hSubMenu, TPM_RETURNCMD, x, y, 0, hwndDlg, NULL);
 +						BOOL menuResult = TrackPopupMenu(hSubMenu, TPM_RETURNCMD, x, y, 0, hwndDlg, NULL);
  						switch (menuResult) {
  						case IDM_CLOSETAB:
  							SendMessage(mwtd->hwnd, WM_CLOSE, 0, 0);
 @@ -959,19 +960,16 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  					}
  				}
  				break;
 -				}
  			}
  			else if (pNMHDR->hwndFrom == dat->hwndStatus) {
  				switch (pNMHDR->code) {
  				case NM_CLICK:
  					NMMOUSE *nm = (NMMOUSE*)lParam;
 -					RECT rc;
  					SendMessage(dat->hwndStatus, SB_GETRECT, SendMessage(dat->hwndStatus, SB_GETPARTS, 0, 0) - 2, (LPARAM)&rc);
  					if (nm->pt.x >= rc.left) {
  						MessageWindowTabData *mwtd = GetChildFromHWND(dat, dat->hwndActive);
 -						if (mwtd != NULL) {
 +						if (mwtd != NULL)
  							CheckStatusIconClick(mwtd->hContact, dat->hwndStatus, nm->pt, rc, 2, (pNMHDR->code == NM_RCLICK ? MBCF_RIGHTBUTTON : 0));
 -						}
  					}
  					return TRUE;
  				}
 @@ -998,7 +996,6 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  	case WM_CONTEXTMENU:
  		if (dat->hwndStatus && dat->hwndStatus == (HWND)wParam) {
 -			RECT rc;
  			POINT pt, pt2;
  			GetCursorPos(&pt);
  			pt2 = pt;
 @@ -1051,17 +1048,18 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  	case WM_MOVING:
  		if ((GetAsyncKeyState(VK_CONTROL) & 0x8000)) {
  			int snapPixels = 10;
 -			RECT rcDesktop;
  			RECT *pRect = (RECT *)lParam;
 -			POINT pt;
 -			MONITORINFO mi;
  			HMONITOR hMonitor = MonitorFromRect(pRect, MONITOR_DEFAULTTONEAREST);
  			SIZE szSize = { pRect->right - pRect->left, pRect->bottom - pRect->top };
 +
 +			MONITORINFO mi;
  			mi.cbSize = sizeof(mi);
  			GetMonitorInfo(hMonitor, &mi);
 +
 +			POINT pt;
  			GetCursorPos(&pt);
 -			rcDesktop = mi.rcWork;
 +			RECT rcDesktop = mi.rcWork;
  			pRect->left = pt.x - dat->mouseLBDownPos.x;
  			pRect->top = pt.y - dat->mouseLBDownPos.y;
  			pRect->right = pRect->left + szSize.cx;
 @@ -1297,48 +1295,49 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  		break;
  	case CM_UPDATETABCONTROL:
 -	{
 -		TCHAR *ptszTemp = NULL;
 -		TabControlData *tcd = (TabControlData *)wParam;
 -		int tabId = GetTabFromHWND(dat, (HWND)lParam);
 -		if (tabId >= 0 && tcd != NULL) {
 -			TCITEM tci;
 -			tci.mask = 0;
 -			if (tcd->iFlags & TCDF_TEXT) {
 -				tci.mask |= TCIF_TEXT;
 -				tci.pszText = tcd->pszText;
 -				if (g_dat.flags2 & SMF2_LIMITNAMES) {
 -					TCHAR * ltext = limitText(tcd->pszText, g_dat.limitNamesLength);
 -					if (ltext != tcd->pszText)
 -						tci.pszText = ptszTemp = ltext;
 +		{
 +			TabControlData *tcd = (TabControlData*)wParam;
 +			int tabId = GetTabFromHWND(dat, (HWND)lParam);
 +			if (tabId >= 0 && tcd != NULL) {
 +				TCHAR *ptszTemp = NULL;
 +
 +				TCITEM tci;
 +				tci.mask = 0;
 +				if (tcd->iFlags & TCDF_TEXT) {
 +					tci.mask |= TCIF_TEXT;
 +					tci.pszText = tcd->pszText;
 +					if (g_dat.flags2 & SMF2_LIMITNAMES) {
 +						TCHAR *ltext = limitText(tcd->pszText, g_dat.limitNamesLength);
 +						if (ltext != tcd->pszText)
 +							tci.pszText = ptszTemp = ltext;
 +					}
  				}
 -			}
 -			if (tcd->iFlags & TCDF_ICON) {
 -				int iconIdx = -1;
 -				if (tcd->hIcon != NULL) {
 -					TCITEM tci2;
 -					tci2.mask = TCIF_IMAGE;
 -					TabCtrl_GetItem(dat->hwndTabs, tabId, &tci2);
 -					iconIdx = AddOrReplaceIcon(g_dat.hTabIconList, tci2.iImage, tcd->hIcon);
 +				if (tcd->iFlags & TCDF_ICON) {
 +					int iconIdx = -1;
 +					if (tcd->hIcon != NULL) {
 +						TCITEM tci2;
 +						tci2.mask = TCIF_IMAGE;
 +						TabCtrl_GetItem(dat->hwndTabs, tabId, &tci2);
 +						iconIdx = AddOrReplaceIcon(g_dat.hTabIconList, tci2.iImage, tcd->hIcon);
 +					}
 +					tci.mask |= TCIF_IMAGE;
 +					tci.iImage = iconIdx;
  				}
 -				tci.mask |= TCIF_IMAGE;
 -				tci.iImage = iconIdx;
 +				TabCtrl_SetItem(dat->hwndTabs, tabId, &tci);
 +				mir_free(ptszTemp);
  			}
 -			TabCtrl_SetItem(dat->hwndTabs, tabId, &tci);
  		}
 -		mir_free(ptszTemp);
 -	}
 -	break;
 +		break;
  	case DM_SWITCHINFOBAR:
  		dat->flags2 ^= SMF2_SHOWINFOBAR;
 -		{
 -			for (int i = 0; i < dat->childrenCount; i++) {
 -				MessageWindowTabData * mwtd = GetChildFromTab(dat->hwndTabs, i);
 -				SendMessage(mwtd->hwnd, DM_SWITCHINFOBAR, 0, 0);
 -			}
 -			SendMessage(hwndDlg, WM_SIZE, 0, 0);
 +
 +		for (int i = 0; i < dat->childrenCount; i++) {
 +			MessageWindowTabData * mwtd = GetChildFromTab(dat->hwndTabs, i);
 +			SendMessage(mwtd->hwnd, DM_SWITCHINFOBAR, 0, 0);
  		}
 +		SendMessage(hwndDlg, WM_SIZE, 0, 0);
 +
  		break;
  	case DM_SWITCHSTATUSBAR:
 @@ -1349,18 +1348,16 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  	case DM_SWITCHTOOLBAR:
  		dat->flags2 ^= SMF2_SHOWTOOLBAR;
 -		{
 -			for (int i = 0; i < dat->childrenCount; i++) {
 -				MessageWindowTabData * mwtd = GetChildFromTab(dat->hwndTabs, i);
 -				SendMessage(mwtd->hwnd, DM_SWITCHTOOLBAR, 0, 0);
 -			}
 +
 +		for (int i = 0; i < dat->childrenCount; i++) {
 +			MessageWindowTabData * mwtd = GetChildFromTab(dat->hwndTabs, i);
 +			SendMessage(mwtd->hwnd, DM_SWITCHTOOLBAR, 0, 0);
  		}
 +
  		SendMessage(hwndDlg, WM_SIZE, 0, 0);
  		break;
  	case DM_SWITCHTITLEBAR:
 -	{
 -		RECT rc;
  		dat->flags2 ^= SMF2_SHOWTITLEBAR;
  		ws = GetWindowLongPtr(hwndDlg, GWL_STYLE) & ~(WS_CAPTION);
  		if (dat->flags2 & SMF2_SHOWTITLEBAR)
 @@ -1371,8 +1368,7 @@ INT_PTR CALLBACK DlgProcParentWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR  		SetWindowPos(hwndDlg, 0, 0, 0, rc.right - rc.left, rc.bottom - rc.top,
  			SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER | SWP_FRAMECHANGED | SWP_NOSENDCHANGING);
  		RedrawWindow(hwndDlg, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);
 -	}
 -	break;
 +		break;
  	case DM_CASCADENEWWINDOW:
  		if ((HWND)wParam != hwndDlg) {
 @@ -1414,9 +1410,8 @@ static void DrawTab(ParentWindowData *dat, HWND hwnd, WPARAM wParam, LPARAM lPar  		int bSelected = lpDIS->itemState & ODS_SELECTED;
  		int atTop = (GetWindowLongPtr(hwnd, GWL_STYLE) & TCS_BOTTOM) == 0;
  		UINT dwFormat;
 -		if (!IsAppThemed()) {
 +		if (!IsAppThemed())
  			FillRect(lpDIS->hDC, &rect, GetSysColorBrush(COLOR_BTNFACE));
 -		}
  		else {
  			if (lpDIS->itemState & ODS_SELECTED)
  				tstate = TTIS_SELECTED;
 diff --git a/plugins/Scriver/src/statusicon.cpp b/plugins/Scriver/src/statusicon.cpp index 3cc0c50df1..83d8dfeff2 100644 --- a/plugins/Scriver/src/statusicon.cpp +++ b/plugins/Scriver/src/statusicon.cpp @@ -25,26 +25,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  HANDLE hHookIconPressedEvt;
 -void DrawStatusIcons(MCONTACT hContact, HDC hDC, RECT r, int gap)
 +void DrawStatusIcons(MCONTACT hContact, HDC hDC, const RECT &r, int gap)
  {
 -	HICON hIcon;
  	int x = r.left;
 +	int cx_icon = GetSystemMetrics(SM_CXSMICON);
 +	int cy_icon = GetSystemMetrics(SM_CYSMICON);
  	int nIcon = 0;
  	while (StatusIconData *si = Srmm_GetNthIcon(hContact, nIcon++)) {
 -		if ((si->flags & MBF_DISABLED) && si->hIconDisabled) hIcon = si->hIconDisabled;
 -		else hIcon = si->hIcon;
 +		HICON hIcon = ((si->flags & MBF_DISABLED) && si->hIconDisabled) ? si->hIconDisabled : si->hIcon;
  		SetBkMode(hDC, TRANSPARENT);
 -		DrawIconEx(hDC, x, (r.top + r.bottom - GetSystemMetrics(SM_CYSMICON)) >> 1, hIcon, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0, NULL, DI_NORMAL);
 +		DrawIconEx(hDC, x, (r.top + r.bottom - cy_icon) >> 1, hIcon, cx_icon, cy_icon, 0, NULL, DI_NORMAL);
 -		x += GetSystemMetrics(SM_CYSMICON) + gap;
 +		x += cx_icon + gap;
  	}
  }
 -void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, RECT r, int gap, int click_flags)
 +void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int click_flags)
  {
 -	unsigned int iconNum = (pt.x - r.left) / (GetSystemMetrics(SM_CXSMICON) + gap);
 +	unsigned int iconNum = (pt.x - rc.left) / (GetSystemMetrics(SM_CXSMICON) + gap);
  	StatusIconData *si = Srmm_GetNthIcon(hContact, iconNum);
  	if (si == NULL)
  		return;
 diff --git a/plugins/Scriver/src/statusicon.h b/plugins/Scriver/src/statusicon.h index 232bb06c47..1788637637 100644 --- a/plugins/Scriver/src/statusicon.h +++ b/plugins/Scriver/src/statusicon.h @@ -27,6 +27,6 @@ int InitStatusIcons();  int DeinitStatusIcons();
  int  GetStatusIconsCount(MCONTACT hContact);
 -void DrawStatusIcons(MCONTACT hContact, HDC hdc, RECT r, int gap);
 -void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, RECT rc, int gap, int flags);
 +void DrawStatusIcons(MCONTACT hContact, HDC hdc, const RECT &r, int gap);
 +void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int flags);
  #endif
 diff --git a/plugins/TabSRMM/src/container.cpp b/plugins/TabSRMM/src/container.cpp index 194f14fc89..ea04f9eebd 100644 --- a/plugins/TabSRMM/src/container.cpp +++ b/plugins/TabSRMM/src/container.cpp @@ -834,7 +834,7 @@ panel_found:  					TWindowData *dat = (TWindowData*)GetWindowLongPtr(pContainer->hwndActive, GWLP_USERDATA);  					SendMessage(pContainer->hwndStatus, SB_GETRECT, nPanel, (LPARAM)&rc);  					if (dat) -						SI_CheckStatusIconClick(dat, pContainer->hwndStatus, nm->pt, rc, 2, ((LPNMHDR)lParam)->code); +						CheckStatusIconClick(dat, pContainer->hwndStatus, nm->pt, rc, 2, ((LPNMHDR)lParam)->code);  				}  				else if (((LPNMHDR)lParam)->code == NM_RCLICK) {  					POINT pt; diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp index 492ab6b0ec..2ddf7b3d2a 100644 --- a/plugins/TabSRMM/src/generic_msghandlers.cpp +++ b/plugins/TabSRMM/src/generic_msghandlers.cpp @@ -125,7 +125,7 @@ void TSAPI DM_DismissTip(TWindowData *dat, const POINT& pt)  void TSAPI DM_InitTip(TWindowData *dat)  {  	dat->hwndTip = CreateWindowEx(0, TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_NOPREFIX | TTS_BALLOON, CW_USEDEFAULT, CW_USEDEFAULT, -								  CW_USEDEFAULT, CW_USEDEFAULT, dat->hwnd, NULL, g_hInst, (LPVOID) NULL); +		CW_USEDEFAULT, CW_USEDEFAULT, dat->hwnd, NULL, g_hInst, (LPVOID)NULL);  	memset(&dat->ti, 0, sizeof(dat->ti));  	dat->ti.cbSize = sizeof(dat->ti); @@ -149,7 +149,7 @@ LRESULT TSAPI DM_GenericHotkeysCheck(MSG *message, TWindowData *dat)  	LRESULT mim_hotkey_check = CallService(MS_HOTKEY_CHECK, (WPARAM)message, (LPARAM)(TABSRMM_HK_SECTION_GENERIC));  	HWND	hwndDlg = dat->hwnd; -	switch(mim_hotkey_check) { +	switch (mim_hotkey_check) {  	case TABSRMM_HK_PASTEANDSEND:  		HandlePasteAndSend(dat);  		return 1; @@ -198,7 +198,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  	int   iSelection;  	HMENU submenu; -	switch(cmd) { +	switch (cmd) {  	case IDC_FONTBOLD:  	case IDC_FONTITALIC:  	case IDC_FONTUNDERLINE: @@ -228,15 +228,18 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  				cf.dwEffects = isBold ? 0 : CFE_BOLD;  				cf.dwMask = CFM_BOLD;  				CheckDlgButton(hwndDlg, IDC_FONTBOLD, !isBold); -			} else if (cmd == IDC_FONTITALIC) { +			} +			else if (cmd == IDC_FONTITALIC) {  				cf.dwEffects = isItalic ? 0 : CFE_ITALIC;  				cf.dwMask = CFM_ITALIC;  				CheckDlgButton(hwndDlg, IDC_FONTITALIC, !isItalic); -			} else if (cmd == IDC_FONTUNDERLINE) { +			} +			else if (cmd == IDC_FONTUNDERLINE) {  				cf.dwEffects = isUnderline ? 0 : CFE_UNDERLINE;  				cf.dwMask = CFM_UNDERLINE;  				CheckDlgButton(hwndDlg, IDC_FONTUNDERLINE, !isUnderline); -			} else if (cmd == IDC_FONTSTRIKEOUT) { +			} +			else if (cmd == IDC_FONTSTRIKEOUT) {  				cf.dwEffects = isStrikeout ? 0 : CFM_STRIKEOUT;  				cf.dwMask = CFM_STRIKEOUT;  				CheckDlgButton(hwndDlg, IDC_FONTSTRIKEOUT, !isStrikeout); @@ -263,14 +266,14 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  			}  			if (iSelection == ID_FONT_DEFAULTCOLOR) {  				cf.crTextColor = M.GetDword(FONTMODULE, "Font16Col", 0); -				for (int i=0; i < Utils::rtf_ctable_size; i++) +				for (int i = 0; i < Utils::rtf_ctable_size; i++)  					if (Utils::rtf_ctable[i].clr == cf.crTextColor)  						cf.crTextColor = RGB(GetRValue(cf.crTextColor), GetGValue(cf.crTextColor), GetBValue(cf.crTextColor) == 0 ? GetBValue(cf.crTextColor) + 1 : GetBValue(cf.crTextColor) - 1);  				SendDlgItemMessage(hwndDlg, IDC_MESSAGE, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf);  				break;  			} -			for (int i=0; i < RTF_CTABLE_DEFSIZE; i++) +			for (int i = 0; i < RTF_CTABLE_DEFSIZE; i++)  				if (Utils::rtf_ctable[i].menuid == iSelection) {  					cf.crTextColor = Utils::rtf_ctable[i].clr;  					SendDlgItemMessage(hwndDlg, IDC_MESSAGE, EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf); @@ -301,7 +304,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  		if (dat->bShowSmileys && PluginConfig.g_SmileyAddAvail) {  			MCONTACT hContact = dat->cache->getActiveContact();  			if (CheckValidSmileyPack(dat->cache->getProto(), hContact) != 0) { -				SMADD_SHOWSEL3 smaddInfo = {0}; +				SMADD_SHOWSEL3 smaddInfo = { 0 };  				if (lParam == 0)  					GetWindowRect(GetDlgItem(hwndDlg, IDC_SMILEYBTN), &rc); @@ -417,7 +420,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  		iSelection = TrackPopupMenu(submenu, TPM_RETURNCMD, rc.left, rc.bottom, 0, hwndDlg, NULL); -		switch(iSelection) { +		switch (iSelection) {  		case ID_FAVORITES_ADDCONTACTTOFAVORITES:  			db_set_b(dat->hContact, SRMSGMOD_T, "isFavorite", 1);  			AddContactToFavorites(dat->hContact, dat->cache->getNick(), dat->cache->getProto(), dat->szStatus, dat->wStatus, LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()), 1, PluginConfig.g_hMenuFavorites); @@ -464,7 +467,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  			break;  		case ID_SENDMENU_SENDTOCONTAINER:  			dat->sendMode ^= SMODE_CONTAINER; -			RedrawWindow(hwndDlg, 0, 0, RDW_ERASENOW|RDW_UPDATENOW); +			RedrawWindow(hwndDlg, 0, 0, RDW_ERASENOW | RDW_UPDATENOW);  			break;  		case ID_SENDMENU_FORCEANSISEND:  			dat->sendMode ^= SMODE_FORCEANSI; @@ -473,7 +476,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  			if (sendLater->isAvail())  				dat->sendMode ^= SMODE_SENDLATER;  			else -				CWarning::show(CWarning::WARN_NO_SENDLATER, MB_OK|MB_ICONINFORMATION, TranslateT("Configuration issue|The unattended send feature is disabled. The \\b1 send later\\b0  and \\b1 send to multiple contacts\\b0  features depend on it.\n\nYou must enable it under \\b1Options->Message Sessions->Advanced tweaks\\b0. Changing this option requires a restart.")); +				CWarning::show(CWarning::WARN_NO_SENDLATER, MB_OK | MB_ICONINFORMATION, TranslateT("Configuration issue|The unattended send feature is disabled. The \\b1 send later\\b0  and \\b1 send to multiple contacts\\b0  features depend on it.\n\nYou must enable it under \\b1Options->Message Sessions->Advanced tweaks\\b0. Changing this option requires a restart."));  			break;  		case ID_SENDMENU_SENDWITHOUTTIMEOUTS:  			dat->sendMode ^= SMODE_NOACK; @@ -487,16 +490,16 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  		db_set_b(dat->hContact, SRMSGMOD_T, "forceansi", (BYTE)(dat->sendMode & SMODE_FORCEANSI ? 1 : 0));  		SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOSIZE | SWP_NOMOVE);  		if (dat->sendMode & SMODE_MULTIPLE || dat->sendMode & SMODE_CONTAINER) { -			SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME|SWP_FRAMECHANGED|SWP_NOZORDER| -				SWP_NOMOVE|SWP_NOSIZE|SWP_NOCOPYBITS); -			RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE|RDW_ERASE|RDW_UPDATENOW|RDW_ALLCHILDREN); +			SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOZORDER | +				SWP_NOMOVE | SWP_NOSIZE | SWP_NOCOPYBITS); +			RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN);  		}  		else {  			if (IsWindow(GetDlgItem(hwndDlg, IDC_CLIST)))  				DestroyWindow(GetDlgItem(hwndDlg, IDC_CLIST)); -			SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME|SWP_FRAMECHANGED|SWP_NOZORDER| -				SWP_NOMOVE|SWP_NOSIZE|SWP_NOCOPYBITS); -			RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE|RDW_ERASE|RDW_UPDATENOW|RDW_ALLCHILDREN); +			SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOZORDER | +				SWP_NOMOVE | SWP_NOSIZE | SWP_NOCOPYBITS); +			RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW | RDW_ALLCHILDREN);  		}  		SendMessage(hwndContainer, DM_QUERYCLIENTAREA, 0, (LPARAM)&rc);  		SendMessage(hwndDlg, WM_SIZE, 0, 0); @@ -527,7 +530,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  				SendMessage(hwndDlg, WM_SIZE, 1, 1);  			} -			DBVARIANT dbv = {0}; +			DBVARIANT dbv = { 0 };  			if (0 == db_get_ts(dat->hContact, "UserInfo", "MyNotes", &dbv)) {  				SetDlgItemText(hwndDlg, IDC_MESSAGE, dbv.ptszVal); @@ -548,12 +551,12 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  				DM_ScrollToBottom(dat, 0, 1);  			}  		} -		SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME|SWP_FRAMECHANGED|SWP_NOZORDER| -			SWP_NOMOVE|SWP_NOSIZE|SWP_NOCOPYBITS); -		RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE|RDW_ERASE|RDW_FRAME|RDW_UPDATENOW|RDW_ALLCHILDREN); +		SetWindowPos(GetDlgItem(hwndDlg, IDC_MESSAGE), 0, 0, 0, 0, 0, SWP_DRAWFRAME | SWP_FRAMECHANGED | SWP_NOZORDER | +			SWP_NOMOVE | SWP_NOSIZE | SWP_NOCOPYBITS); +		RedrawWindow(hwndDlg, 0, 0, RDW_INVALIDATE | RDW_ERASE | RDW_FRAME | RDW_UPDATENOW | RDW_ALLCHILDREN);  		if (dat->fEditNotesActive) -			CWarning::show(CWarning::WARN_EDITUSERNOTES, MB_OK|MB_ICONINFORMATION); +			CWarning::show(CWarning::WARN_EDITUSERNOTES, MB_OK | MB_ICONINFORMATION);  		break;  	case IDM_CLEAR: @@ -561,7 +564,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  		break;  	case IDC_PROTOCOL: -		submenu = (HMENU) CallService(MS_CLIST_MENUBUILDCONTACT, dat->hContact, 0); +		submenu = (HMENU)CallService(MS_CLIST_MENUBUILDCONTACT, dat->hContact, 0);  		if (lParam == 0)  			GetWindowRect(GetDlgItem(hwndDlg, IDC_PROTOCOL), &rc);  		else @@ -574,7 +577,7 @@ LRESULT TSAPI DM_MsgWindowCmdHandler(HWND hwndDlg, TContainerData *m_pContainer,  		DestroyMenu(submenu);  		break; -	// error control +		// error control  	case IDC_CANCELSEND:  		SendMessage(hwndDlg, DM_ERRORDECIDED, MSGERROR_CANCEL, 0);  		break; @@ -655,7 +658,7 @@ LRESULT TSAPI DM_ContainerCmdHandler(TContainerData *pContainer, UINT cmd, WPARA  	HWND hwndDlg = pContainer->hwnd;  	TWindowData *dat = (TWindowData*)GetWindowLongPtr(pContainer->hwndActive, GWLP_USERDATA); -	switch(cmd) { +	switch (cmd) {  	case IDC_CLOSE:  		SendMessage(hwndDlg, WM_SYSCOMMAND, SC_CLOSE, 0);  		break; @@ -736,17 +739,17 @@ LRESULT TSAPI DM_ContainerCmdHandler(TContainerData *pContainer, UINT cmd, WPARA  		ApplyContainerSetting(pContainer, (CNT_NOFLASH | CNT_FLASHALWAYS), 0, false);  		return 0;  	case ID_OPTIONS_SAVECURRENTWINDOWPOSITIONASDEFAULT: -		{ -			WINDOWPLACEMENT wp = {0}; -			wp.length = sizeof(wp); -			if (GetWindowPlacement(hwndDlg, &wp)) { -				db_set_dw(0, SRMSGMOD_T, "splitx", wp.rcNormalPosition.left); -				db_set_dw(0, SRMSGMOD_T, "splity", wp.rcNormalPosition.top); -				db_set_dw(0, SRMSGMOD_T, "splitwidth", wp.rcNormalPosition.right - wp.rcNormalPosition.left); -				db_set_dw(0, SRMSGMOD_T, "splitheight", wp.rcNormalPosition.bottom - wp.rcNormalPosition.top); -			} +	{ +		WINDOWPLACEMENT wp = { 0 }; +		wp.length = sizeof(wp); +		if (GetWindowPlacement(hwndDlg, &wp)) { +			db_set_dw(0, SRMSGMOD_T, "splitx", wp.rcNormalPosition.left); +			db_set_dw(0, SRMSGMOD_T, "splity", wp.rcNormalPosition.top); +			db_set_dw(0, SRMSGMOD_T, "splitwidth", wp.rcNormalPosition.right - wp.rcNormalPosition.left); +			db_set_dw(0, SRMSGMOD_T, "splitheight", wp.rcNormalPosition.bottom - wp.rcNormalPosition.top);  		} -		return 0; +	} +	return 0;  	case ID_VIEW_INFOPANEL:  		if (dat) { @@ -759,8 +762,8 @@ LRESULT TSAPI DM_ContainerCmdHandler(TContainerData *pContainer, UINT cmd, WPARA  		}  		return 0; -	// commands from the message log popup will be routed to the -	// message log menu handler +		// commands from the message log popup will be routed to the +		// message log menu handler  	case ID_MESSAGELOGSETTINGS_FORTHISCONTACT:  	case ID_MESSAGELOGSETTINGS_GLOBAL:  		if (dat) { @@ -788,7 +791,7 @@ void TSAPI DM_InitRichEdit(TWindowData *dat)  	char *szStreamOut = NULL;  	bool  fIsChat = ((dat->bType == SESSIONTYPE_CHAT) ? true : false);  	HWND  hwndLog = GetDlgItem(dat->hwnd, !fIsChat ? IDC_LOG : IDC_CHAT_LOG); -	HWND  hwndEdit= GetDlgItem(dat->hwnd, !fIsChat ? IDC_MESSAGE : IDC_CHAT_MESSAGE); +	HWND  hwndEdit = GetDlgItem(dat->hwnd, !fIsChat ? IDC_MESSAGE : IDC_CHAT_MESSAGE);  	HWND  hwndDlg = dat->hwnd;  	dat->inputbg = fIsChat ? M.GetDword(FONTMODULE, "inputbg", SRMSGDEFSET_BKGCOLOUR) : dat->pContainer->theme.inputbg; @@ -825,7 +828,7 @@ void TSAPI DM_InitRichEdit(TWindowData *dat)  		LOGFONTA lf = dat->pContainer->theme.logFonts[MSGFONTID_MESSAGEAREA];  		inputcharcolor = dat->pContainer->theme.fontColors[MSGFONTID_MESSAGEAREA]; -		for (int i=0; i < Utils::rtf_ctable_size; i++) +		for (int i = 0; i < Utils::rtf_ctable_size; i++)  			if (Utils::rtf_ctable[i].clr == inputcharcolor)  				inputcharcolor = RGB(GetRValue(inputcharcolor), GetGValue(inputcharcolor), GetBValue(inputcharcolor) == 0 ? GetBValue(inputcharcolor) + 1 : GetBValue(inputcharcolor) - 1); @@ -833,7 +836,7 @@ void TSAPI DM_InitRichEdit(TWindowData *dat)  		cf2.crTextColor = inputcharcolor;  		cf2.bCharSet = lf.lfCharSet;  		strncpy(cf2.szFaceName, lf.lfFaceName, LF_FACESIZE); -		cf2.dwEffects = ((lf.lfWeight >= FW_BOLD) ? CFE_BOLD : 0) | (lf.lfItalic ? CFE_ITALIC : 0)|(lf.lfUnderline ? CFE_UNDERLINE : 0)|(lf.lfStrikeOut ? CFE_STRIKEOUT : 0); +		cf2.dwEffects = ((lf.lfWeight >= FW_BOLD) ? CFE_BOLD : 0) | (lf.lfItalic ? CFE_ITALIC : 0) | (lf.lfUnderline ? CFE_UNDERLINE : 0) | (lf.lfStrikeOut ? CFE_STRIKEOUT : 0);  		cf2.wWeight = (WORD)lf.lfWeight;  		cf2.bPitchAndFamily = lf.lfPitchAndFamily;  		cf2.yHeight = abs(lf.lfHeight) * 15; @@ -883,7 +886,7 @@ void TSAPI DM_InitRichEdit(TWindowData *dat)  		SetWindowText(hwndEdit, _T(""));  	}  	if (szStreamOut != NULL) { -		SETTEXTEX stx = {ST_DEFAULT, CP_UTF8}; +		SETTEXTEX stx = { ST_DEFAULT, CP_UTF8 };  		SendMessage(hwndEdit, EM_SETTEXTEX, (WPARAM)&stx, (LPARAM)szStreamOut);  		mir_free(szStreamOut);  	} @@ -1004,10 +1007,10 @@ void TSAPI DM_LoadLocale(TWindowData *dat)  		return;  	DBVARIANT dbv; -	if ( !db_get_ts(dat->hContact, SRMSGMOD_T, "locale", &dbv)) +	if (!db_get_ts(dat->hContact, SRMSGMOD_T, "locale", &dbv))  		db_free(&dbv);  	else { -		TCHAR szKLName[KL_NAMELENGTH+1]; +		TCHAR szKLName[KL_NAMELENGTH + 1];  		if (!PluginConfig.m_dontUseDefaultKbd) {  			TCHAR	szBuf[20];  			GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_ILANGUAGE, szBuf, 20); @@ -1134,13 +1137,13 @@ err_out:  HWND TSAPI DM_CreateClist(TWindowData *dat)  {  	if (!sendLater->isAvail()) { -		CWarning::show(CWarning::WARN_NO_SENDLATER, MB_OK|MB_ICONINFORMATION, TranslateT("Configuration issue|The unattended send feature is disabled. The \\b1 send later\\b0  and \\b1 send to multiple contacts\\b0  features depend on it.\n\nYou must enable it under \\b1Options->Message Sessions->Advanced tweaks\\b0. Changing this option requires a restart.")); +		CWarning::show(CWarning::WARN_NO_SENDLATER, MB_OK | MB_ICONINFORMATION, TranslateT("Configuration issue|The unattended send feature is disabled. The \\b1 send later\\b0  and \\b1 send to multiple contacts\\b0  features depend on it.\n\nYou must enable it under \\b1Options->Message Sessions->Advanced tweaks\\b0. Changing this option requires a restart."));  		dat->sendMode &= ~SMODE_MULTIPLE;  		return 0;  	}  	HWND hwndClist = CreateWindowExA(0, "CListControl", "", WS_TABSTOP | WS_VISIBLE | WS_CHILD | 0x248, -								 184, 0, 30, 30, dat->hwnd, (HMENU)IDC_CLIST, g_hInst, NULL); +		184, 0, 30, 30, dat->hwnd, (HMENU)IDC_CLIST, g_hInst, NULL);  	SendMessage(hwndClist, WM_TIMER, 14, 0);  	HANDLE hItem = (HANDLE)SendMessage(hwndClist, CLM_FINDCONTACT, dat->hContact, 0); @@ -1164,7 +1167,7 @@ HWND TSAPI DM_CreateClist(TWindowData *dat)  	SendMessage(hwndClist, CLM_FIRST + 106, 0, 1);  	SendMessage(hwndClist, CLM_AUTOREBUILD, 0, 0);  	if (hwndClist) -		RedrawWindow(hwndClist, 0, 0, RDW_INVALIDATE|RDW_ERASE|RDW_UPDATENOW); +		RedrawWindow(hwndClist, 0, 0, RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW);  	return hwndClist;  } @@ -1404,7 +1407,7 @@ void TSAPI DM_Typing(TWindowData *dat, bool fForceOff)  					SendMessage(hwndStatus, SB_SETTEXT, 0, (LPARAM)dat->szStatusBar);  			}  			SendMessage(hwndDlg, DM_UPDATEWINICON, 0, 0); -			HandleIconFeedback(dat, (HICON) - 1); +			HandleIconFeedback(dat, (HICON)-1);  			TWindowData *dat_active = (TWindowData*)GetWindowLongPtr(dat->pContainer->hwndActive, GWLP_USERDATA);  			if (dat_active && dat_active->bType == SESSIONTYPE_IM)  				SendMessage(hwndContainer, DM_UPDATETITLE, 0, 0); @@ -1535,7 +1538,7 @@ int TSAPI DM_SplitterGlobalEvent(TWindowData *dat, WPARAM wParam, LPARAM lParam)  		AdjustBottomAvatarDisplay(dat);  		DM_RecalcPictureSize(dat);  		SendMessage(dat->hwnd, WM_SIZE, 0, 0); -		DM_ScrollToBottom(dat, 1,1); +		DM_ScrollToBottom(dat, 1, 1);  		if (dat != srcDat)  			CSkin::UpdateToolbarBG(dat);  	} @@ -1626,21 +1629,21 @@ void TSAPI DM_EventAdded(TWindowData *dat, WPARAM hContact, LPARAM lParam)  	// handle tab flashing  	if (!bDisableNotify && !bIsStatusChangeEvent) -	if ((TabCtrl_GetCurSel(hwndTab) != dat->iTabID) && !(dbei.flags & DBEF_SENT)) { -		switch (dbei.eventType) { -		case EVENTTYPE_MESSAGE: -			dat->iFlashIcon = PluginConfig.g_IconMsgEvent; -			break; -		case EVENTTYPE_FILE: -			dat->iFlashIcon = PluginConfig.g_IconFileEvent; -			break; -		default: -			dat->iFlashIcon = PluginConfig.g_IconMsgEvent; -			break; +		if ((TabCtrl_GetCurSel(hwndTab) != dat->iTabID) && !(dbei.flags & DBEF_SENT)) { +			switch (dbei.eventType) { +			case EVENTTYPE_MESSAGE: +				dat->iFlashIcon = PluginConfig.g_IconMsgEvent; +				break; +			case EVENTTYPE_FILE: +				dat->iFlashIcon = PluginConfig.g_IconFileEvent; +				break; +			default: +				dat->iFlashIcon = PluginConfig.g_IconMsgEvent; +				break; +			} +			SetTimer(hwndDlg, TIMERID_FLASHWND, TIMEOUT_FLASHWND, NULL); +			dat->mayFlashTab = TRUE;  		} -		SetTimer(hwndDlg, TIMERID_FLASHWND, TIMEOUT_FLASHWND, NULL); -		dat->mayFlashTab = TRUE; -	}  	// try to flash the contact list...  	if (!bDisableNotify) @@ -1665,12 +1668,12 @@ void TSAPI DM_EventAdded(TWindowData *dat, WPARAM hContact, LPARAM lParam)  	// flash window if it is not focused  	if (!bDisableNotify && !bIsStatusChangeEvent) -	if ((GetActiveWindow() != hwndContainer || GetForegroundWindow() != hwndContainer || dat->pContainer->hwndActive != hwndDlg) && !(dbei.flags & DBEF_SENT)) { -		if (!(m_pContainer->dwFlags & CNT_NOFLASH) && (GetActiveWindow() != hwndContainer || GetForegroundWindow() != hwndContainer)) -			FlashContainer(m_pContainer, 1, 0); -		SendMessage(hwndContainer, DM_SETICON, (WPARAM)dat, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_MESSAGE)); -		m_pContainer->dwFlags |= CNT_NEED_UPDATETITLE; -	} +		if ((GetActiveWindow() != hwndContainer || GetForegroundWindow() != hwndContainer || dat->pContainer->hwndActive != hwndDlg) && !(dbei.flags & DBEF_SENT)) { +			if (!(m_pContainer->dwFlags & CNT_NOFLASH) && (GetActiveWindow() != hwndContainer || GetForegroundWindow() != hwndContainer)) +				FlashContainer(m_pContainer, 1, 0); +			SendMessage(hwndContainer, DM_SETICON, (WPARAM)dat, (LPARAM)LoadSkinnedIcon(SKINICON_EVENT_MESSAGE)); +			m_pContainer->dwFlags |= CNT_NEED_UPDATETITLE; +		}  	// play a sound  	if (dbei.eventType == EVENTTYPE_MESSAGE && !(dbei.flags & (DBEF_SENT))) @@ -1754,7 +1757,7 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)  			bool bHasName = (dat->cache->getUIN()[0] != 0);  			dat->idle = dat->cache->getIdleTS(); -			dat->dwFlagsEx =  dat->idle ? dat->dwFlagsEx | MWF_SHOW_ISIDLE : dat->dwFlagsEx & ~MWF_SHOW_ISIDLE; +			dat->dwFlagsEx = dat->idle ? dat->dwFlagsEx | MWF_SHOW_ISIDLE : dat->dwFlagsEx & ~MWF_SHOW_ISIDLE;  			dat->wStatus = dat->cache->getStatus();  			_tcsncpy_s(dat->szStatus, pcli->pfnGetStatusModeDescription(dat->szProto == NULL ? ID_STATUS_OFFLINE : dat->wStatus, 0), _TRUNCATE); @@ -1772,7 +1775,8 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)  						mir_sntprintf(newtitle, SIZEOF(newtitle), _T("%s (%s)"), newcontactname, dat->szStatus);  					else  						_tcsncpy_s(newtitle, newcontactname, _TRUNCATE); -				} else +				} +				else  					_tcsncpy_s(newtitle, _T("Forward"), _TRUNCATE);  				item.mask |= TCIF_TEXT; @@ -1782,12 +1786,12 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)  			TCHAR fulluin[256];  			if (dat->bIsMeta)  				mir_sntprintf(fulluin, SIZEOF(fulluin), -				  TranslateT("UID: %s (SHIFT click -> copy to clipboard)\nClick for User's Details\nRight click for metacontact control\nClick dropdown to add or remove user from your favorites."), -				  bHasName ? dat->cache->getUIN() : TranslateT("No UID")); +				TranslateT("UID: %s (SHIFT click -> copy to clipboard)\nClick for User's Details\nRight click for metacontact control\nClick dropdown to add or remove user from your favorites."), +				bHasName ? dat->cache->getUIN() : TranslateT("No UID"));  			else  				mir_sntprintf(fulluin, SIZEOF(fulluin), -				  TranslateT("UID: %s (SHIFT click -> copy to clipboard)\nClick for User's Details\nClick dropdown to change this contact's favorite status."), -				  bHasName ? dat->cache->getUIN() : TranslateT("No UID")); +				TranslateT("UID: %s (SHIFT click -> copy to clipboard)\nClick for User's Details\nClick dropdown to change this contact's favorite status."), +				bHasName ? dat->cache->getUIN() : TranslateT("No UID"));  			SendMessage(GetDlgItem(hwndDlg, IDC_NAME), BUTTONADDTOOLTIP, (WPARAM)fulluin, BATF_TCHAR);  		} @@ -1802,7 +1806,7 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)  			if (dat->pWnd)  				dat->pWnd->updateTitle(dat->cache->getNick());  		} -		if (dat->iTabID  >= 0) { +		if (dat->iTabID >= 0) {  			TabCtrl_SetItem(hwndTab, dat->iTabID, &item);  			if (m_pContainer->dwFlags & CNT_SIDEBAR)  				m_pContainer->SideBar->updateSession(dat); @@ -1813,16 +1817,17 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)  		UpdateTrayMenuState(dat, TRUE);  		if (dat->cache->isFavorite())  			AddContactToFavorites(dat->hContact, dat->cache->getNick(), szActProto, dat->szStatus, dat->wStatus, -			  LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()), 0, PluginConfig.g_hMenuFavorites); +			LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()), 0, PluginConfig.g_hMenuFavorites);  		if (dat->cache->isRecent())  			AddContactToFavorites(dat->hContact, dat->cache->getNick(), szActProto, dat->szStatus, dat->wStatus, -			  LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()), 0, PluginConfig.g_hMenuRecent); +			LoadSkinnedProtoIcon(dat->cache->getProto(), dat->cache->getStatus()), 0, PluginConfig.g_hMenuRecent);  		dat->Panel->Invalidate();  		if (dat->pWnd)  			dat->pWnd->Invalidate();  	} +  	// care about MetaContacts and update the statusbar icon with the currently "most online" contact...  	if (dat->bIsMeta) {  		PostMessage(hwndDlg, DM_UPDATEMETACONTACTINFO, 0, 0); @@ -1850,19 +1855,19 @@ static int OnSrmmIconChanged(WPARAM hContact, LPARAM)  	return 0;  } -void DrawStatusIcons(TWindowData *dat, HDC hDC, RECT r, int gap) +void DrawStatusIcons(TWindowData *dat, HDC hDC, const RECT &rc, int gap)  {  	HICON hIcon = NULL; -	int 	x = r.left;  	LONG 	cx_icon = PluginConfig.m_smcxicon;  	LONG	cy_icon = PluginConfig.m_smcyicon; -	LONG	y = (r.top + r.bottom - cx_icon) >> 1; +	int 	x = rc.left; +	LONG	y = (rc.top + rc.bottom - cx_icon) >> 1;  	SetBkMode(hDC, TRANSPARENT);  	int nIcon = 0;  	while (StatusIconData *si = Srmm_GetNthIcon(dat->hContact, nIcon++)) { -		if ( !strcmp(si->szModule, MSG_ICON_MODULE)) { +		if (!strcmp(si->szModule, MSG_ICON_MODULE)) {  			if (si->dwId == MSG_ICON_SOUND) {  				DrawIconEx(hDC, x, y, PluginConfig.g_buttonBarIcons[ICON_DEFAULT_SOUNDS],  					cx_icon, cy_icon, 0, NULL, DI_NORMAL); @@ -1900,7 +1905,7 @@ void DrawStatusIcons(TWindowData *dat, HDC hDC, RECT r, int gap)  	}  } -void SI_CheckStatusIconClick(TWindowData *dat, HWND hwndFrom, POINT pt, RECT r, int gap, int code) +void CheckStatusIconClick(TWindowData *dat, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int code)  {  	if (dat && (code == NM_CLICK || code == NM_RCLICK)) {  		POINT	ptScreen; @@ -1909,12 +1914,12 @@ void SI_CheckStatusIconClick(TWindowData *dat, HWND hwndFrom, POINT pt, RECT r,  			return;  	} -	UINT iconNum = (pt.x - (r.left + 0)) / (PluginConfig.m_smcxicon + gap), list_icons = 0; +	UINT iconNum = (pt.x - (rc.left + 0)) / (PluginConfig.m_smcxicon + gap), list_icons = 0;  	StatusIconData *si = Srmm_GetNthIcon((dat) ? dat->hContact : 0, iconNum);  	if (si == NULL)  		return; -	if ( !strcmp(si->szModule, MSG_ICON_MODULE)) { +	if (!strcmp(si->szModule, MSG_ICON_MODULE)) {  		if (si->dwId == MSG_ICON_SOUND && code != NM_RCLICK) {  			if (GetKeyState(VK_SHIFT) & 0x8000) {  				for (TContainerData *p = pFirstContainer; p; p = p->pNext) { diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h index ece91eba46..36b0280310 100644 --- a/plugins/TabSRMM/src/msgs.h +++ b/plugins/TabSRMM/src/msgs.h @@ -981,8 +981,8 @@ int SI_InitStatusIcons();  int SI_DeinitStatusIcons();
  int  GetStatusIconsCount();
 -void DrawStatusIcons(TWindowData *dat, HDC hdc, RECT r, int gap);
 -void SI_CheckStatusIconClick(TWindowData *dat, HWND hwndFrom, POINT pt, RECT rc, int gap, int code);
 +void DrawStatusIcons(TWindowData *dat, HDC hdc, const RECT &r, int gap);
 +void CheckStatusIconClick(TWindowData *dat, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int code);
  struct SKINDESC
  {
 diff --git a/plugins/TabSRMM/src/tabctrl.cpp b/plugins/TabSRMM/src/tabctrl.cpp index 42e88c3b89..b90419cf5e 100644 --- a/plugins/TabSRMM/src/tabctrl.cpp +++ b/plugins/TabSRMM/src/tabctrl.cpp @@ -35,7 +35,7 @@ static WNDPROC		OldTabControlClassProc;  static int TabCtrl_TestForCloseButton(const TabControlData *tabdat, HWND hwnd, POINT& pt)
  {
 -	TCHITTESTINFO tci = {0};
 +	TCHITTESTINFO tci = { 0 };
  	tci.pt.x = pt.x;
  	tci.pt.y = pt.y;
  	int iTab;
 @@ -65,19 +65,17 @@ static int TabCtrl_TestForCloseButton(const TabControlData *tabdat, HWND hwnd, P  	return -1;
  }
 -/*
 - * tabctrl helper function
 - * Finds leftmost down item.
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// tabctrl helper function
 +// Finds leftmost down item.
  static UINT FindLeftDownItem(HWND hwnd)
  {
 -	RECT rctLeft = {100000, 0, 0, 0}, rctCur;
 +	RECT rctLeft = { 100000, 0, 0, 0 }, rctCur;
  	int nCount = TabCtrl_GetItemCount(hwnd) - 1;
  	UINT nItem = 0;
 -	int i;
 -	for (i=0;i < nCount;i++) {
 +	for (int i = 0; i < nCount; i++) {
  		TabCtrl_GetItemRect(hwnd, i, &rctCur);
  		if (rctCur.left > 0 && rctCur.left <= rctLeft.left) {
  			if (rctCur.bottom > rctLeft.bottom) {
 @@ -89,11 +87,11 @@ static UINT FindLeftDownItem(HWND hwnd)  	return nItem;
  }
 -/*
 - * tab control color definitions, including the database setting key names
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// tab control color definitions, including the database setting key names
 -static struct colOptions {
 +static struct colOptions
 +{
  	UINT defclr;
  	char *szKey;
  	char *szSkinnedKey;
 @@ -109,9 +107,8 @@ static struct colOptions {  	0, 0, NULL, NULL
  };
 -/*
 - * hints for drawing functions
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// hints for drawing functions
  #define HINT_ACTIVATE_RIGHT_SIDE 1
  #define HINT_ACTIVE_ITEM 2
 @@ -147,12 +144,11 @@ void TSAPI FillTabBackground(const HDC hdc, int iStateId, const TWindowData *dat  		CSkin::FillBack(hdc, rc);
  }
 -/*
 - * draws the item contents (icon and label)
 - * it obtains the label and icon handle directly from the message window data
 - * no image list is used and necessary, the message window dialog procedure has to provide a valid
 - * icon handle in dat->hTabIcon
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// draws the item contents (icon and label)
 +// it obtains the label and icon handle directly from the message window data
 +// no image list is used and necessary, the message window dialog procedure has to provide a valid
 +// icon handle in dat->hTabIcon
  static void DrawItem(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, int nItem, TWindowData *dat)
  {
 @@ -204,7 +200,7 @@ static void DrawItem(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, in  			CSkin::m_default_bf.SourceConstantAlpha = 150;
  		GdiAlphaBlend(dc, rcItem->right - 16 - tabdat->m_xpad, (rcItem->bottom + rcItem->top - 16) / 2, 16, 16, CSkin::m_tabCloseHDC,
 -								0, 0, 16, 16, CSkin::m_default_bf);
 +			0, 0, 16, 16, CSkin::m_default_bf);
  		rcItem->right -= (18 + tabdat->m_xpad);
  		CSkin::m_default_bf.SourceConstantAlpha = 255;
 @@ -213,7 +209,7 @@ static void DrawItem(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, in  	if (dat->mayFlashTab == FALSE || (dat->mayFlashTab == TRUE && dat->bTabFlash != 0) || !(dat->pContainer->dwFlagsEx & TCF_FLASHLABEL)) {
  		DWORD dwTextFlags = DT_SINGLELINE | DT_VCENTER;
  		HFONT oldFont = (HFONT)SelectObject(dc, (HFONT)SendMessage(tabdat->hwnd, WM_GETFONT, 0, 0));
 -		if (tabdat->dwStyle & TCS_BUTTONS || !(tabdat->dwStyle & TCS_MULTILINE)) { // || (tabdat->m_moderntabs && leftMost)) {
 +		if (tabdat->dwStyle & TCS_BUTTONS || !(tabdat->dwStyle & TCS_MULTILINE)) {
  			rcItem->right -= tabdat->m_xpad;
  			dwTextFlags |= DT_WORD_ELLIPSIS;
  		}
 @@ -224,11 +220,10 @@ static void DrawItem(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, in  		SetBkMode(dc, oldMode);
  }
 -/*
 - * draws the item rect (the "tab") in *classic* style (no visual themes
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// draws the item rect (the "tab") in *classic* style (no visual themes
 -static RECT rcTabPage = {0};
 +static RECT rcTabPage = { 0 };
  static void DrawItemRect(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint, int iItem, const TWindowData *dat)
  {
 @@ -238,11 +233,8 @@ static void DrawItemRect(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint  	rcItem->bottom -= 1;
  	if (rcItem->left >= 0) {
 -		/*
 -		 * draw "button style" tabs... raised edge for hottracked, sunken edge for active (pushed)
 -		 * otherwise, they get a normal border
 -		 */
 -
 +		// draw "button style" tabs... raised edge for hottracked, sunken edge for active (pushed)
 +		// otherwise, they get a normal border
  		if (dwStyle & TCS_BUTTONS) {
  			BOOL bClassicDraw = (tabdat->m_VisualStyles == FALSE);
 @@ -285,10 +277,12 @@ static void DrawItemRect(TabControlData *tabdat, HDC dc, RECT *rcItem, int nHint  					if (!item->IGNORED) {
  						CSkin::SkinDrawBG(tabdat->hwnd, tabdat->pContainer->hwnd, tabdat->pContainer, rcItem, dc);
  						CSkin::DrawItem(dc, rcItem, item);
 -					} else
 +					}
 +					else
  						goto b_nonskinned;
 -				} else {
 -b_nonskinned:
 +				}
 +				else {
 +				b_nonskinned:
  					if (nHint & HINT_ACTIVE_ITEM)
  						DrawEdge(dc, rcItem, EDGE_ETCHED, BF_RECT | BF_SOFT);
  					else if (nHint & HINT_HOTTRACK)
 @@ -296,7 +290,8 @@ b_nonskinned:  					else
  						DrawEdge(dc, rcItem, EDGE_RAISED, BF_RECT | BF_SOFT);
  				}
 -			} else {
 +			}
 +			else {
  				if (M.isAero() && !(dwStyle & TCS_BOTTOM))
  					FillRect(dc, rcItem, CSkin::m_BrushBack);
  				else
 @@ -312,7 +307,8 @@ b_nonskinned:  				if (!CSkin::m_skinEnabled)
  					CSkin::FillBack(dc, rcItem);
  				rcItem->bottom += 2;
 -			} else {
 +			}
 +			else {
  				rcItem->bottom += 2;
  				if (!CSkin::m_skinEnabled)
  					CSkin::FillBack(dc, rcItem);
 @@ -333,13 +329,12 @@ b_nonskinned:  		}
  		if (CSkin::m_skinEnabled) {
  			CSkinItem *item = &SkinItems[dwStyle & TCS_BOTTOM ? (nHint & HINT_HOTTRACK ? ID_EXTBKTABITEMHOTTRACKBOTTOM : ID_EXTBKTABITEMBOTTOM) :
 -													   (nHint & HINT_HOTTRACK ? ID_EXTBKTABITEMHOTTRACK : ID_EXTBKTABITEM)];
 +				(nHint & HINT_HOTTRACK ? ID_EXTBKTABITEMHOTTRACK : ID_EXTBKTABITEM)];
  			if (!item->IGNORED) {
  				if (dwStyle & TCS_BOTTOM)
  					rcItem->top = (rcItem->top > rcTabPage.bottom + 5) ? --rcItem->top : rcItem->top;
  				else
  					rcItem->bottom++;
 -				//rcItem->bottom = (rcItem->bottom < rcTabPage.top - 5) ? ++rcItem->bottom : rcItem->bottom;
  				rcItem->left += item->MARGIN_LEFT;
  				rcItem->right -= item->MARGIN_RIGHT;
 @@ -360,8 +355,9 @@ b_nonskinned:  			SelectObject(dc, PluginConfig.tabConfig.m_hPenItemShadow);
  			LineTo(dc, rcItem->right - 2, rcItem->bottom - 1);
  			MoveToEx(dc, rcItem->right - 3, rcItem->bottom - 1, &pt);
 -		LineTo(dc, rcItem->left + 2, rcItem->bottom - 1);
 -		} else {
 +			LineTo(dc, rcItem->left + 2, rcItem->bottom - 1);
 +		}
 +		else {
  			MoveToEx(dc, rcItem->left, rcItem->bottom, &pt);
  			LineTo(dc, rcItem->left, rcItem->top + 2);
  			LineTo(dc, rcItem->left + 2, rcItem->top);
 @@ -414,9 +410,9 @@ static HRESULT DrawThemesPartWithAero(const TabControlData *tabdat, HDC hDC, int  	return hResult;
  }
 -/*
 - * draws a theme part (identifier in uiPartNameID) using the given clipping rectangle
 - */
 +
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// draws a theme part (identifier in uiPartNameID) using the given clipping rectangle
  static HRESULT DrawThemesPart(const TabControlData *tabdat, HDC hDC, int iPartId, int iStateId, LPRECT prcBox)
  {
 @@ -428,69 +424,58 @@ static HRESULT DrawThemesPart(const TabControlData *tabdat, HDC hDC, int iPartId  	return hResult;
  }
 -/*
 - * draw a themed tab item. either a tab or the body pane
 - * handles image mirroring for tabs at the bottom
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// draw a themed tab item. either a tab or the body pane
 +// handles image mirroring for tabs at the bottom
  static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag, TabControlData *tabdat, TWindowData *dat)
  {
 -	BOOL bBody  = (uiFlag & 1) ? TRUE : FALSE;
 -	BOOL bSel   = (uiFlag & 2) ? TRUE : FALSE;
 -	BOOL bHot   = (uiFlag & 4) ? TRUE : FALSE;
 +	BOOL bBody = (uiFlag & 1) ? TRUE : FALSE;
 +	BOOL bSel = (uiFlag & 2) ? TRUE : FALSE;
 +	BOOL bHot = (uiFlag & 4) ? TRUE : FALSE;
  	BOOL bBottom = (uiFlag & 8) ? TRUE : FALSE;	// mirror
 -	SIZE szBmp;
 -	HDC  dcMem;
 -	HBITMAP bmpMem, pBmpOld;
 -	RECT rcMem;
 -	BITMAPINFO biOut;
 -	BITMAPINFOHEADER *bihOut;
 -	int nBmpWdtPS;
 -	int nSzBuffPS;
 -	LPBYTE pcImg = NULL, pcImg1 = NULL;
 +	LPBYTE pcImg = NULL;
  	int nStart = 0, nLenSub = 0;
 +
 +	SIZE szBmp;
  	szBmp.cx = rcItem->right - rcItem->left;
  	szBmp.cy = rcItem->bottom - rcItem->top;
 -	/*
 -	 * for top row tabs, it's easy. Just draw to the provided dc (it's a mem dc already)
 -	 */
 -
 +	// for top row tabs, it's easy. Just draw to the provided dc (it's a mem dc already)
  	if (!bBottom) {
  		if (bBody) {
  			if (PluginConfig.m_bIsVista) {
 -				rcItem->right += 2;							// hide right tab sheet shadow (only draw the actual border line)
 +				rcItem->right += 2; // hide right tab sheet shadow (only draw the actual border line)
  				rcItem->bottom += 1;
  			}
  			DrawThemesPart(tabdat, pDC, 9, 0, rcItem);	// TABP_PANE id = 9
 -		} else {
 -			int iStateId = bSel ? 3 : (bHot ? 2 : 1);                       // leftmost item has different part id
 +		}
 +		else {
 +			int iStateId = bSel ? 3 : (bHot ? 2 : 1); // leftmost item has different part id
  			DrawThemesPartWithAero(tabdat, pDC, rcItem->left < 20 ? 2 : 1, iStateId, rcItem, dat);
  		}
  		return;
  	}
  	else if (tabdat->fAeroTabs && !bBody) {
 -		int iStateId = bSel ? 3 : (bHot ? 2 : 1);                       // leftmost item has different part id
 +		int iStateId = bSel ? 3 : (bHot ? 2 : 1); // leftmost item has different part id
  		DrawThemesPartWithAero(tabdat, pDC, rcItem->left < 20 ? 2 : 1, iStateId, rcItem, dat);
  		return;
  	}
 -	/*
 -	 * remaining code is for bottom tabs only.
 -	 */
 -
 -	dcMem = CreateCompatibleDC(pDC);
 -	bmpMem = CreateCompatibleBitmap(pDC, szBmp.cx, szBmp.cy);
 -
 -	pBmpOld = (HBITMAP)SelectObject(dcMem, bmpMem);
 +	// remaining code is for bottom tabs only.
 +	HDC dcMem = CreateCompatibleDC(pDC);
 +	HBITMAP bmpMem = CreateCompatibleBitmap(pDC, szBmp.cx, szBmp.cy);
 +	HBITMAP pBmpOld = (HBITMAP)SelectObject(dcMem, bmpMem);
 +	RECT rcMem;
  	rcMem.left = rcMem.top = 0;
  	rcMem.right = szBmp.cx;
  	rcMem.bottom = szBmp.cy;
 +	BITMAPINFO biOut;
  	memset(&biOut, 0, sizeof(BITMAPINFO));	// Fill local pixel arrays
 -	bihOut = &biOut.bmiHeader;
 -
 +	
 +	BITMAPINFOHEADER *bihOut = &biOut.bmiHeader;
  	bihOut->biSize = sizeof(BITMAPINFOHEADER);
  	bihOut->biCompression = BI_RGB;
  	bihOut->biPlanes = 1;
 @@ -498,28 +483,22 @@ static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag,  	bihOut->biWidth = szBmp.cx;
  	bihOut->biHeight = szBmp.cy;
 -	nBmpWdtPS = DWordAlign(szBmp.cx * 3);
 -	nSzBuffPS = ((nBmpWdtPS * szBmp.cy) / 8 + 2) * 8;
 -
 -	/*
 -	 * blit the background to the memory dc, so that transparent tabs will draw properly
 -	 * for bottom tabs, it's more complex, because the background part must not be mirrored
 -	 * the body part does not need that (filling with the background color is much faster
 -	 * and sufficient for the tab "page" part.
 -	 */
 +	int nBmpWdtPS = DWordAlign(szBmp.cx * 3);
 +	int nSzBuffPS = ((nBmpWdtPS * szBmp.cy) / 8 + 2) * 8;
 +	// blit the background to the memory dc, so that transparent tabs will draw properly
 +	// for bottom tabs, it's more complex, because the background part must not be mirrored
 +	// the body part does not need that (filling with the background color is much faster
 +	// and sufficient for the tab "page" part.
  	if (!bSel)
  		CSkin::FillBack(dcMem, &rcMem);
  	else {
 -		/*
 -		 * mirror the background horizontally for bottom selected tabs (they can overwrite others)
 -		 * needed, because after drawing the theme part the images will again be mirrored
 -		 * to "flip" the tab item.
 -		 */
 +		// mirror the background horizontally for bottom selected tabs (they can overwrite others)
 +		// needed, because after drawing the theme part the images will again be mirrored
 +		// to "flip" the tab item.
  		BitBlt(dcMem, 0, 0, szBmp.cx, szBmp.cy, pDC, rcItem->left, rcItem->top, SRCCOPY);
 -		pcImg1 = (BYTE *)mir_alloc(nSzBuffPS);
 -
 +		BYTE *pcImg1 = (BYTE*)mir_alloc(nSzBuffPS);
  		if (pcImg1) {
  			GetDIBits(pDC, bmpMem, nStart, szBmp.cy - nLenSub, pcImg1, &biOut, DIB_RGB_COLORS);
  			bihOut->biHeight = -szBmp.cy; 				// to mirror bitmap is eough to use negative height between Get/SetDIBits
 @@ -528,17 +507,14 @@ static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag,  		}
  	}
 -	/*
 -	 * body may be *large* so rotating the final image can be very slow.
 -	 * workaround: draw the skin item (tab pane) into a small dc, rotate this (small) image and render
 -	 * it to the final DC with the IMG_RenderItem() routine.
 -	 */
 -
 +	// body may be *large* so rotating the final image can be very slow.
 +	// workaround: draw the skin item (tab pane) into a small dc, rotate this (small) image and render
 +	// it to the final DC with the IMG_RenderItem() routine.
  	if (bBody) {
  		HDC hdcTemp = CreateCompatibleDC(pDC);
  		HBITMAP hbmTemp = CreateCompatibleBitmap(pDC, 100, 50);
  		HBITMAP hbmTempOld = (HBITMAP)SelectObject(hdcTemp, hbmTemp);
 -		RECT rcTemp = {0};
 +		RECT rcTemp = { 0 };
  		rcTemp.right = 100;
  		rcTemp.bottom = 50;
 @@ -552,18 +528,17 @@ static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag,  		CSkin::FillBack(hdcTemp, &rcTemp);
  		DrawThemesPart(tabdat, hdcTemp, 9, 0, &rcTemp);	// TABP_PANE id = 9
  		pcImg = (BYTE *)mir_alloc(nSzBuffPS);
 -		if (pcImg)	{									// get bits:
 +		if (pcImg) {									// get bits:
  			GetDIBits(hdcTemp, hbmTemp, nStart, 50 - nLenSub, pcImg, &biOut, DIB_RGB_COLORS);
  			bihOut->biHeight = -50;
  			SetDIBits(hdcTemp, hbmTemp, nStart, 50 - nLenSub, pcImg, &biOut, DIB_RGB_COLORS);
  			mir_free(pcImg);
  		}
  		CImageItem tempItem(10, 10, 10, 10, hdcTemp, 0, IMAGE_FLAG_DIVIDED | IMAGE_FILLSOLID,
 -							GetSysColorBrush(COLOR_3DFACE), 255, 30, 80, 50, 100);
 +			GetSysColorBrush(COLOR_3DFACE), 255, 30, 80, 50, 100);
 -		if (PluginConfig.m_bIsVista)	{								// hide right tab sheet shadow (only draw the actual border line)
 +		if (PluginConfig.m_bIsVista) // hide right tab sheet shadow (only draw the actual border line)
  			rcItem->right += 2;
 -		}
  		tempItem.Render(pDC, rcItem, true);
  		tempItem.Clear();
 @@ -575,7 +550,8 @@ static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag,  		DeleteObject(bmpMem);
  		DeleteDC(dcMem);
  		return;
 -	} else {
 +	}
 +	else {
  		int iStateId = bSel ? 3 : (bHot ? 2 : 1);
  		DrawThemesPart(tabdat, dcMem, rcItem->left < 20 ? 2 : 1, iStateId, &rcMem);
  	}
 @@ -583,33 +559,30 @@ static void DrawThemesXpTabItem(HDC pDC, int ixItem, RECT *rcItem, UINT uiFlag,  	bihOut->biHeight = szBmp.cy;
  	pcImg = (BYTE *)mir_alloc(nSzBuffPS);
 -	if (pcImg)	{									// get bits:
 +	if (pcImg) {									// get bits:
  		GetDIBits(pDC, bmpMem, nStart, szBmp.cy - nLenSub, pcImg, &biOut, DIB_RGB_COLORS);
  		bihOut->biHeight = -szBmp.cy;
  		SetDIBits(pDC, bmpMem, nStart, szBmp.cy - nLenSub, pcImg, &biOut, DIB_RGB_COLORS);
  		mir_free(pcImg);
  	}
 -	/*
 -	 * finally, blit the result to the destination dc
 -	 */
 -
 +	// finally, blit the result to the destination dc
  	BitBlt(pDC, rcItem->left, rcItem->top, szBmp.cx, szBmp.cy, dcMem, 0, 0, SRCCOPY);
  	SelectObject(dcMem, pBmpOld);
  	DeleteObject(bmpMem);
  	DeleteDC(dcMem);
  }
 -static POINT ptMouseT = {0};
 +static POINT ptMouseT = { 0 };
  static void PaintWorker(HWND hwnd, TabControlData *tabdat)
  {
  	PAINTSTRUCT ps;
  	HDC hdc;
  	RECT rectTemp, rctPage, rctActive, rcItem, rctClip, rctOrig;
 -	RECT rectUpDn = {0, 0, 0, 0};
 +	RECT rectUpDn = { 0, 0, 0, 0 };
  	int nCount = TabCtrl_GetItemCount(hwnd), i;
 -	TCITEM item = {0};
 +	TCITEM item = { 0 };
  	int iActive, hotItem;
  	POINT pt;
  	DWORD dwStyle = tabdat->dwStyle;
 @@ -620,7 +593,7 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  	bool  isAero = M.isAero();
  	HANDLE hpb = 0;
  	BOOL bClassicDraw = !isAero && (tabdat->m_VisualStyles == FALSE || CSkin::m_skinEnabled);
 -	if ( GetUpdateRect(hwnd, NULL, TRUE) == 0)
 +	if (GetUpdateRect(hwnd, NULL, TRUE) == 0)
  		return;
  	item.mask = TCIF_PARAM;
 @@ -636,19 +609,16 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  		else
  			tabdat->fAeroTabs = 0;
 -		tabdat->helperItem =  (dwStyle & TCS_BOTTOM) ? CSkin::m_tabBottom : CSkin::m_tabTop;
 +		tabdat->helperItem = (dwStyle & TCS_BOTTOM) ? CSkin::m_tabBottom : CSkin::m_tabTop;
  		tabdat->helperGlowItem = (dwStyle & TCS_BOTTOM) ? CSkin::m_tabGlowBottom : CSkin::m_tabGlowTop;
  	}
  	else tabdat->fAeroTabs = FALSE;
  	HDC hdcreal = BeginPaint(hwnd, &ps);
 -	/*
 -	* switchbar is active, don't paint a single pixel, the tab control won't be visible at all
 -	* same when we have only ONE tab and do not want it to be visible because of the container
 -	* option "Show tab bar only when needed".
 -	*/
 -
 +	// switchbar is active, don't paint a single pixel, the tab control won't be visible at all
 +	// same when we have only ONE tab and do not want it to be visible because of the container
 +	// option "Show tab bar only when needed".
  	if ((tabdat->pContainer->dwFlags & CNT_SIDEBAR) || (nCount == 1 && tabdat->pContainer->dwFlags & CNT_HIDETABS)) {
  		if (nCount == 0)
  			FillRect(hdcreal, &ps.rcPaint, GetSysColorBrush(COLOR_3DFACE)); // avoid flickering/ugly black background during container creation
 @@ -663,10 +633,7 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  	int cx = rctPage.right - rctPage.left;
  	int cy = rctPage.bottom - rctPage.top;
 -	/*
 -	* draw everything to a memory dc to avoid flickering
 -	*/
 -
 +	// draw everything to a memory dc to avoid flickering
  	if (CMimAPI::m_haveBufferedPaint)
  		hpb = tabdat->hbp = CSkin::InitiateBufferedPaint(hdcreal, rctPage, hdc);
  	else {
 @@ -713,10 +680,8 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  	else memset(&rctClip, 0, sizeof(RECT));
  	HPEN hPenOld = (HPEN)SelectObject(hdc, PluginConfig.tabConfig.m_hPenLight);
 -	/*
 -	* visual style support
 -	*/
 +	// visual style support
  	CopyRect(&rcTabPage, &rctPage);
  	if (!tabdat->bRefreshWithoutClip)
  		ExcludeClipRect(hdc, rctClip.left, rctClip.top, rctClip.right, rctClip.bottom);
 @@ -727,7 +692,8 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  		if (dwStyle & TCS_BOTTOM) {
  			rcClient.bottom = rctPage.bottom;
  			uiFlags |= uiBottom;
 -		} else
 +		}
 +		else
  			rcClient.top = rctPage.top;
  		if (PluginConfig.m_fillColor)
  			DrawCustomTabPage(hdc, rcClient);
 @@ -736,13 +702,11 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  		if (tabdat->bRefreshWithoutClip)
  			goto skip_tabs;
  	}
 -	else if ( IntersectRect(&rectTemp, &rctPage, &ps.rcPaint)) {
 +	else if (IntersectRect(&rectTemp, &rctPage, &ps.rcPaint)) {
  		if (CSkin::m_skinEnabled) {
  			CSkinItem *item = &SkinItems[ID_EXTBKTABPAGE];
 -
  			if (!item->IGNORED) {
 -				DrawAlpha(hdc, &rctPage, item->COLOR, item->ALPHA, item->COLOR2, item->COLOR2_TRANSPARENT,
 -					item->GRADIENT, item->CORNER, item->BORDERSTYLE, item->imageItem);
 +				DrawAlpha(hdc, &rctPage, item->COLOR, item->ALPHA, item->COLOR2, item->COLOR2_TRANSPARENT, item->GRADIENT, item->CORNER, item->BORDERSTYLE, item->imageItem);
  				goto page_done;
  			}
  		}
 @@ -825,14 +789,10 @@ static void PaintWorker(HWND hwnd, TabControlData *tabdat)  		}
  	}
  page_done:
 -	/*
 -	* if aero is active _and_ the infopanel is visible in the current window, we "flatten" out the top area
 -	* of the tab page by overpainting it black (thus it will appear transparent)
 -	*/
 +	// if aero is active _and_ the infopanel is visible in the current window, we "flatten" out the top area
 +	// of the tab page by overpainting it black (thus it will appear transparent)
  	if (isAero && tabdat->helperDat) {
 -		RECT	rcLog, rcPage;
 -		POINT	pt;
 -
 +		RECT rcLog, rcPage;
  		GetClientRect(hwnd, &rcPage);
  		if (dwStyle & TCS_BOTTOM) {
  			GetWindowRect(tabdat->helperDat->hwnd, &rcLog);
 @@ -844,6 +804,8 @@ page_done:  			rcPage.top = 0;
  		}
  		GetWindowRect(GetDlgItem(tabdat->helperDat->hwnd, tabdat->helperDat->bType == SESSIONTYPE_IM ? IDC_LOG : IDC_CHAT_LOG), &rcLog);
 +
 +		POINT	pt;
  		pt.y = rcLog.top;
  		pt.x = rcLog.left;
  		ScreenToClient(hwnd, &pt);
 @@ -852,10 +814,8 @@ page_done:  	}
  	uiFlags = 0;
 -	/*
 -	* figure out hottracked item (if any)
 -	*/
 +	// figure out hottracked item (if any)
  	if (tabdat->bRefreshWithoutClip)
  		goto skip_tabs;
 @@ -863,7 +823,7 @@ page_done:  	ScreenToClient(hwnd, &hti.pt);
  	hti.flags = 0;
  	hotItem = TabCtrl_HitTest(hwnd, &hti);
 -	for (i=0; i < nCount; i++) {
 +	for (i = 0; i < nCount; i++) {
  		TWindowData *dat = 0;
  		if (i != iActive) {
 @@ -892,9 +852,7 @@ page_done:  		}
  	}
 -	/*
 -	* draw the active item
 -	*/
 +	// draw the active item
  	if (!bClassicDraw && uiBottom) {
  		rctActive.top -= PluginConfig.tabConfig.m_bottomAdjust;
  		rctActive.bottom -= PluginConfig.tabConfig.m_bottomAdjust;
 @@ -937,9 +895,7 @@ skip_tabs:  	if (hPenOld)
  		SelectObject(hdc, hPenOld);
 -	/*
 -	* finally, bitblt the contents of the memory dc to the real dc
 -	*/
 +	// finally, bitblt the contents of the memory dc to the real dc
  	if (!tabdat->bRefreshWithoutClip)
  		ExcludeClipRect(hdcreal, rctClip.left, rctClip.top, rctClip.right, rctClip.bottom);
 @@ -968,12 +924,12 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	switch (msg) {
  	case WM_NCCREATE:
  		{
 -			WNDCLASSEXA wcl = {0};
 +			WNDCLASSEX wcl = { 0 };
  			wcl.cbSize = sizeof(wcl);
 -			GetClassInfoExA(g_hInst, "SysTabControl32", &wcl);
 +			GetClassInfoEx(g_hInst, _T("SysTabControl32"), &wcl);
  			OldTabControlClassProc = wcl.lpfnWndProc;
 -			tabdat = (TabControlData *)mir_calloc(sizeof(TabControlData));
 +			tabdat = (TabControlData*)mir_calloc(sizeof(TabControlData));
  			SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)tabdat);
  			tabdat->hwnd = hwnd;
  			tabdat->cx = GetSystemMetrics(SM_CXSMICON);
 @@ -999,27 +955,20 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  		return 0;
  	case EM_SEARCHSCROLLER:
 -		{
 -			HWND hwndChild;
 -			/*
 -			* search the updown control (scroll arrows) to subclass it...
 -			* the control is dynamically created and may not exist as long as it is
 -			* not needed. So we have to search it everytime we need to paint. However,
 -			* it is sufficient to search it once. So this message is called, whenever
 -			* a new tab is inserted
 -			*/
 -
 -			if ((hwndChild = FindWindowEx(hwnd, 0, _T("msctls_updown32"), NULL)) != 0)
 -				DestroyWindow(hwndChild);
 -		}
 +		// search the updown control (scroll arrows) to subclass it...
 +		// the control is dynamically created and may not exist as long as it is
 +		// not needed. So we have to search it everytime we need to paint. However,
 +		// it is sufficient to search it once. So this message is called, whenever
 +		// a new tab is inserted
 +		HWND hwndChild;
 +		if ((hwndChild = FindWindowEx(hwnd, 0, _T("msctls_updown32"), NULL)) != 0)
 +			DestroyWindow(hwndChild);
 +
  		return 0;
  	case EM_VALIDATEBOTTOM:
 -		{
 -			BOOL bClassicDraw = (tabdat->m_VisualStyles == FALSE);
 -			if ((tabdat->dwStyle & TCS_BOTTOM) && !bClassicDraw && PluginConfig.tabConfig.m_bottomAdjust != 0)
 -				InvalidateRect(hwnd, NULL, FALSE);
 -		}
 +		if ((tabdat->dwStyle & TCS_BOTTOM) && tabdat->m_VisualStyles != 0 && PluginConfig.tabConfig.m_bottomAdjust != 0)
 +			InvalidateRect(hwnd, NULL, FALSE);
  		break;
  	case EM_REFRESHWITHOUTCLIP:
 @@ -1034,16 +983,14 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	case TCM_INSERTITEM:
  	case TCM_DELETEITEM:
  		tabdat->iHoveredCloseIcon = -1;
 -		if (!(tabdat->dwStyle & TCS_MULTILINE) || tabdat->dwStyle & TCS_BUTTONS) {
 -			LRESULT result;
 -			RECT rc;
 +		if (!(tabdat->dwStyle & TCS_MULTILINE) || (tabdat->dwStyle & TCS_BUTTONS)) {
  			int iTabs = TabCtrl_GetItemCount(hwnd);
  			if (iTabs >= 1 && msg == TCM_INSERTITEM) {
 +				RECT rc;
  				TabCtrl_GetItemRect(hwnd, 0, &rc);
  				TabCtrl_SetItemSize(hwnd, 10, rc.bottom - rc.top);
  			}
 -			result = CallWindowProc(OldTabControlClassProc, hwnd, msg, wParam, lParam);
 -			TabCtrl_GetItemRect(hwnd, 0, &rc);
 +			LRESULT result = CallWindowProc(OldTabControlClassProc, hwnd, msg, wParam, lParam);
  			SendMessage(hwnd, WM_SIZE, 0, 0);
  			return result;
  		}
 @@ -1073,7 +1020,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	case WM_SETCURSOR:
  		GetCursorPos(&pt);
  		SendMessage(GetParent(hwnd), msg, wParam, lParam);
 -		if (abs(pt.x - ptMouseT.x) < 4  && abs(pt.y - ptMouseT.y) < 4)
 +		if (abs(pt.x - ptMouseT.x) < 4 && abs(pt.y - ptMouseT.y) < 4)
  			return 1;
  		ptMouseT = pt;
  		if (tabdat->fTipActive) {
 @@ -1091,12 +1038,11 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  			int iTabs = TabCtrl_GetItemCount(hwnd);
  			if (!(tabdat->dwStyle & TCS_MULTILINE)) {
 -				RECT rcClient, rc;
 -				DWORD newItemSize;
  				if (iTabs > (tabdat->pContainer->dwFlags & CNT_HIDETABS ? 1 : 0)) {
 +					RECT rcClient, rc;
  					GetClientRect(hwnd, &rcClient);
  					TabCtrl_GetItemRect(hwnd, iTabs - 1, &rc);
 -					newItemSize = (rcClient.right - 6) - (tabdat->dwStyle & TCS_BUTTONS ? (iTabs) * 10 : 0);
 +					DWORD newItemSize = (rcClient.right - 6) - (tabdat->dwStyle & TCS_BUTTONS ? (iTabs)* 10 : 0);
  					newItemSize = newItemSize / iTabs;
  					if (newItemSize < PluginConfig.tabConfig.m_fixedwidth)
  						TabCtrl_SetItemSize(hwnd, newItemSize, rc.bottom - rc.top);
 @@ -1106,12 +1052,11 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  					SendMessage(hwnd, EM_SEARCHSCROLLER, 0, 0);
  				}
  			}
 -			else if (tabdat->dwStyle & TCS_BUTTONS && iTabs > 0) {
 +			else if ((tabdat->dwStyle & TCS_BUTTONS) && iTabs > 0) {
  				RECT rcClient, rcItem;
 -				int nrTabsPerLine;
  				GetClientRect(hwnd, &rcClient);
  				TabCtrl_GetItemRect(hwnd, 0, &rcItem);
 -				nrTabsPerLine = (rcClient.right) / PluginConfig.tabConfig.m_fixedwidth;
 +				int nrTabsPerLine = (rcClient.right) / PluginConfig.tabConfig.m_fixedwidth;
  				if (iTabs >= nrTabsPerLine && nrTabsPerLine > 0)
  					TabCtrl_SetItemSize(hwnd, ((rcClient.right - 6) / nrTabsPerLine) - (tabdat->dwStyle & TCS_BUTTONS ? 8 : 0), rcItem.bottom - rcItem.top);
  				else
 @@ -1121,8 +1066,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  		break;
  	case WM_LBUTTONDBLCLK:
 -		if (!(tabdat->pContainer->settings->dwFlagsEx & TCF_CLOSEBUTTON))
 -		{
 +		if (!(tabdat->pContainer->settings->dwFlagsEx & TCF_CLOSEBUTTON)) {
  			GetCursorPos(&pt);
  			SendMessage(GetParent(hwnd), DM_CLOSETABATMOUSE, 0, (LPARAM)&pt);
  		}
 @@ -1140,15 +1084,14 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  		tabdat->fTipActive = FALSE;
  		if (GetKeyState(VK_CONTROL) & 0x8000) {
 -			TCHITTESTINFO tci = {0};
 +			TCHITTESTINFO tci = { 0 };
  			tci.pt.x = (short)LOWORD(GetMessagePos());
  			tci.pt.y = (short)HIWORD(GetMessagePos());
  			if (DragDetect(hwnd, tci.pt) && TabCtrl_GetItemCount(hwnd) > 1) {
 -				int i;
  				tci.flags = TCHT_ONITEM;
  				ScreenToClient(hwnd, &tci.pt);
 -				i = TabCtrl_HitTest(hwnd, &tci);
 +				int i = TabCtrl_HitTest(hwnd, &tci);
  				if (i != -1) {
  					TCITEM tc;
  					TWindowData *dat = NULL;
 @@ -1156,7 +1099,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  					tc.mask = TCIF_PARAM;
  					TabCtrl_GetItem(hwnd, i, &tc);
  					dat = (TWindowData*)GetWindowLongPtr((HWND)tc.lParam, GWLP_USERDATA);
 -					if (dat)	{
 +					if (dat) {
  						tabdat->bDragging = TRUE;
  						tabdat->iBeginIndex = i;
  						tabdat->hwndDrag = (HWND)tc.lParam;
 @@ -1174,7 +1117,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  		}
  		if (GetKeyState(VK_MENU) & 0x8000) {
 -			TCHITTESTINFO tci = {0};
 +			TCHITTESTINFO tci = { 0 };
  			tci.pt.x = (short)LOWORD(GetMessagePos());
  			tci.pt.y = (short)HIWORD(GetMessagePos());
  			if (DragDetect(hwnd, tci.pt) && TabCtrl_GetItemCount(hwnd) > 1) {
 @@ -1185,12 +1128,11 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  				i = TabCtrl_HitTest(hwnd, &tci);
  				if (i != -1) {
  					TCITEM tc;
 -					TWindowData *dat = NULL;
 -
  					tc.mask = TCIF_PARAM;
  					TabCtrl_GetItem(hwnd, i, &tc);
 -					dat = (TWindowData*)GetWindowLongPtr((HWND)tc.lParam, GWLP_USERDATA);
 -					if (dat)	{
 +
 +					TWindowData *dat = (TWindowData*)GetWindowLongPtr((HWND)tc.lParam, GWLP_USERDATA);
 +					if (dat) {
  						tabdat->bDragging = TRUE;
  						tabdat->iBeginIndex = i;
  						tabdat->hwndDrag = (HWND)tc.lParam;
 @@ -1227,15 +1169,15 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	case WM_MOUSEMOVE:
  		if (tabdat->bDragging) {
 -			TCHITTESTINFO tci = {0};
 +			TCHITTESTINFO tci = { 0 };
  			tci.pt.x = (short)LOWORD(GetMessagePos());
  			tci.pt.y = (short)HIWORD(GetMessagePos());
  			ScreenToClient(hwnd, &tci.pt);
  			ImageList_DragMove(tci.pt.x, tci.pt.y);
  		}
 +
  		if (tabdat->fCloseButton) {
  			POINT	pt;
 -
  			GetCursorPos(&pt);
  			int iOldHovered = tabdat->iHoveredCloseIcon;
  			tabdat->iHoveredCloseIcon = TabCtrl_TestForCloseButton(tabdat, hwnd, pt);
 @@ -1247,7 +1189,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	case WM_LBUTTONUP:
  		CallWindowProc(OldTabControlClassProc, hwnd, msg, wParam, lParam);
  		if (tabdat->bDragging && ReleaseCapture()) {
 -			TCHITTESTINFO tci = {0};
 +			TCHITTESTINFO tci = { 0 };
  			int i;
  			tci.pt.x = (short)LOWORD(GetMessagePos());
  			tci.pt.y = (short)HIWORD(GetMessagePos());
 @@ -1260,7 +1202,7 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  			i = TabCtrl_HitTest(hwnd, &tci);
  			if (i != -1 && i != tabdat->iBeginIndex)
  				RearrangeTab(tabdat->hwndDrag, tabdat->dragDat, MAKELONG(i, 0xffff), tabdat->fSavePos);
 -			tabdat->hwndDrag = (HWND) - 1;
 +			tabdat->hwndDrag = (HWND)-1;
  			tabdat->dragDat = NULL;
  			if (tabdat->himlDrag) {
  				ImageList_RemoveAll(tabdat->himlDrag);
 @@ -1288,16 +1230,16 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	case WM_TIMER:
  		if (wParam == TIMERID_HOVER_T &&  M.GetByte("d_tooltips", 0)) {
 -			POINT pt;
 -			CLCINFOTIP ti = {0};
 -			ti.cbSize = sizeof(ti);
 -
  			KillTimer(hwnd, TIMERID_HOVER_T);
 +
 +			POINT pt;
  			GetCursorPos(&pt);
  			if (abs(pt.x - ptMouseT.x) < 5 && abs(pt.y - ptMouseT.y) < 5) {
 +				CLCINFOTIP ti = { 0 };
 +				ti.cbSize = sizeof(ti);
  				ti.ptCursor = pt;
 -				TCITEM item = {0};
 +				TCITEM item = { 0 };
  				item.mask = TCIF_PARAM;
  				int nItem = GetTabItemFromMouse(hwnd, &pt);
  				if (nItem >= 0 && nItem < TabCtrl_GetItemCount(hwnd)) {
 @@ -1341,9 +1283,8 @@ static LRESULT CALLBACK TabControlSubclassProc(HWND hwnd, UINT msg, WPARAM wPara  	return CallWindowProc(OldTabControlClassProc, hwnd, msg, wParam, lParam);
  }
 -/*
 -* load the tab control configuration data (colors, fonts, flags...
 -*/
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// load the tab control configuration data (colors, fonts, flags...
  void TSAPI ReloadTabConfig()
  {
 @@ -1384,16 +1325,15 @@ void TSAPI FreeTabConfig()  	if (PluginConfig.tabConfig.m_hMenuFont)
  		DeleteObject(PluginConfig.tabConfig.m_hMenuFont);
 -	for (int i=0; i < SIZEOF(PluginConfig.tabConfig.m_brushes); i++)
 +	for (int i = 0; i < SIZEOF(PluginConfig.tabConfig.m_brushes); i++)
  		if (PluginConfig.tabConfig.m_brushes[i])
  			DeleteObject(PluginConfig.tabConfig.m_brushes[i]);
  	memset(&PluginConfig.tabConfig, 0, sizeof(PluginConfig.tabConfig));
  }
 -/*
 -* options dialog for setting up tab options
 -*/
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// options dialog for setting up tab options
  static bool tconfig_init = false;
 @@ -1439,36 +1379,33 @@ INT_PTR CALLBACK DlgProcTabConfig(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM  		return 0;
  	case WM_NOTIFY:
 -		switch (((LPNMHDR) lParam)->idFrom) {
 +		switch (((LPNMHDR)lParam)->idFrom) {
  		case 0:
 -			switch (((LPNMHDR) lParam)->code) {
 +			switch (((LPNMHDR)lParam)->code) {
  			case PSN_APPLY:
 -				{
 -					BOOL translated;
 -
 -					db_set_b(0, SRMSGMOD_T, "y-pad", (BYTE)(GetDlgItemInt(hwndDlg, IDC_TABPADDING, NULL, FALSE)));
 -					db_set_b(0, SRMSGMOD_T, "x-pad", (BYTE)(GetDlgItemInt(hwndDlg, IDC_HTABPADDING, NULL, FALSE)));
 -					db_set_b(0, SRMSGMOD_T, "tborder", (BYTE) GetDlgItemInt(hwndDlg, IDC_TABBORDER, &translated, FALSE));
 -					db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_left" : "tborder_outer_left", (BYTE) GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTER, &translated, FALSE));
 -					db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_right" : "tborder_outer_right", (BYTE) GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERRIGHT, &translated, FALSE));
 -					db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_top" : "tborder_outer_top", (BYTE) GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERTOP, &translated, FALSE));
 -					db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_bottom" : "tborder_outer_bottom", (BYTE) GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERBOTTOM, &translated, FALSE));
 -					db_set_dw(0, SRMSGMOD_T, "bottomadjust", GetDlgItemInt(hwndDlg, IDC_BOTTOMTABADJUST, &translated, TRUE));
 -
 -					int fixedWidth = GetDlgItemInt(hwndDlg, IDC_TABWIDTH, &translated, FALSE);
 -					fixedWidth = (fixedWidth < 60 ? 60 : fixedWidth);
 -					db_set_dw(0, SRMSGMOD_T, "fixedwidth", fixedWidth);
 -					FreeTabConfig();
 -					ReloadTabConfig();
 -
 -					for (TContainerData *p = pFirstContainer; p; p = p->pNext) {
 -						TabCtrl_SetPadding(GetDlgItem(p->hwnd, IDC_MSGTABS), GetDlgItemInt(hwndDlg, IDC_HTABPADDING, NULL, FALSE), GetDlgItemInt(hwndDlg, IDC_TABPADDING, NULL, FALSE));
 -						RedrawWindow(GetDlgItem(p->hwnd, IDC_MSGTABS), NULL, NULL, RDW_INVALIDATE | RDW_ERASE);
 -					}
 -					return TRUE;
 +				BOOL translated;
 +
 +				db_set_b(0, SRMSGMOD_T, "y-pad", (BYTE)(GetDlgItemInt(hwndDlg, IDC_TABPADDING, NULL, FALSE)));
 +				db_set_b(0, SRMSGMOD_T, "x-pad", (BYTE)(GetDlgItemInt(hwndDlg, IDC_HTABPADDING, NULL, FALSE)));
 +				db_set_b(0, SRMSGMOD_T, "tborder", (BYTE)GetDlgItemInt(hwndDlg, IDC_TABBORDER, &translated, FALSE));
 +				db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_left" : "tborder_outer_left", (BYTE)GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTER, &translated, FALSE));
 +				db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_right" : "tborder_outer_right", (BYTE)GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERRIGHT, &translated, FALSE));
 +				db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_top" : "tborder_outer_top", (BYTE)GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERTOP, &translated, FALSE));
 +				db_set_b(0, SRMSGMOD_T, CSkin::m_skinEnabled ? "S_tborder_outer_bottom" : "tborder_outer_bottom", (BYTE)GetDlgItemInt(hwndDlg, IDC_TABBORDEROUTERBOTTOM, &translated, FALSE));
 +				db_set_dw(0, SRMSGMOD_T, "bottomadjust", GetDlgItemInt(hwndDlg, IDC_BOTTOMTABADJUST, &translated, TRUE));
 +
 +				int fixedWidth = GetDlgItemInt(hwndDlg, IDC_TABWIDTH, &translated, FALSE);
 +				fixedWidth = (fixedWidth < 60 ? 60 : fixedWidth);
 +				db_set_dw(0, SRMSGMOD_T, "fixedwidth", fixedWidth);
 +				FreeTabConfig();
 +				ReloadTabConfig();
 +
 +				for (TContainerData *p = pFirstContainer; p; p = p->pNext) {
 +					TabCtrl_SetPadding(GetDlgItem(p->hwnd, IDC_MSGTABS), GetDlgItemInt(hwndDlg, IDC_HTABPADDING, NULL, FALSE), GetDlgItemInt(hwndDlg, IDC_TABPADDING, NULL, FALSE));
 +					RedrawWindow(GetDlgItem(p->hwnd, IDC_MSGTABS), NULL, NULL, RDW_INVALIDATE | RDW_ERASE);
  				}
 +				return TRUE;
  			}
 -			break;
  		}
  		break;
 @@ -1482,7 +1419,7 @@ INT_PTR CALLBACK DlgProcTabConfig(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM  		case IDC_TABBORDEROUTERBOTTOM:
  		case IDC_TABBORDEROUTERRIGHT:
  		case IDC_TABBORDEROUTERTOP:
 -			if (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())
 +			if (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus())
  				return TRUE;
  			break;
  		}
 @@ -1496,9 +1433,8 @@ INT_PTR CALLBACK DlgProcTabConfig(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM  	return FALSE;
  }
 -/*
 - * register the new tab control as a window class (TSTabCtrlClass)
 - */
 +/////////////////////////////////////////////////////////////////////////////////////////
 +// register the new tab control as a window class (TSTabCtrlClass)
  int TSAPI RegisterTabCtrlClass(void)
  {
 diff --git a/src/core/stdmsg/src/msgdialog.cpp b/src/core/stdmsg/src/msgdialog.cpp index 8bb5a9ce11..e566a650ec 100644 --- a/src/core/stdmsg/src/msgdialog.cpp +++ b/src/core/stdmsg/src/msgdialog.cpp @@ -1562,7 +1562,7 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP  				SendMessage(dat->hwndStatus, SB_GETRECT, SendMessage(dat->hwndStatus, SB_GETPARTS, 0, 0) - 1, (LPARAM)&rc);
  				if (nm->pt.x >= rc.left)
 -					CheckIconClick(dat->hContact, dat->hwndStatus, nm->pt, rc, 2, ((LPNMHDR)lParam)->code == NM_RCLICK ? MBCF_RIGHTBUTTON : 0);
 +					CheckStatusIconClick(dat->hContact, dat->hwndStatus, nm->pt, rc, 2, ((LPNMHDR)lParam)->code == NM_RCLICK ? MBCF_RIGHTBUTTON : 0);
  				return TRUE;
  			}
  		}
 diff --git a/src/core/stdmsg/src/statusicon.cpp b/src/core/stdmsg/src/statusicon.cpp index 20932d34ea..0e96ec1235 100644 --- a/src/core/stdmsg/src/statusicon.cpp +++ b/src/core/stdmsg/src/statusicon.cpp @@ -36,25 +36,27 @@ static int OnSrmmIconChanged(WPARAM hContact, LPARAM)  	return 0;
  }
 -void DrawStatusIcons(MCONTACT hContact, HDC hDC, RECT r, int gap)
 +void DrawStatusIcons(MCONTACT hContact, HDC hDC, const RECT &rc, int gap)
  {
 -	int x = r.left;
 +	int x = rc.left;
 +	int cx_icon = GetSystemMetrics(SM_CXSMICON);
 +	int cy_icon = GetSystemMetrics(SM_CYSMICON);
  	int nIcon = 0;
  	StatusIconData *sid;
 -	while ((sid = Srmm_GetNthIcon(hContact, nIcon++)) != 0 && x < r.right) {
 +	while ((sid = Srmm_GetNthIcon(hContact, nIcon++)) != 0 && x < rc.right) {
  		HICON hIcon = ((sid->flags & MBF_DISABLED) && sid->hIconDisabled) ? sid->hIconDisabled : sid->hIcon;
  		SetBkMode(hDC, TRANSPARENT);
 -		DrawIconEx(hDC, x, (r.top + r.bottom - GetSystemMetrics(SM_CYSMICON)) >> 1, hIcon, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0, NULL, DI_NORMAL);
 +		DrawIconEx(hDC, x, (rc.top + rc.bottom - cy_icon) >> 1, hIcon, cx_icon, cy_icon, 0, NULL, DI_NORMAL);
 -		x += GetSystemMetrics(SM_CYSMICON) + gap;
 +		x += cx_icon + gap;
  	}
  }
 -void CheckIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, RECT r, int gap, int click_flags)
 +void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int click_flags)
  {
 -	int iconNum = (pt.x - r.left) / (GetSystemMetrics(SM_CXSMICON) + gap);
 +	int iconNum = (pt.x - rc.left) / (GetSystemMetrics(SM_CXSMICON) + gap);
  	StatusIconData *sid = Srmm_GetNthIcon(hContact, iconNum);
  	if (sid == NULL)
  		return;
 diff --git a/src/core/stdmsg/src/statusicon.h b/src/core/stdmsg/src/statusicon.h index 8afbbfb0bb..8a267917dc 100644 --- a/src/core/stdmsg/src/statusicon.h +++ b/src/core/stdmsg/src/statusicon.h @@ -8,7 +8,7 @@ int InitStatusIcons();  int DeinitStatusIcons();
  int  GetStatusIconsCount(MCONTACT hContact);
 -void DrawStatusIcons(MCONTACT hContact, HDC hdc, RECT r, int gap);
 -void CheckIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, RECT r, int gap, int flags);
 +void DrawStatusIcons(MCONTACT hContact, HDC hdc, const RECT &rc, int gap);
 +void CheckStatusIconClick(MCONTACT hContact, HWND hwndFrom, POINT pt, const RECT &rc, int gap, int flags);
  #endif
 | 
