shell32: Implement IExplorerBrowser::SetOptions and IExplorerBrowser::GetOptions.
This commit is contained in:
parent
6cb7658377
commit
9c0260f2cb
|
@ -42,6 +42,8 @@ typedef struct _ExplorerBrowserImpl {
|
|||
BOOL destroyed;
|
||||
|
||||
HWND hwnd_main;
|
||||
|
||||
EXPLORER_BROWSER_OPTIONS eb_options;
|
||||
} ExplorerBrowserImpl;
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -258,18 +260,28 @@ static HRESULT WINAPI IExplorerBrowser_fnSetOptions(IExplorerBrowser *iface,
|
|||
EXPLORER_BROWSER_OPTIONS dwFlag)
|
||||
{
|
||||
ExplorerBrowserImpl *This = (ExplorerBrowserImpl*)iface;
|
||||
FIXME("stub, %p (0x%x)\n", This, dwFlag);
|
||||
static const EXPLORER_BROWSER_OPTIONS unsupported_options =
|
||||
EBO_SHOWFRAMES | EBO_ALWAYSNAVIGATE | EBO_NOWRAPPERWINDOW | EBO_HTMLSHAREPOINTVIEW;
|
||||
|
||||
return E_NOTIMPL;
|
||||
TRACE("%p (0x%x)\n", This, dwFlag);
|
||||
|
||||
if(dwFlag & unsupported_options)
|
||||
FIXME("Flags 0x%08x contains unsupported options.\n", dwFlag);
|
||||
|
||||
This->eb_options = dwFlag;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IExplorerBrowser_fnGetOptions(IExplorerBrowser *iface,
|
||||
EXPLORER_BROWSER_OPTIONS *pdwFlag)
|
||||
{
|
||||
ExplorerBrowserImpl *This = (ExplorerBrowserImpl*)iface;
|
||||
FIXME("stub, %p (%p)\n", This, pdwFlag);
|
||||
TRACE("%p (%p)\n", This, pdwFlag);
|
||||
|
||||
return E_NOTIMPL;
|
||||
*pdwFlag = This->eb_options;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI IExplorerBrowser_fnBrowseToIDList(IExplorerBrowser *iface,
|
||||
|
|
|
@ -277,6 +277,7 @@ static void test_basics(void)
|
|||
IExplorerBrowser *peb;
|
||||
IShellBrowser *psb;
|
||||
ULONG lres;
|
||||
DWORD flags;
|
||||
HDWP hdwp;
|
||||
RECT rc;
|
||||
HRESULT hr;
|
||||
|
@ -331,6 +332,31 @@ static void test_basics(void)
|
|||
IShellBrowser_Release(psb);
|
||||
}
|
||||
|
||||
IExplorerBrowser_Destroy(peb);
|
||||
IExplorerBrowser_Release(peb);
|
||||
|
||||
/* GetOptions/SetOptions*/
|
||||
ebrowser_instantiate(&peb);
|
||||
|
||||
if(0) {
|
||||
/* Crashes on Windows 7 */
|
||||
IExplorerBrowser_GetOptions(peb, NULL);
|
||||
}
|
||||
|
||||
hr = IExplorerBrowser_GetOptions(peb, &flags);
|
||||
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||
ok(flags == 0, "got (0x%08x)\n", flags);
|
||||
|
||||
/* Settings preserved through Initialize. */
|
||||
hr = IExplorerBrowser_SetOptions(peb, 0xDEADBEEF);
|
||||
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||
|
||||
ebrowser_initialize(peb);
|
||||
|
||||
hr = IExplorerBrowser_GetOptions(peb, &flags);
|
||||
ok(flags == 0xDEADBEEF, "got (0x%08x)\n", flags);
|
||||
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||
|
||||
IExplorerBrowser_Destroy(peb);
|
||||
lres = IExplorerBrowser_Release(peb);
|
||||
ok(lres == 0, "Got %d\n", lres);
|
||||
|
|
Loading…
Reference in New Issue