diff options
| author | George Hazan <george.hazan@gmail.com> | 2013-10-30 18:06:10 +0000 | 
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2013-10-30 18:06:10 +0000 | 
| commit | 6e6e4a343442a774eb46e044a4b842b0033ed224 (patch) | |
| tree | 6fe2cb0ce38f15956110b304d1d193dc0cfc80eb /plugins/FavContacts/src | |
| parent | f91816baec61992beaf8b85f65559f6cf55c8d64 (diff) | |
fix for drawing the root group in FavContacts
git-svn-id: http://svn.miranda-ng.org/main/trunk@6698 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FavContacts/src')
| -rw-r--r-- | plugins/FavContacts/src/main.cpp | 35 | 
1 files changed, 24 insertions, 11 deletions
| diff --git a/plugins/FavContacts/src/main.cpp b/plugins/FavContacts/src/main.cpp index 98a10c53f0..feda5bbd0f 100644 --- a/plugins/FavContacts/src/main.cpp +++ b/plugins/FavContacts/src/main.cpp @@ -90,8 +90,23 @@ static __forceinline COLORREF sttShadeColor(COLORREF clLine1, COLORREF clBack)  	return RGB(
  				(GetRValue(clLine1) * 66UL + GetRValue(clBack) * 34UL) / 100,
  				(GetGValue(clLine1) * 66UL + GetGValue(clBack) * 34UL) / 100,
 -				(GetBValue(clLine1) * 66UL + GetBValue(clBack) * 34UL) / 100
 -			);
 +				(GetBValue(clLine1) * 66UL + GetBValue(clBack) * 34UL) / 100);
 +}
 +
 +static bool sttIsGroup(int id)
 +{
 +	return (id == 1) ? true : (pcli->pfnGetGroupName(id-1, NULL) != NULL);
 +}
 +
 +static TCHAR* sttGetGroupName(int id)
 +{
 +	if (id == 1) {
 +		if (g_Options.bUseGroups)
 +			return TranslateT("<No group>");
 +		return TranslateT("Favourite Contacts");
 +	}
 +
 +	return pcli->pfnGetGroupName(id-1, NULL);
  }
  int ProcessTBLoaded(WPARAM wParam, LPARAM lParam)
 @@ -350,7 +365,7 @@ static BOOL sttMeasureItem_Group(LPMEASUREITEMSTRUCT lpmis, Options *options)  	{
  		HDC hdc = GetDC(g_hwndMenuHost);
  		HFONT hfntSave = (HFONT)SelectObject(hdc, GetStockObject(DEFAULT_GUI_FONT));
 -		TCHAR *name = pcli->pfnGetGroupName(lpmis->itemData-1, NULL);
 +		TCHAR *name = sttGetGroupName(lpmis->itemData);
  		SIZE sz;
  		if (!options->bSysColors)
  			SelectObject(hdc, g_Options.hfntName);
 @@ -445,7 +460,7 @@ static BOOL sttMeasureItem(LPMEASUREITEMSTRUCT lpmis, Options *options=NULL)  		return FALSE;
  	BOOL res = FALSE;
 -	if ( pcli->pfnGetGroupName(lpmis->itemData-1, 0))
 +	if (sttIsGroup(lpmis->itemData))
  		res = sttMeasureItem_Group(lpmis, options);
  	else if (CallService(MS_DB_CONTACT_IS, lpmis->itemData, 0))
  		res = sttMeasureItem_Contact(lpmis, options);
 @@ -474,12 +489,10 @@ static BOOL sttDrawItem_Group(LPDRAWITEMSTRUCT lpdis, Options *options = NULL)  		SetTextColor(lpdis->hDC, g_Options.clLine1Sel);
  	}
 -	if (true) {
 -		TCHAR *name = pcli->pfnGetGroupName(lpdis->itemData-1, NULL);
 -		if (!options->bSysColors)
 -			SelectObject(lpdis->hDC, g_Options.hfntName);
 -		DrawText(lpdis->hDC, name, lstrlen(name), &lpdis->rcItem, DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
 -	}
 +	TCHAR *name = sttGetGroupName(lpdis->itemData);
 +	if (!options->bSysColors)
 +		SelectObject(lpdis->hDC, g_Options.hfntName);
 +	DrawText(lpdis->hDC, name, lstrlen(name), &lpdis->rcItem, DT_NOPREFIX|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
  	SelectObject(lpdis->hDC, hfntSave);
 @@ -673,7 +686,7 @@ static BOOL sttDrawItem(LPDRAWITEMSTRUCT lpdis, Options *options=NULL)  	if (!lpdis->itemData)
  		return FALSE;
 -	if ( pcli->pfnGetGroupName(lpdis->itemData-1, NULL))
 +	if (sttIsGroup(lpdis->itemData))
  		return sttDrawItem_Group(lpdis, options);
  	if (CallService(MS_DB_CONTACT_IS, lpdis->itemData, 0))
 | 
