shell32: System shellfolders don't implement GetDefaultColumn().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
48dfe437f9
commit
babd22b443
|
@ -724,17 +724,17 @@ static HRESULT WINAPI ISF_ControlPanel_fnEnumSearches(IShellFolder2 *iface,
|
||||||
FIXME("(%p)\n", This);
|
FIXME("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 *iface, DWORD dwRes,
|
|
||||||
ULONG *pSort, ULONG *pDisplay)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved,
|
||||||
|
ULONG *sort, ULONG *display)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)\n", This);
|
TRACE("(%p)->(%#x %p %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort) *pSort = 0;
|
return E_NOTIMPL;
|
||||||
if (pDisplay) *pDisplay = 0;
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 *iface, UINT iColumn,
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 *iface, UINT iColumn,
|
||||||
DWORD *pcsFlags)
|
DWORD *pcsFlags)
|
||||||
{
|
{
|
||||||
|
|
|
@ -580,13 +580,13 @@ static HRESULT WINAPI RecycleBin_EnumSearches(IShellFolder2 *iface, IEnumExtraSe
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI RecycleBin_GetDefaultColumn(IShellFolder2 *iface, DWORD dwReserved, ULONG *pSort, ULONG *pDisplay)
|
static HRESULT WINAPI RecycleBin_GetDefaultColumn(IShellFolder2 *iface, DWORD reserved, ULONG *sort, ULONG *display)
|
||||||
{
|
{
|
||||||
RecycleBin *This = impl_from_IShellFolder2(iface);
|
RecycleBin *This = impl_from_IShellFolder2(iface);
|
||||||
TRACE("(%p, %x, %p, %p)\n", This, dwReserved, pSort, pDisplay);
|
|
||||||
*pSort = 0;
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
*pDisplay = 0;
|
|
||||||
return S_OK;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI RecycleBin_GetDefaultColumnState(IShellFolder2 *iface, UINT iColumn, SHCOLSTATEF *pcsFlags)
|
static HRESULT WINAPI RecycleBin_GetDefaultColumnState(IShellFolder2 *iface, UINT iColumn, SHCOLSTATEF *pcsFlags)
|
||||||
|
|
|
@ -769,20 +769,15 @@ static HRESULT WINAPI ISF_Desktop_fnEnumSearches (IShellFolder2 *iface,
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumn (IShellFolder2 * iface,
|
static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved, ULONG *sort, ULONG *display)
|
||||||
DWORD reserved, ULONG * pSort, ULONG * pDisplay)
|
|
||||||
{
|
{
|
||||||
IDesktopFolderImpl *This = impl_from_IShellFolder2(iface);
|
IDesktopFolderImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE ("(%p)->(%d %p %p)\n", This, reserved, pSort, pDisplay);
|
TRACE ("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort)
|
return E_NOTIMPL;
|
||||||
*pSort = 0;
|
|
||||||
if (pDisplay)
|
|
||||||
*pDisplay = 0;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumnState (
|
static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumnState (
|
||||||
IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
|
IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
|
||||||
{
|
{
|
||||||
|
|
|
@ -926,19 +926,13 @@ static HRESULT WINAPI IShellFolder_fnEnumSearches (IShellFolder2 * iface,
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI
|
||||||
IShellFolder_fnGetDefaultColumn (IShellFolder2 * iface, DWORD dwRes,
|
IShellFolder_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved, ULONG *sort, ULONG *display)
|
||||||
ULONG * pSort, ULONG * pDisplay)
|
|
||||||
{
|
{
|
||||||
IGenericSFImpl *This = impl_from_IShellFolder2(iface);
|
IGenericSFImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE ("(%p)\n", This);
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort)
|
return E_NOTIMPL;
|
||||||
*pSort = 0;
|
|
||||||
if (pDisplay)
|
|
||||||
*pDisplay = 0;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI
|
||||||
|
|
|
@ -782,19 +782,17 @@ static HRESULT WINAPI ISF_MyComputer_fnEnumSearches (
|
||||||
FIXME ("(%p)\n", This);
|
FIXME ("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumn (
|
|
||||||
IShellFolder2 *iface, DWORD dwRes, ULONG *pSort, ULONG *pDisplay)
|
static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved,
|
||||||
|
ULONG *sort, ULONG *display)
|
||||||
{
|
{
|
||||||
IMyComputerFolderImpl *This = impl_from_IShellFolder2(iface);
|
IMyComputerFolderImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE ("(%p)\n", This);
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort)
|
return E_NOTIMPL;
|
||||||
*pSort = 0;
|
|
||||||
if (pDisplay)
|
|
||||||
*pDisplay = 0;
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumnState (
|
static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumnState (
|
||||||
IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
|
IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
|
||||||
{
|
{
|
||||||
|
|
|
@ -519,19 +519,14 @@ static HRESULT WINAPI ISF_NetworkPlaces_fnEnumSearches (IShellFolder2 * iface,
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_NetworkPlaces_fnGetDefaultColumn (IShellFolder2 * iface,
|
static HRESULT WINAPI ISF_NetworkPlaces_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved,
|
||||||
DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
|
ULONG *sort, ULONG *display)
|
||||||
{
|
{
|
||||||
IGenericSFImpl *This = impl_from_IShellFolder2(iface);
|
IGenericSFImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE ("(%p)\n", This);
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort)
|
return E_NOTIMPL;
|
||||||
*pSort = 0;
|
|
||||||
if (pDisplay)
|
|
||||||
*pDisplay = 0;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_NetworkPlaces_fnGetDefaultColumnState (
|
static HRESULT WINAPI ISF_NetworkPlaces_fnGetDefaultColumnState (
|
||||||
|
|
|
@ -267,11 +267,13 @@ static HRESULT WINAPI IShellFolder_Printers_fnEnumSearches (
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI IShellFolder_Printers_fnGetDefaultColumn (
|
static HRESULT WINAPI IShellFolder_Printers_fnGetDefaultColumn(IShellFolder2 *iface, DWORD reserved,
|
||||||
IShellFolder2 *iface, DWORD dwRes, ULONG *pSort, ULONG *pDisplay)
|
ULONG *sort, ULONG *display)
|
||||||
{
|
{
|
||||||
IPrintersFolderImpl *This = impl_from_IShellFolder2(iface);
|
IPrintersFolderImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p) stub\n", This);
|
|
||||||
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1437,19 +1437,13 @@ static HRESULT WINAPI ShellFolder2_EnumSearches(IShellFolder2* iface, IEnumExtra
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ShellFolder2_GetDefaultColumn(IShellFolder2* iface,
|
static HRESULT WINAPI ShellFolder2_GetDefaultColumn(IShellFolder2* iface, DWORD reserved, ULONG *sort, ULONG *display)
|
||||||
DWORD dwReserved, ULONG *pSort, ULONG *pDisplay)
|
|
||||||
{
|
{
|
||||||
UnixFolder *This = impl_from_IShellFolder2(iface);
|
UnixFolder *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(0x%x %p %p)\n", This, dwReserved, pSort, pDisplay);
|
TRACE("(%p)->(%#x, %p, %p)\n", This, reserved, sort, display);
|
||||||
|
|
||||||
if (pSort)
|
return E_NOTIMPL;
|
||||||
*pSort = 0;
|
|
||||||
if (pDisplay)
|
|
||||||
*pDisplay = 0;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ShellFolder2_GetDefaultColumnState(IShellFolder2* iface,
|
static HRESULT WINAPI ShellFolder2_GetDefaultColumnState(IShellFolder2* iface,
|
||||||
|
|
|
@ -5395,6 +5395,57 @@ static void test_DataObject(void)
|
||||||
IDataObject_Release(data_obj);
|
IDataObject_Release(data_obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_GetDefaultColumn(void)
|
||||||
|
{
|
||||||
|
static const CLSID *folders[] =
|
||||||
|
{
|
||||||
|
&CLSID_MyComputer,
|
||||||
|
&CLSID_MyDocuments,
|
||||||
|
&CLSID_ControlPanel,
|
||||||
|
&CLSID_NetworkPlaces,
|
||||||
|
&CLSID_Printers,
|
||||||
|
&CLSID_RecycleBin,
|
||||||
|
&CLSID_ShellDesktop,
|
||||||
|
};
|
||||||
|
HRESULT hr;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
CoInitialize(NULL);
|
||||||
|
|
||||||
|
for (i = 0; i < sizeof(folders)/sizeof(folders[0]); i++)
|
||||||
|
{
|
||||||
|
IShellFolder2 *folder;
|
||||||
|
ULONG sort, display;
|
||||||
|
|
||||||
|
hr = CoCreateInstance(folders[i], NULL, CLSCTX_INPROC_SERVER, &IID_IShellFolder2, (void **)&folder);
|
||||||
|
if (hr != S_OK)
|
||||||
|
{
|
||||||
|
win_skip("Failed to create folder %s, hr %#x.\n", wine_dbgstr_guid(folders[i]), hr);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr = IShellFolder2_GetDefaultColumn(folder, 0, NULL, NULL);
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
|
sort = display = 123;
|
||||||
|
hr = IShellFolder2_GetDefaultColumn(folder, 0, &sort, &display);
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(sort == 123 && display == 123, "Unexpected default column.\n");
|
||||||
|
|
||||||
|
display = 123;
|
||||||
|
hr = IShellFolder2_GetDefaultColumn(folder, 0, NULL, &display);
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(display == 123, "Unexpected default column.\n");
|
||||||
|
|
||||||
|
sort = 123;
|
||||||
|
hr = IShellFolder2_GetDefaultColumn(folder, 0, &sort, NULL);
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(sort == 123, "Unexpected default column.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
CoUninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(shlfolder)
|
START_TEST(shlfolder)
|
||||||
{
|
{
|
||||||
init_function_pointers();
|
init_function_pointers();
|
||||||
|
@ -5434,6 +5485,7 @@ START_TEST(shlfolder)
|
||||||
test_ShellItemArrayGetAttributes();
|
test_ShellItemArrayGetAttributes();
|
||||||
test_SHCreateDefaultContextMenu();
|
test_SHCreateDefaultContextMenu();
|
||||||
test_DataObject();
|
test_DataObject();
|
||||||
|
test_GetDefaultColumn();
|
||||||
|
|
||||||
OleUninitialize();
|
OleUninitialize();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue