Author: gadamopoulos
Date: Wed Apr 1 19:18:34 2015
New Revision: 67008
URL:
http://svn.reactos.org/svn/reactos?rev=67008&view=rev
Log:
[SHELL32]
- Show hidden files as dithered.
Modified:
trunk/reactos/dll/win32/shell32/CDefView.cpp
Modified: trunk/reactos/dll/win32/shell32/CDefView.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CDefView…
==============================================================================
--- trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/CDefView.cpp [iso-8859-1] Wed Apr 1 19:18:34 2015
@@ -787,6 +787,7 @@
lvItem.lParam = reinterpret_cast<LPARAM>(ILClone(pidl)); /*set the item's
data*/
lvItem.pszText = LPSTR_TEXTCALLBACKW; /*get text on a callback
basis*/
lvItem.iImage = I_IMAGECALLBACK; /*get the image on a callback
basis*/
+ lvItem.stateMask = LVIS_CUT;
if (m_ListView.InsertItem(&lvItem) == -1)
return FALSE;
@@ -881,7 +882,10 @@
{
/* if the value is 1, then show all hidden files/folders */
if (flagVal == 1)
+ {
dFlags |= SHCONTF_INCLUDEHIDDEN;
+ m_ListView.SendMessageW(LVM_SETCALLBACKMASK, LVIS_CUT, 0);
+ }
}
/* close the key */
@@ -1755,6 +1759,17 @@
{
lpdi->item.iImage = SHMapPIDLToSystemImageListIndex(m_pSFParent, pidl,
0);
}
+ if(lpdi->item.mask & LVIF_STATE)
+ {
+ ULONG attributes = SFGAO_HIDDEN;
+ if (SUCCEEDED(m_pSFParent->GetAttributesOf(1, &pidl,
&attributes)))
+ {
+ if (attributes & SFGAO_HIDDEN)
+ {
+ lpdi->item.state |= LVIS_CUT;
+ }
+ }
+ }
lpdi->item.mask |= LVIF_DI_SETITEM;
break;