mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 06:22:58 +00:00
[SHELL32] CDefView: Query SFVM_DEFVIEWMODE before creating the list view.
CORE-14976
This commit is contained in:
parent
8c0c90112e
commit
80c53821c9
1 changed files with 16 additions and 3 deletions
|
@ -114,7 +114,7 @@ class CDefView :
|
||||||
private:
|
private:
|
||||||
HRESULT _MergeToolbar();
|
HRESULT _MergeToolbar();
|
||||||
BOOL _Sort();
|
BOOL _Sort();
|
||||||
VOID _DoFolderViewCB(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
HRESULT _DoFolderViewCB(UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CDefView();
|
CDefView();
|
||||||
|
@ -520,7 +520,9 @@ void CDefView::SetStyle(DWORD dwAdd, DWORD dwRemove)
|
||||||
*/
|
*/
|
||||||
BOOL CDefView::CreateList()
|
BOOL CDefView::CreateList()
|
||||||
{
|
{
|
||||||
|
HRESULT hr;
|
||||||
DWORD dwStyle, dwExStyle;
|
DWORD dwStyle, dwExStyle;
|
||||||
|
UINT ViewMode;
|
||||||
|
|
||||||
TRACE("%p\n", this);
|
TRACE("%p\n", this);
|
||||||
|
|
||||||
|
@ -533,6 +535,16 @@ BOOL CDefView::CreateList()
|
||||||
else
|
else
|
||||||
dwStyle |= LVS_ALIGNTOP | LVS_SHOWSELALWAYS;
|
dwStyle |= LVS_ALIGNTOP | LVS_SHOWSELALWAYS;
|
||||||
|
|
||||||
|
ViewMode = m_FolderSettings.ViewMode;
|
||||||
|
hr = _DoFolderViewCB(SFVM_DEFVIEWMODE, NULL, (LPARAM)&ViewMode);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
if (ViewMode >= FVM_FIRST && ViewMode <= FVM_LAST)
|
||||||
|
m_FolderSettings.ViewMode = ViewMode;
|
||||||
|
else
|
||||||
|
ERR("Ignoring invalid ViewMode from SFVM_DEFVIEWMODE: %u (was: %u)\n", ViewMode, m_FolderSettings.ViewMode);
|
||||||
|
}
|
||||||
|
|
||||||
switch (m_FolderSettings.ViewMode)
|
switch (m_FolderSettings.ViewMode)
|
||||||
{
|
{
|
||||||
case FVM_ICON:
|
case FVM_ICON:
|
||||||
|
@ -3245,12 +3257,13 @@ HRESULT CDefView::_MergeToolbar()
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID CDefView::_DoFolderViewCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
HRESULT CDefView::_DoFolderViewCB(UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (m_pShellFolderViewCB)
|
if (m_pShellFolderViewCB)
|
||||||
{
|
{
|
||||||
m_pShellFolderViewCB->MessageSFVCB(uMsg, wParam, lParam);
|
return m_pShellFolderViewCB->MessageSFVCB(uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT CDefView_CreateInstance(IShellFolder *pFolder, REFIID riid, LPVOID * ppvOut)
|
HRESULT CDefView_CreateInstance(IShellFolder *pFolder, REFIID riid, LPVOID * ppvOut)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue