Commit 78c909fb authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

shell32/shellview: Implement IFolderView::ItemCount for SVGIO_ALLVIEW flag.

parent b8220e72
......@@ -2735,9 +2735,16 @@ static HRESULT WINAPI IFView_Item(IFolderView *iface, int index, PITEMID_CHILD *
static HRESULT WINAPI IFView_ItemCount(IFolderView *iface, UINT flags, int *items)
{
IShellViewImpl *This = impl_from_IFolderView(iface);
FIXME("(%p)->(%u %p), stub\n", This, flags, items);
return E_NOTIMPL;
IShellViewImpl *This = impl_from_IFolderView(iface);
TRACE("(%p)->(%u %p)\n", This, flags, items);
if (flags != SVGIO_ALLVIEW)
FIXME("some flags unsupported, %x\n", flags & ~SVGIO_ALLVIEW);
*items = SendMessageW(This->hWndList, LVM_GETITEMCOUNT, 0, 0);
return S_OK;
}
static HRESULT WINAPI IFView_Items(IFolderView *iface, UINT flags, REFIID riid, void **ppv)
......
......@@ -308,6 +308,11 @@ static const struct message folderview_getfocused_seq[] = {
{ 0 }
};
static const struct message folderview_itemcount_seq[] = {
{ LVM_GETITEMCOUNT, sent },
{ 0 }
};
static void test_IShellView_CreateViewWindow(void)
{
IShellFolder *desktop;
......@@ -469,6 +474,19 @@ if (0)
ok(ref1 == ref2, "expected same refcount, got %d\n", ref2);
ok(desktop == folder, "\n");
/* IFolderView::ItemCount */
if (0)
{
/* crashes on XP */
hr = IFolderView_ItemCount(fv, SVGIO_ALLVIEW, NULL);
}
flush_sequences(sequences, NUM_MSG_SEQUENCES);
hr = IFolderView_ItemCount(fv, SVGIO_ALLVIEW, &ret);
ok(hr == S_OK, "got (0x%08x)\n", hr);
ok_sequence(sequences, LISTVIEW_SEQ_INDEX, folderview_itemcount_seq,
"IFolderView::ItemCount", FALSE);
IShellBrowser_Release(browser);
IFolderView_Release(fv);
IShellView_Release(view);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment