{\r
SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_SUBITEMIMAGES);\r
// load the icons for the action columns\r
- m_Theme.SetWindowTheme(GetSafeHwnd(), L"Explorer", NULL);\r
+// m_Theme.Open(m_hWnd, L"ListView");\r
+ m_Theme.Open(m_hWnd, L"Explorer::ListView;ListView");\r
+ m_Theme.SetWindowTheme(m_hWnd, L"Explorer", NULL);\r
CHintListCtrl::PreSubclassWindow();\r
}\r
\r
}\r
return FALSE;\r
}\r
+\r
void CGitLogListBase::FillBackGround(HDC hdc, int Index,CRect &rect)\r
{ \r
// HBRUSH brush;\r
GetItem(&rItem);\r
\r
GitRev* pLogEntry = (GitRev*)m_arShownList.GetAt(Index);\r
- HBRUSH brush;\r
+ HBRUSH brush = NULL;\r
\r
\r
if (m_Theme.IsAppThemed() && m_bVista)\r
{\r
- m_Theme.Open(m_hWnd, L"Explorer");\r
int state = LISS_NORMAL;\r
if (rItem.state & LVIS_SELECTED)\r
{\r
brush = ::CreateSolidBrush(RGB(156,156,156));\r
else if(pLogEntry->m_Action&CTGitPath::LOGACTIONS_REBASE_EDIT)\r
brush = ::CreateSolidBrush(RGB(200,200,128));\r
+ }\r
\r
- if (brush == NULL)\r
- return;\r
-\r
+ if (brush != NULL)\r
+ {\r
::FillRect(hdc, &rect, brush);\r
::DeleteObject(brush);\r
-\r
}\r
-\r
- if (m_Theme.IsBackgroundPartiallyTransparent(LVP_LISTDETAIL, state))\r
- m_Theme.DrawParentBackground(m_hWnd, hdc, &rect);\r
else\r
- m_Theme.DrawBackground(hdc, LVP_LISTDETAIL, state, &rect, NULL);\r
+ {\r
+ if (m_Theme.IsBackgroundPartiallyTransparent(LVP_LISTITEM, state))\r
+ m_Theme.DrawParentBackground(m_hWnd, hdc, &rect);\r
+\r
+ CRect rectDraw = rect;\r
+ if(rItem.state & LVIS_SELECTED)\r
+ rectDraw.InflateRect(1,0);\r
+ else\r
+ rectDraw.InflateRect(1,1);\r
+\r
+ m_Theme.DrawBackground(hdc, LVP_LISTITEM, state, rectDraw, &rect);\r
+ }\r
}\r
else\r
{\r
rt.SetRect(rt.left,rt.top,rt.left+size.cx,rt.bottom);\r
rt.right+=4;\r
::FillRect(hdc, &rt, brush);\r
- if (rItem.state & LVIS_SELECTED)\r
+ if (m_Theme.IsAppThemed() && m_bVista)\r
{\r
- COLORREF clrOld = ::SetTextColor(hdc,::GetSysColor(COLOR_HIGHLIGHTTEXT)); \r
- ::DrawText(hdc,shortname,shortname.GetLength(),&rt,DT_CENTER);\r
- ::SetTextColor(hdc,clrOld); \r
- }else\r
+ int txtState = LISS_NORMAL;\r
+ if (rItem.state & LVIS_SELECTED)\r
+ txtState = LISS_SELECTED;\r
+\r
+ m_Theme.DrawText(hdc, LVP_LISTITEM, txtState, shortname, -1, DT_CENTER | DT_SINGLELINE | DT_VCENTER, 0, &rt);\r
+ }\r
+ else\r
{\r
- ::DrawText(hdc,shortname,shortname.GetLength(),&rt,DT_CENTER);\r
+ if (rItem.state & LVIS_SELECTED)\r
+ {\r
+ COLORREF clrNew = ::GetSysColor(COLOR_HIGHLIGHTTEXT);\r
+ COLORREF clrOld = ::SetTextColor(hdc,clrNew); \r
+ ::DrawText(hdc,shortname,shortname.GetLength(),&rt,DT_CENTER | DT_SINGLELINE | DT_VCENTER);\r
+ ::SetTextColor(hdc,clrOld);\r
+ }else\r
+ {\r
+ ::DrawText(hdc,shortname,shortname.GetLength(),&rt,DT_CENTER | DT_SINGLELINE | DT_VCENTER);\r
+ }\r
}\r
\r
\r
} \r
rt.right=rect.right;\r
\r
- if (rItem.state & LVIS_SELECTED)\r
+ if (m_Theme.IsAppThemed() && m_bVista)\r
{\r
- COLORREF clrOld = ::SetTextColor(hdc,::GetSysColor(COLOR_HIGHLIGHTTEXT)); \r
- ::DrawText(hdc,data->m_Subject,data->m_Subject.GetLength(),&rt,DT_LEFT);\r
- ::SetTextColor(hdc,clrOld); \r
- }else\r
+ int txtState = LISS_NORMAL;\r
+ if (rItem.state & LVIS_SELECTED)\r
+ txtState = LISS_SELECTED;\r
+\r
+ m_Theme.DrawText(hdc, LVP_LISTITEM, txtState, data->m_Subject, -1, DT_LEFT | DT_SINGLELINE | DT_VCENTER, 0, &rt);\r
+ }\r
+ else\r
{\r
- ::DrawText(hdc,data->m_Subject,data->m_Subject.GetLength(),&rt,DT_LEFT);\r
+ if (rItem.state & LVIS_SELECTED)\r
+ {\r
+ COLORREF clrOld = ::SetTextColor(hdc,::GetSysColor(COLOR_HIGHLIGHTTEXT)); \r
+ ::DrawText(hdc,data->m_Subject,data->m_Subject.GetLength(),&rt,DT_LEFT | DT_SINGLELINE | DT_VCENTER);\r
+ ::SetTextColor(hdc,clrOld); \r
+ }else\r
+ {\r
+ ::DrawText(hdc,data->m_Subject,data->m_Subject.GetLength(),&rt,DT_LEFT | DT_SINGLELINE | DT_VCENTER);\r
+ }\r
}\r
- \r
}\r
\r
static COLORREF blend(const COLORREF& col1, const COLORREF& col2, int amount = 128) {\r