mirror of
https://github.com/reactos/reactos.git
synced 2026-06-04 02:10:28 +08:00
[SHELLFIND] Set default folder view mode to details
This commit is contained in:
committed by
Giannis Adamopoulos
parent
c0799cd25b
commit
9c29004090
@@ -119,6 +119,7 @@ STDMETHODIMP CFindFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *
|
||||
SFV_CREATE sfvparams = {};
|
||||
sfvparams.cbSize = sizeof(SFV_CREATE);
|
||||
sfvparams.pshf = this;
|
||||
sfvparams.psfvcb = this;
|
||||
return SHCreateShellFolderView(&sfvparams, (IShellView **) ppvOut);
|
||||
}
|
||||
return E_NOINTERFACE;
|
||||
@@ -146,6 +147,22 @@ STDMETHODIMP CFindFolder::SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLE
|
||||
UNIMPLEMENTED;
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
//// *** IShellFolderViewCB method ***
|
||||
STDMETHODIMP CFindFolder::MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case SFVM_DEFVIEWMODE:
|
||||
{
|
||||
FOLDERVIEWMODE *pViewMode = (FOLDERVIEWMODE *) lParam;
|
||||
*pViewMode = FVM_DETAILS;
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
//// *** IPersistFolder2 methods ***
|
||||
STDMETHODIMP CFindFolder::GetCurFolder(LPITEMIDLIST *pidl)
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ class CFindFolder :
|
||||
public CComCoClass<CFindFolder, &CLSID_FindFolder>,
|
||||
public CComObjectRootEx<CComMultiThreadModelNoCS>,
|
||||
public IShellFolder2,
|
||||
public IShellFolderViewCB,
|
||||
public IPersistFolder2
|
||||
{
|
||||
// *** IShellFolder2 methods ***
|
||||
@@ -51,6 +52,9 @@ class CFindFolder :
|
||||
STDMETHODIMP SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags,
|
||||
PITEMID_CHILD *pPidlOut);
|
||||
|
||||
//// *** IShellFolderViewCB methods ***
|
||||
STDMETHODIMP MessageSFVCB(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
private:
|
||||
LPITEMIDLIST m_pidl;
|
||||
CComPtr<IShellFolder2> m_pisfInner;
|
||||
@@ -76,6 +80,7 @@ public:
|
||||
BEGIN_COM_MAP(CFindFolder)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IShellFolder2, IShellFolder2)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IShellFolder, IShellFolder)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IShellFolderViewCB, IShellFolderViewCB)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IPersistFolder2, IPersistFolder2)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IPersistFolder, IPersistFolder)
|
||||
COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
|
||||
|
||||
Reference in New Issue
Block a user