From f2139d0242f1eeb62cf5df8fce2e46f5b6a32b1a Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 28 Apr 2013 08:42:22 +0000 Subject: [PATCH] [BROWSEUI:FORMATTING] - Use spaces instead of tabs svn path=/trunk/; revision=58878 --- reactos/dll/win32/browseui/aclmulti.cpp | 16 +- reactos/dll/win32/browseui/aclmulti.h | 76 +- reactos/dll/win32/browseui/addressband.cpp | 604 +-- reactos/dll/win32/browseui/addressband.h | 174 +- reactos/dll/win32/browseui/addresseditbox.cpp | 122 +- reactos/dll/win32/browseui/addresseditbox.h | 134 +- reactos/dll/win32/browseui/bandproxy.cpp | 160 +- reactos/dll/win32/browseui/bandproxy.h | 40 +- reactos/dll/win32/browseui/bandsite.cpp | 4 +- reactos/dll/win32/browseui/bandsite.h | 198 +- reactos/dll/win32/browseui/bandsitemenu.cpp | 10 +- reactos/dll/win32/browseui/bandsitemenu.h | 50 +- reactos/dll/win32/browseui/basebar.cpp | 622 +-- reactos/dll/win32/browseui/basebarsite.cpp | 566 +-- reactos/dll/win32/browseui/brandband.cpp | 538 +-- reactos/dll/win32/browseui/brandband.h | 172 +- reactos/dll/win32/browseui/browseui.cpp | 46 +- reactos/dll/win32/browseui/browseuiord.cpp | 180 +- reactos/dll/win32/browseui/commonbrowser.cpp | 262 +- reactos/dll/win32/browseui/commonbrowser.h | 330 +- .../win32/browseui/globalfoldersettings.cpp | 4 +- .../dll/win32/browseui/globalfoldersettings.h | 28 +- .../dll/win32/browseui/internettoolbar.cpp | 2202 ++++----- reactos/dll/win32/browseui/internettoolbar.h | 308 +- reactos/dll/win32/browseui/newatlinterfaces.h | 90 +- reactos/dll/win32/browseui/regtreeoptions.cpp | 12 +- reactos/dll/win32/browseui/regtreeoptions.h | 42 +- reactos/dll/win32/browseui/resource.h | 144 +- reactos/dll/win32/browseui/shellbrowser.cpp | 3936 ++++++++--------- reactos/dll/win32/browseui/toolsband.cpp | 382 +- reactos/dll/win32/browseui/travellog.cpp | 810 ++-- reactos/dll/win32/browseui/utility.cpp | 4 +- 32 files changed, 6133 insertions(+), 6133 deletions(-) diff --git a/reactos/dll/win32/browseui/aclmulti.cpp b/reactos/dll/win32/browseui/aclmulti.cpp index bdd28f9d901..24187b9627f 100644 --- a/reactos/dll/win32/browseui/aclmulti.cpp +++ b/reactos/dll/win32/browseui/aclmulti.cpp @@ -1,8 +1,8 @@ /* - * Multisource AutoComplete list + * Multisource AutoComplete list * - * Copyright 2007 Mikolaj Zalewski - * Copyright 2009 Andrew Hill + * Copyright 2007 Mikolaj Zalewski + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -41,7 +41,7 @@ CACLMulti::CACLMulti() CACLMulti::~CACLMulti() { - int i; + int i; TRACE("destroying %p\n", this); for (i = 0; i < fObjectCount; i++) @@ -69,7 +69,7 @@ HRESULT STDMETHODCALLTYPE CACLMulti::Append(IUnknown *punk) HRESULT STDMETHODCALLTYPE CACLMulti::Remove(IUnknown *punk) { - int i; + int i; TRACE("(%p, %p)\n", this, punk); for (i = 0; i < fObjectCount; i++) @@ -109,7 +109,7 @@ HRESULT STDMETHODCALLTYPE CACLMulti::Next(ULONG celt, LPOLESTR *rgelt, ULONG *pc HRESULT STDMETHODCALLTYPE CACLMulti::Reset() { - int i; + int i; fCurrentObject = 0; for (i = 0; i < fObjectCount; i++) @@ -135,8 +135,8 @@ HRESULT STDMETHODCALLTYPE CACLMulti::Clone(IEnumString **ppOut) HRESULT STDMETHODCALLTYPE CACLMulti::Expand(LPCWSTR wstr) { - HRESULT res = S_OK; - int i; + HRESULT res = S_OK; + int i; for (i = 0; i < fObjectCount; i++) { diff --git a/reactos/dll/win32/browseui/aclmulti.h b/reactos/dll/win32/browseui/aclmulti.h index f12a6f17b02..b9a408b9065 100644 --- a/reactos/dll/win32/browseui/aclmulti.h +++ b/reactos/dll/win32/browseui/aclmulti.h @@ -1,8 +1,8 @@ /* - * Multisource AutoComplete list + * Multisource AutoComplete list * - * Copyright 2007 Mikolaj Zalewski - * Copyright 2009 Andrew Hill + * Copyright 2007 Mikolaj Zalewski + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,53 +22,53 @@ #pragma once class CACLMulti : - public CComCoClass, - public CComObjectRootEx, - public IEnumString, - public IACList, - public IObjMgr + public CComCoClass, + public CComObjectRootEx, + public IEnumString, + public IACList, + public IObjMgr { private: - struct ACLMultiSublist - { - IUnknown *punk; - IEnumString *pEnum; - IACList *pACL; - }; + struct ACLMultiSublist + { + IUnknown *punk; + IEnumString *pEnum; + IACList *pACL; + }; - INT fObjectCount; - INT fCurrentObject; - struct ACLMultiSublist *fObjects; + INT fObjectCount; + INT fCurrentObject; + struct ACLMultiSublist *fObjects; public: - CACLMulti(); - ~CACLMulti(); + CACLMulti(); + ~CACLMulti(); - // *** IEnumString methods *** - virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); - virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt); - virtual HRESULT STDMETHODCALLTYPE Reset(); - virtual HRESULT STDMETHODCALLTYPE Clone(IEnumString **ppenum); + // *** IEnumString methods *** + virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); + virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt); + virtual HRESULT STDMETHODCALLTYPE Reset(); + virtual HRESULT STDMETHODCALLTYPE Clone(IEnumString **ppenum); - // *** IACList methods *** - virtual HRESULT STDMETHODCALLTYPE Expand(LPCOLESTR pszExpand); + // *** IACList methods *** + virtual HRESULT STDMETHODCALLTYPE Expand(LPCOLESTR pszExpand); - // *** IObjMgr methods *** - virtual HRESULT STDMETHODCALLTYPE Append(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE Remove(IUnknown *punk); + // *** IObjMgr methods *** + virtual HRESULT STDMETHODCALLTYPE Append(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE Remove(IUnknown *punk); private: - void release_obj(struct ACLMultiSublist *obj); + void release_obj(struct ACLMultiSublist *obj); public: - DECLARE_REGISTRY_RESOURCEID(IDR_ACLMULTI) - DECLARE_NOT_AGGREGATABLE(CACLMulti) + DECLARE_REGISTRY_RESOURCEID(IDR_ACLMULTI) + DECLARE_NOT_AGGREGATABLE(CACLMulti) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CACLMulti) - COM_INTERFACE_ENTRY_IID(IID_IEnumString, IEnumString) - COM_INTERFACE_ENTRY_IID(IID_IACList, IACList) - COM_INTERFACE_ENTRY_IID(IID_IObjMgr, IObjMgr) - END_COM_MAP() + BEGIN_COM_MAP(CACLMulti) + COM_INTERFACE_ENTRY_IID(IID_IEnumString, IEnumString) + COM_INTERFACE_ENTRY_IID(IID_IACList, IACList) + COM_INTERFACE_ENTRY_IID(IID_IObjMgr, IObjMgr) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/addressband.cpp b/reactos/dll/win32/browseui/addressband.cpp index 77221ac847b..1f5362cee4b 100644 --- a/reactos/dll/win32/browseui/addressband.cpp +++ b/reactos/dll/win32/browseui/addressband.cpp @@ -40,10 +40,10 @@ TODO: CAddressBand::CAddressBand() { - fEditControl = NULL; - fGoButton = NULL; - fComboBox = NULL; - fGoButtonShown = false; + fEditControl = NULL; + fGoButton = NULL; + fComboBox = NULL; + fGoButtonShown = false; } CAddressBand::~CAddressBand() @@ -52,154 +52,154 @@ CAddressBand::~CAddressBand() void CAddressBand::FocusChange(BOOL bFocus) { -// m_bFocus = bFocus; +// m_bFocus = bFocus; - //Inform the input object site that the focus has changed. - if (fSite) - { + //Inform the input object site that the focus has changed. + if (fSite) + { #if 0 - fSite->OnFocusChangeIS((IDockingWindow *)this, bFocus); + fSite->OnFocusChangeIS((IDockingWindow *)this, bFocus); #endif - } + } } HRESULT STDMETHODCALLTYPE CAddressBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi) { - if (pdbi->dwMask & DBIM_MINSIZE) - { - pdbi->ptMinSize.x = 400; - pdbi->ptMinSize.y = 22; - } - if (pdbi->dwMask & DBIM_MAXSIZE) - { - pdbi->ptMaxSize.x = 0; - pdbi->ptMaxSize.y = 0; - } - if (pdbi->dwMask & DBIM_INTEGRAL) - { - pdbi->ptIntegral.x = 0; - pdbi->ptIntegral.y = 0; - } - if (pdbi->dwMask & DBIM_ACTUAL) - { - pdbi->ptActual.x = 400; - pdbi->ptActual.y = 22; - } - if (pdbi->dwMask & DBIM_TITLE) - wcscpy(pdbi->wszTitle, L"Address"); - if (pdbi->dwMask & DBIM_MODEFLAGS) - pdbi->dwModeFlags = DBIMF_UNDELETEABLE; - if (pdbi->dwMask & DBIM_BKCOLOR) - pdbi->crBkgnd = 0; - return S_OK; + if (pdbi->dwMask & DBIM_MINSIZE) + { + pdbi->ptMinSize.x = 400; + pdbi->ptMinSize.y = 22; + } + if (pdbi->dwMask & DBIM_MAXSIZE) + { + pdbi->ptMaxSize.x = 0; + pdbi->ptMaxSize.y = 0; + } + if (pdbi->dwMask & DBIM_INTEGRAL) + { + pdbi->ptIntegral.x = 0; + pdbi->ptIntegral.y = 0; + } + if (pdbi->dwMask & DBIM_ACTUAL) + { + pdbi->ptActual.x = 400; + pdbi->ptActual.y = 22; + } + if (pdbi->dwMask & DBIM_TITLE) + wcscpy(pdbi->wszTitle, L"Address"); + if (pdbi->dwMask & DBIM_MODEFLAGS) + pdbi->dwModeFlags = DBIMF_UNDELETEABLE; + if (pdbi->dwMask & DBIM_BKCOLOR) + pdbi->crBkgnd = 0; + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressBand::SetSite(IUnknown *pUnkSite) { - CComPtr shellService; - CComPtr offset34; - HWND parentWindow; - IOleWindow *oleWindow; - HWND toolbar; - static const TBBUTTON buttonInfo[] = { {0, 1, TBSTATE_ENABLED, 0} }; - HIMAGELIST normalImagelist; - HIMAGELIST hotImageList; - HINSTANCE shellInstance; - HRESULT hResult; + CComPtr shellService; + CComPtr offset34; + HWND parentWindow; + IOleWindow *oleWindow; + HWND toolbar; + static const TBBUTTON buttonInfo[] = { {0, 1, TBSTATE_ENABLED, 0} }; + HIMAGELIST normalImagelist; + HIMAGELIST hotImageList; + HINSTANCE shellInstance; + HRESULT hResult; - fSite.Release(); - if (pUnkSite == NULL) - return S_OK; + fSite.Release(); + if (pUnkSite == NULL) + return S_OK; - hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fSite)); - if (FAILED(hResult)) - return hResult; + hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fSite)); + if (FAILED(hResult)) + return hResult; - // get window handle of parent - parentWindow = NULL; - hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (SUCCEEDED(hResult)) - { - oleWindow->GetWindow(&parentWindow); - oleWindow->Release(); - } - if (!::IsWindow(parentWindow)) - return E_FAIL; + // get window handle of parent + parentWindow = NULL; + hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (SUCCEEDED(hResult)) + { + oleWindow->GetWindow(&parentWindow); + oleWindow->Release(); + } + if (!::IsWindow(parentWindow)) + return E_FAIL; - // create combo box ex - toolbar = CreateWindowEx(WS_EX_TOOLWINDOW, WC_COMBOBOXEXW, NULL, WS_CHILD | WS_VISIBLE | - WS_CLIPCHILDREN | WS_TABSTOP | CCS_NODIVIDER | CCS_NOMOVEY, - 0, 0, 500, 250, parentWindow, (HMENU)0xa205, _AtlBaseModule.GetModuleInstance(), 0); - if (toolbar == NULL) - return E_FAIL; - SubclassWindow(toolbar); + // create combo box ex + toolbar = CreateWindowEx(WS_EX_TOOLWINDOW, WC_COMBOBOXEXW, NULL, WS_CHILD | WS_VISIBLE | + WS_CLIPCHILDREN | WS_TABSTOP | CCS_NODIVIDER | CCS_NOMOVEY, + 0, 0, 500, 250, parentWindow, (HMENU)0xa205, _AtlBaseModule.GetModuleInstance(), 0); + if (toolbar == NULL) + return E_FAIL; + SubclassWindow(toolbar); - SendMessage(CBEM_SETEXTENDEDSTYLE, - CBES_EX_CASESENSITIVE | CBES_EX_NOSIZELIMIT, CBES_EX_CASESENSITIVE | CBES_EX_NOSIZELIMIT); + SendMessage(CBEM_SETEXTENDEDSTYLE, + CBES_EX_CASESENSITIVE | CBES_EX_NOSIZELIMIT, CBES_EX_CASESENSITIVE | CBES_EX_NOSIZELIMIT); - fEditControl = reinterpret_cast(SendMessage(CBEM_GETEDITCONTROL, 0, 0)); - fComboBox = reinterpret_cast(SendMessage(CBEM_GETCOMBOCONTROL, 0, 0)); + fEditControl = reinterpret_cast(SendMessage(CBEM_GETEDITCONTROL, 0, 0)); + fComboBox = reinterpret_cast(SendMessage(CBEM_GETCOMBOCONTROL, 0, 0)); #if 1 - hResult = CoCreateInstance(CLSID_AddressEditBox, NULL, CLSCTX_INPROC_SERVER, - IID_IAddressEditBox, reinterpret_cast(&fAddressEditBox)); - if (FAILED(hResult)) - return hResult; + hResult = CoCreateInstance(CLSID_AddressEditBox, NULL, CLSCTX_INPROC_SERVER, + IID_IAddressEditBox, reinterpret_cast(&fAddressEditBox)); + if (FAILED(hResult)) + return hResult; #else - // instantiate new version + // instantiate new version #endif - hResult = fAddressEditBox->QueryInterface(IID_IShellService, reinterpret_cast(&shellService)); - if (FAILED(hResult)) - return hResult; - hResult = fAddressEditBox->Init(toolbar, fEditControl, 8, pUnkSite /*(IAddressBand *)this*/ ); - if (FAILED(hResult)) - return hResult; - hResult = shellService->SetOwner(pUnkSite); - if (FAILED(hResult)) - return hResult; + hResult = fAddressEditBox->QueryInterface(IID_IShellService, reinterpret_cast(&shellService)); + if (FAILED(hResult)) + return hResult; + hResult = fAddressEditBox->Init(toolbar, fEditControl, 8, pUnkSite /*(IAddressBand *)this*/ ); + if (FAILED(hResult)) + return hResult; + hResult = shellService->SetOwner(pUnkSite); + if (FAILED(hResult)) + return hResult; - // TODO: properly initialize this from registry - fGoButtonShown = true; + // TODO: properly initialize this from registry + fGoButtonShown = true; - shellInstance = GetModuleHandle(_T("shell32.dll")); - normalImagelist = ImageList_LoadImageW(shellInstance, MAKEINTRESOURCE(IDB_GOBUTTON_NORMAL), - 20, 0, RGB(255, 0, 255), IMAGE_BITMAP, LR_CREATEDIBSECTION); - hotImageList = ImageList_LoadImageW(shellInstance, MAKEINTRESOURCE(IDB_GOBUTTON_HOT), - 20, 0, RGB(255, 0, 255), IMAGE_BITMAP, LR_CREATEDIBSECTION); + shellInstance = GetModuleHandle(_T("shell32.dll")); + normalImagelist = ImageList_LoadImageW(shellInstance, MAKEINTRESOURCE(IDB_GOBUTTON_NORMAL), + 20, 0, RGB(255, 0, 255), IMAGE_BITMAP, LR_CREATEDIBSECTION); + hotImageList = ImageList_LoadImageW(shellInstance, MAKEINTRESOURCE(IDB_GOBUTTON_HOT), + 20, 0, RGB(255, 0, 255), IMAGE_BITMAP, LR_CREATEDIBSECTION); - fGoButton = CreateWindowEx(WS_EX_TOOLWINDOW, TOOLBARCLASSNAMEW, 0, WS_CHILD | WS_CLIPSIBLINGS | - WS_CLIPCHILDREN | TBSTYLE_LIST | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | CCS_NODIVIDER | - CCS_NOPARENTALIGN | CCS_NORESIZE, - 0, 0, 0, 0, m_hWnd, NULL, _AtlBaseModule.GetModuleInstance(), NULL); - SendMessage(fGoButton, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); - SendMessage(fGoButton, TB_SETMAXTEXTROWS, 1, 0); - SendMessage(fGoButton, TB_SETIMAGELIST, 0, reinterpret_cast(normalImagelist)); - SendMessage(fGoButton, TB_SETHOTIMAGELIST, 0, reinterpret_cast(hotImageList)); - SendMessage(fGoButton, TB_ADDSTRINGW, - reinterpret_cast(_AtlBaseModule.GetResourceInstance()), IDS_GOBUTTONLABEL); - SendMessage(fGoButton, TB_ADDBUTTONSW, 1, (LPARAM)&buttonInfo); + fGoButton = CreateWindowEx(WS_EX_TOOLWINDOW, TOOLBARCLASSNAMEW, 0, WS_CHILD | WS_CLIPSIBLINGS | + WS_CLIPCHILDREN | TBSTYLE_LIST | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | CCS_NODIVIDER | + CCS_NOPARENTALIGN | CCS_NORESIZE, + 0, 0, 0, 0, m_hWnd, NULL, _AtlBaseModule.GetModuleInstance(), NULL); + SendMessage(fGoButton, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); + SendMessage(fGoButton, TB_SETMAXTEXTROWS, 1, 0); + SendMessage(fGoButton, TB_SETIMAGELIST, 0, reinterpret_cast(normalImagelist)); + SendMessage(fGoButton, TB_SETHOTIMAGELIST, 0, reinterpret_cast(hotImageList)); + SendMessage(fGoButton, TB_ADDSTRINGW, + reinterpret_cast(_AtlBaseModule.GetResourceInstance()), IDS_GOBUTTONLABEL); + SendMessage(fGoButton, TB_ADDBUTTONSW, 1, (LPARAM)&buttonInfo); - return hResult; + return hResult; } HRESULT STDMETHODCALLTYPE CAddressBand::GetSite(REFIID riid, void **ppvSite) { - if (fSite == NULL) - return E_FAIL; - return fSite->QueryInterface(riid, ppvSite); + if (fSite == NULL) + return E_FAIL; + return fSite->QueryInterface(riid, ppvSite); } HRESULT STDMETHODCALLTYPE CAddressBand::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressBand::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::CloseDW(DWORD dwReserved) @@ -215,9 +215,9 @@ HRESULT STDMETHODCALLTYPE CAddressBand::CloseDW(DWORD dwReserved) } HRESULT STDMETHODCALLTYPE CAddressBand::ResizeBorderDW( - const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) + const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::ShowDW(BOOL fShow) @@ -233,293 +233,293 @@ HRESULT STDMETHODCALLTYPE CAddressBand::ShowDW(BOOL fShow) } HRESULT STDMETHODCALLTYPE CAddressBand::QueryStatus( - const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - CComPtr oleCommandTarget; - HRESULT hResult; + CComPtr oleCommandTarget; + HRESULT hResult; - hResult = fAddressEditBox->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (FAILED(hResult)) - return hResult; - return oleCommandTarget->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText); + hResult = fAddressEditBox->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (FAILED(hResult)) + return hResult; + return oleCommandTarget->QueryStatus(pguidCmdGroup, cCmds, prgCmds, pCmdText); } HRESULT STDMETHODCALLTYPE CAddressBand::Exec(const GUID *pguidCmdGroup, - DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - // incomplete - return E_NOTIMPL; + // incomplete + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::HasFocusIO() { - if (GetFocus() == fEditControl || SendMessage(CB_GETDROPPEDSTATE, 0, 0)) - return S_OK; - return S_FALSE; + if (GetFocus() == fEditControl || SendMessage(CB_GETDROPPEDSTATE, 0, 0)) + return S_OK; + return S_FALSE; } HRESULT STDMETHODCALLTYPE CAddressBand::TranslateAcceleratorIO(LPMSG lpMsg) { - // incomplete - return S_FALSE; + // incomplete + return S_FALSE; } HRESULT STDMETHODCALLTYPE CAddressBand::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - CComPtr inputObjectSite; - HRESULT hResult; + CComPtr inputObjectSite; + HRESULT hResult; - if (fActivate) - { - hResult = fSite->QueryInterface(IID_IInputObjectSite, reinterpret_cast(&inputObjectSite)); - if (FAILED(hResult)) - return hResult; - hResult = inputObjectSite->OnFocusChangeIS(static_cast(this), fActivate); - SetFocus(); - } - return S_OK; + if (fActivate) + { + hResult = fSite->QueryInterface(IID_IInputObjectSite, reinterpret_cast(&inputObjectSite)); + if (FAILED(hResult)) + return hResult; + hResult = inputObjectSite->OnFocusChangeIS(static_cast(this), fActivate); + SetFocus(); + } + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressBand::OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - CComPtr winEventHandler; - HRESULT hResult; + CComPtr winEventHandler; + HRESULT hResult; - switch (uMsg) - { - case WM_WININICHANGE: - break; - case WM_COMMAND: - if (wParam == IDM_TOOLBARS_GOBUTTON) - { - // toggle whether the Go button is displayed - // setting is Yes or No, stored in key "Software\Microsoft\Internet Explorer\Main" in value ShowGoButton - // broadcast change notification to all explorer windows - } - break; - } - hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - if (FAILED(hResult)) - return hResult; - return winEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult); + switch (uMsg) + { + case WM_WININICHANGE: + break; + case WM_COMMAND: + if (wParam == IDM_TOOLBARS_GOBUTTON) + { + // toggle whether the Go button is displayed + // setting is Yes or No, stored in key "Software\Microsoft\Internet Explorer\Main" in value ShowGoButton + // broadcast change notification to all explorer windows + } + break; + } + hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + if (FAILED(hResult)) + return hResult; + return winEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult); } HRESULT STDMETHODCALLTYPE CAddressBand::IsWindowOwner(HWND hWnd) { - CComPtr winEventHandler; - HRESULT hResult; + CComPtr winEventHandler; + HRESULT hResult; - hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - if (FAILED(hResult)) - return hResult; - return winEventHandler->IsWindowOwner(hWnd); + hResult = fAddressEditBox->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + if (FAILED(hResult)) + return hResult; + return winEventHandler->IsWindowOwner(hWnd); } HRESULT STDMETHODCALLTYPE CAddressBand::FileSysChange(long param8, long paramC) { - CComPtr addressBand; - HRESULT hResult; + CComPtr addressBand; + HRESULT hResult; - hResult = fAddressEditBox->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); - if (FAILED(hResult)) - return hResult; - return addressBand->FileSysChange(param8, paramC); + hResult = fAddressEditBox->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); + if (FAILED(hResult)) + return hResult; + return addressBand->FileSysChange(param8, paramC); } HRESULT STDMETHODCALLTYPE CAddressBand::Refresh(long param8) { - CComPtr addressBand; - HRESULT hResult; + CComPtr addressBand; + HRESULT hResult; - hResult = fAddressEditBox->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); - if (FAILED(hResult)) - return hResult; - return addressBand->Refresh(param8); + hResult = fAddressEditBox->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); + if (FAILED(hResult)) + return hResult; + return addressBand->Refresh(param8); } HRESULT STDMETHODCALLTYPE CAddressBand::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - *pClassID = CLSID_SH_AddressBand; - return S_OK; + if (pClassID == NULL) + return E_POINTER; + *pClassID = CLSID_SH_AddressBand; + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressBand::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::Load(IStream *pStm) { - // incomplete - return E_NOTIMPL; + // incomplete + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::Save(IStream *pStm, BOOL fClearDirty) { - // incomplete - return E_NOTIMPL; + // incomplete + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressBand::GetSizeMax(ULARGE_INTEGER *pcbSize) { - // incomplete - return E_NOTIMPL; + // incomplete + return E_NOTIMPL; } LRESULT CAddressBand::OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled) { - if (notifyHeader->hwndFrom == fGoButton) - { - SendMessage(fEditControl, WM_KEYDOWN, 13, 0); - SendMessage(fEditControl, WM_KEYUP, 13, 0); - } - return 0; + if (notifyHeader->hwndFrom == fGoButton) + { + SendMessage(fEditControl, WM_KEYDOWN, 13, 0); + SendMessage(fEditControl, WM_KEYUP, 13, 0); + } + return 0; } LRESULT CAddressBand::OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled) { - if (notifyHeader->hwndFrom == fGoButton) - { - // TODO - // Go to "destination path" - } - return 0; + if (notifyHeader->hwndFrom == fGoButton) + { + // TODO + // Go to "destination path" + } + return 0; } LRESULT CAddressBand::OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - POINT pt; - POINT ptOrig; - HWND parentWindow; - LRESULT result; + POINT pt; + POINT ptOrig; + HWND parentWindow; + LRESULT result; - if (fGoButtonShown == false) - { - bHandled = FALSE; - return 0; - } - pt.x = 0; - pt.y = 0; - parentWindow = GetParent(); - ::MapWindowPoints(m_hWnd, parentWindow, &pt, 1); - OffsetWindowOrgEx(reinterpret_cast(wParam), pt.x, pt.y, &ptOrig); - result = SendMessage(parentWindow, WM_ERASEBKGND, wParam, 0); - SetWindowOrgEx(reinterpret_cast(wParam), ptOrig.x, ptOrig.y, NULL); - if (result == 0) - { - bHandled = FALSE; - return 0; - } - return result; + if (fGoButtonShown == false) + { + bHandled = FALSE; + return 0; + } + pt.x = 0; + pt.y = 0; + parentWindow = GetParent(); + ::MapWindowPoints(m_hWnd, parentWindow, &pt, 1); + OffsetWindowOrgEx(reinterpret_cast(wParam), pt.x, pt.y, &ptOrig); + result = SendMessage(parentWindow, WM_ERASEBKGND, wParam, 0); + SetWindowOrgEx(reinterpret_cast(wParam), ptOrig.x, ptOrig.y, NULL); + if (result == 0) + { + bHandled = FALSE; + return 0; + } + return result; } LRESULT CAddressBand::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - RECT goButtonBounds; - RECT buttonBounds; - long buttonWidth; - long buttonHeight; - RECT comboBoxBounds; - long newHeight; - long newWidth; + RECT goButtonBounds; + RECT buttonBounds; + long buttonWidth; + long buttonHeight; + RECT comboBoxBounds; + long newHeight; + long newWidth; - if (fGoButtonShown == false) - { - bHandled = FALSE; - return 0; - } + if (fGoButtonShown == false) + { + bHandled = FALSE; + return 0; + } - newHeight = HIWORD(lParam); - newWidth = LOWORD(lParam); + newHeight = HIWORD(lParam); + newWidth = LOWORD(lParam); - SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast(&buttonBounds)); - buttonWidth = buttonBounds.right - buttonBounds.left; - buttonHeight = buttonBounds.bottom - buttonBounds.top; + SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast(&buttonBounds)); + buttonWidth = buttonBounds.right - buttonBounds.left; + buttonHeight = buttonBounds.bottom - buttonBounds.top; - DefWindowProc(WM_SIZE, wParam, MAKELONG(newWidth - buttonWidth - 2, newHeight)); - ::GetWindowRect(fComboBox, &comboBoxBounds); - ::SetWindowPos(fGoButton, NULL, newWidth - buttonWidth, (comboBoxBounds.bottom - comboBoxBounds.top - buttonHeight) / 2, - buttonWidth, buttonHeight, SWP_NOOWNERZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOZORDER); + DefWindowProc(WM_SIZE, wParam, MAKELONG(newWidth - buttonWidth - 2, newHeight)); + ::GetWindowRect(fComboBox, &comboBoxBounds); + ::SetWindowPos(fGoButton, NULL, newWidth - buttonWidth, (comboBoxBounds.bottom - comboBoxBounds.top - buttonHeight) / 2, + buttonWidth, buttonHeight, SWP_NOOWNERZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOZORDER); - goButtonBounds.left = newWidth - buttonWidth; - goButtonBounds.top = 0; - goButtonBounds.right = newWidth - buttonWidth; - goButtonBounds.bottom = newHeight; - InvalidateRect(&goButtonBounds, TRUE); + goButtonBounds.left = newWidth - buttonWidth; + goButtonBounds.top = 0; + goButtonBounds.right = newWidth - buttonWidth; + goButtonBounds.bottom = newHeight; + InvalidateRect(&goButtonBounds, TRUE); - SendMessage(fComboBox, CB_SETDROPPEDWIDTH, 200, 0); - return 0; + SendMessage(fComboBox, CB_SETDROPPEDWIDTH, 200, 0); + return 0; } LRESULT CAddressBand::OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - RECT goButtonBounds; - RECT buttonBounds; - long buttonWidth; - long buttonHeight; - RECT comboBoxBounds; - WINDOWPOS positionInfoCopy; - long newHeight; - long newWidth; + RECT goButtonBounds; + RECT buttonBounds; + long buttonWidth; + long buttonHeight; + RECT comboBoxBounds; + WINDOWPOS positionInfoCopy; + long newHeight; + long newWidth; - if (!fGoButtonShown) - { - bHandled = FALSE; - return 0; - } + if (!fGoButtonShown) + { + bHandled = FALSE; + return 0; + } - positionInfoCopy = *reinterpret_cast(lParam); - newHeight = positionInfoCopy.cy; - newWidth = positionInfoCopy.cx; - SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast(&buttonBounds)); + positionInfoCopy = *reinterpret_cast(lParam); + newHeight = positionInfoCopy.cy; + newWidth = positionInfoCopy.cx; + SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast(&buttonBounds)); - buttonWidth = buttonBounds.right - buttonBounds.left; - buttonHeight = buttonBounds.bottom - buttonBounds.top; - positionInfoCopy.cx = newWidth - 2 - buttonWidth; - DefWindowProc(WM_WINDOWPOSCHANGING, wParam, reinterpret_cast(&positionInfoCopy)); - ::GetWindowRect(fComboBox, &comboBoxBounds); - ::SetWindowPos(fGoButton, NULL, newWidth - buttonWidth, (comboBoxBounds.bottom - comboBoxBounds.top - buttonHeight) / 2, - buttonWidth, buttonHeight, SWP_NOOWNERZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOZORDER); + buttonWidth = buttonBounds.right - buttonBounds.left; + buttonHeight = buttonBounds.bottom - buttonBounds.top; + positionInfoCopy.cx = newWidth - 2 - buttonWidth; + DefWindowProc(WM_WINDOWPOSCHANGING, wParam, reinterpret_cast(&positionInfoCopy)); + ::GetWindowRect(fComboBox, &comboBoxBounds); + ::SetWindowPos(fGoButton, NULL, newWidth - buttonWidth, (comboBoxBounds.bottom - comboBoxBounds.top - buttonHeight) / 2, + buttonWidth, buttonHeight, SWP_NOOWNERZORDER | SWP_SHOWWINDOW | SWP_NOACTIVATE | SWP_NOZORDER); - goButtonBounds.left = newWidth - buttonWidth; - goButtonBounds.top = 0; - goButtonBounds.right = newWidth - buttonWidth; - goButtonBounds.bottom = newHeight; - InvalidateRect(&goButtonBounds, TRUE); + goButtonBounds.left = newWidth - buttonWidth; + goButtonBounds.top = 0; + goButtonBounds.right = newWidth - buttonWidth; + goButtonBounds.bottom = newHeight; + InvalidateRect(&goButtonBounds, TRUE); - SendMessage(fComboBox, CB_SETDROPPEDWIDTH, 200, 0); - return 0; + SendMessage(fComboBox, CB_SETDROPPEDWIDTH, 200, 0); + return 0; } HRESULT CreateAddressBand(REFIID riid, void **ppv) { - CComObject *theMenuBar; - HRESULT hResult; + CComObject *theMenuBar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theMenuBar = new CComObject); - if (theMenuBar == NULL) - return E_OUTOFMEMORY; - hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theMenuBar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theMenuBar = new CComObject); + if (theMenuBar == NULL) + return E_OUTOFMEMORY; + hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theMenuBar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/addressband.h b/reactos/dll/win32/browseui/addressband.h index 24672eb1533..c5b44062be2 100644 --- a/reactos/dll/win32/browseui/addressband.h +++ b/reactos/dll/win32/browseui/addressband.h @@ -21,112 +21,112 @@ #pragma once class CAddressBand : - public CWindowImpl, - public CComCoClass, - public CComObjectRootEx, - public IDeskBand, - public IOleCommandTarget, - public IObjectWithSite, - public IInputObject, - public IWinEventHandler, - public IAddressBand, - public IServiceProvider, - public IInputObjectSite, - public IPersistStream + public CWindowImpl, + public CComCoClass, + public CComObjectRootEx, + public IDeskBand, + public IOleCommandTarget, + public IObjectWithSite, + public IInputObject, + public IWinEventHandler, + public IAddressBand, + public IServiceProvider, + public IInputObjectSite, + public IPersistStream { private: - CComPtr fSite; - CComPtr fAddressEditBox; - HWND fEditControl; - HWND fGoButton; - HWND fComboBox; - bool fGoButtonShown; + CComPtr fSite; + CComPtr fAddressEditBox; + HWND fEditControl; + HWND fGoButton; + HWND fComboBox; + bool fGoButtonShown; public: - CAddressBand(); - ~CAddressBand(); + CAddressBand(); + ~CAddressBand(); private: - void FocusChange(BOOL bFocus); + void FocusChange(BOOL bFocus); public: - // *** IDeskBand methods *** - virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi); + // *** IDeskBand methods *** + virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); - virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); - virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IInputObject methods *** - virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); - virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); + // *** IInputObject methods *** + virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); - // *** IAddressBand methods *** - virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); - virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); + // *** IAddressBand methods *** + virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); + virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IInputObjectSite methods *** - virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); + // *** IInputObjectSite methods *** + virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // message handlers - LRESULT OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled); - LRESULT OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled); - LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled); + LRESULT OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled); + LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - BEGIN_MSG_MAP(CAddressBand) - NOTIFY_CODE_HANDLER(NM_CLICK, OnNotifyClick) - NOTIFY_CODE_HANDLER(TTN_NEEDTEXTW, OnTipText) - MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground) - MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_WINDOWPOSCHANGING, OnWindowPosChanging) - END_MSG_MAP() + BEGIN_MSG_MAP(CAddressBand) + NOTIFY_CODE_HANDLER(NM_CLICK, OnNotifyClick) + NOTIFY_CODE_HANDLER(TTN_NEEDTEXTW, OnTipText) + MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground) + MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_WINDOWPOSCHANGING, OnWindowPosChanging) + END_MSG_MAP() - DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSBAND) - DECLARE_NOT_AGGREGATABLE(CAddressBand) + DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSBAND) + DECLARE_NOT_AGGREGATABLE(CAddressBand) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CAddressBand) - COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - END_COM_MAP() + BEGIN_COM_MAP(CAddressBand) + COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/addresseditbox.cpp b/reactos/dll/win32/browseui/addresseditbox.cpp index e1bf98f9dd1..3289bff4bf3 100644 --- a/reactos/dll/win32/browseui/addresseditbox.cpp +++ b/reactos/dll/win32/browseui/addresseditbox.cpp @@ -25,21 +25,21 @@ This class handles the combo box of the address band. /* TODO: Add auto completion support - Subclass windows in Init method - Connect to browser connection point - Handle navigation complete messages to set edit box text - Handle listbox dropdown message and fill contents - Add drag and drop of icon in edit box - Handle enter in edit box to browse to typed path - Handle change notifies to update appropriately - Add handling of enter in edit box - Fix so selection in combo listbox navigates - Fix so editing text and typing enter navigates + Subclass windows in Init method + Connect to browser connection point + Handle navigation complete messages to set edit box text + Handle listbox dropdown message and fill contents + Add drag and drop of icon in edit box + Handle enter in edit box to browse to typed path + Handle change notifies to update appropriately + Add handling of enter in edit box + Fix so selection in combo listbox navigates + Fix so editing text and typing enter navigates */ CAddressEditBox::CAddressEditBox() : - fEditWindow(NULL, this, 1), - fComboBoxExWindow(NULL, this, 2) + fEditWindow(NULL, this, 1), + fComboBoxExWindow(NULL, this, 2) { } @@ -49,138 +49,138 @@ CAddressEditBox::~CAddressEditBox() HRESULT STDMETHODCALLTYPE CAddressEditBox::SetOwner(IUnknown *) { - // connect to browser connection point - return E_NOTIMPL; + // connect to browser connection point + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::FileSysChange(long param8, long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Refresh(long param8) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18) { - fComboBoxExWindow.SubclassWindow(comboboxEx); - fEditWindow.SubclassWindow(editControl); - return S_OK; + fComboBoxExWindow.SubclassWindow(comboboxEx); + fEditWindow.SubclassWindow(editControl); + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressEditBox::SetCurrentDir(long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::ParseNow(long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Execute(long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Save(long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - // handle fill of listbox here - return E_NOTIMPL; + // handle fill of listbox here + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::IsWindowOwner(HWND hWnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::QueryStatus( - const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::GetTypeInfoCount(UINT *pctinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::GetIDsOfNames( - REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) + REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) + WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { - // on navigate complete, change edit section of combobox - return E_NOTIMPL; + // on navigate complete, change edit section of combobox + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - *pClassID = CLSID_AddressEditBox; - return S_OK; + if (pClassID == NULL) + return E_POINTER; + *pClassID = CLSID_AddressEditBox; + return S_OK; } HRESULT STDMETHODCALLTYPE CAddressEditBox::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CAddressEditBox::GetSizeMax(ULARGE_INTEGER *pcbSize) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT CreateAddressEditBox(REFIID riid, void **ppv) { - CComObject *theMenuBar; - HRESULT hResult; + CComObject *theMenuBar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theMenuBar = new CComObject); - if (theMenuBar == NULL) - return E_OUTOFMEMORY; - hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theMenuBar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theMenuBar = new CComObject); + if (theMenuBar == NULL) + return E_OUTOFMEMORY; + hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theMenuBar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/addresseditbox.h b/reactos/dll/win32/browseui/addresseditbox.h index a3b8f58b839..c7208077c3e 100644 --- a/reactos/dll/win32/browseui/addresseditbox.h +++ b/reactos/dll/win32/browseui/addresseditbox.h @@ -21,89 +21,89 @@ #pragma once class CAddressEditBox : - public CWindowImpl, - public CComCoClass, - public CComObjectRootEx, - public IShellService, - public IAddressBand, - public IAddressEditBox, - public IWinEventHandler, - public IOleCommandTarget, - public IDispatch, - public IPersistStream + public CWindowImpl, + public CComCoClass, + public CComObjectRootEx, + public IShellService, + public IAddressBand, + public IAddressEditBox, + public IWinEventHandler, + public IOleCommandTarget, + public IDispatch, + public IPersistStream { private: - CContainedWindow fEditWindow; - CContainedWindow fComboBoxExWindow; + CContainedWindow fEditWindow; + CContainedWindow fComboBoxExWindow; public: - CAddressEditBox(); - ~CAddressEditBox(); + CAddressEditBox(); + ~CAddressEditBox(); private: public: - // *** IShellService methods *** + // *** IShellService methods *** virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *); - // *** IAddressBand methods *** - virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); - virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); + // *** IAddressBand methods *** + virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); + virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); - // *** IAddressEditBox methods *** - virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18); - virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC); - virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC); - virtual HRESULT STDMETHODCALLTYPE Execute(long paramC); - virtual HRESULT STDMETHODCALLTYPE Save(long paramC); + // *** IAddressEditBox methods *** + virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18); + virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC); + virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC); + virtual HRESULT STDMETHODCALLTYPE Execute(long paramC); + virtual HRESULT STDMETHODCALLTYPE Save(long paramC); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IDispatch methods *** - virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); - virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); - virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); - virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); + // *** IDispatch methods *** + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); + virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // message handlers -// LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); -// LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers +// LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); +// LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX) - DECLARE_NOT_AGGREGATABLE(CAddressEditBox) + DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX) + DECLARE_NOT_AGGREGATABLE(CAddressEditBox) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_MSG_MAP(CAddressEditBox) - // MESSAGE_HANDLER(WM_NOTIFY, OnNotify) - // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) - // MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) - // ALT_MSG_MAP(1) - // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSaveButton) - // ALT_MSG_MAP(2) - // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSelectButton) - END_MSG_MAP() + BEGIN_MSG_MAP(CAddressEditBox) + // MESSAGE_HANDLER(WM_NOTIFY, OnNotify) + // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) + // MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) + // ALT_MSG_MAP(1) + // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSaveButton) + // ALT_MSG_MAP(2) + // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSelectButton) + END_MSG_MAP() - BEGIN_COM_MAP(CAddressEditBox) - COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService) - COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) - COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - END_COM_MAP() + BEGIN_COM_MAP(CAddressEditBox) + COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService) + COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) + COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/bandproxy.cpp b/reactos/dll/win32/browseui/bandproxy.cpp index 42c7f901512..51d8c32f3f1 100644 --- a/reactos/dll/win32/browseui/bandproxy.cpp +++ b/reactos/dll/win32/browseui/bandproxy.cpp @@ -36,116 +36,116 @@ CBandProxy::~CBandProxy() HRESULT CBandProxy::FindBrowserWindow(IUnknown **browser) { - CComPtr serviceProvider; - CComPtr webBrowser; - HRESULT hResult; + CComPtr serviceProvider; + CComPtr webBrowser; + HRESULT hResult; - if (browser == NULL) - return E_POINTER; - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - hResult = serviceProvider->QueryService( - SID_IWebBrowserApp, IID_IWebBrowser2, reinterpret_cast(&webBrowser)); - if (FAILED(hResult)) - return hResult; - *browser = webBrowser.Detach(); - return S_OK; + if (browser == NULL) + return E_POINTER; + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + hResult = serviceProvider->QueryService( + SID_IWebBrowserApp, IID_IWebBrowser2, reinterpret_cast(&webBrowser)); + if (FAILED(hResult)) + return hResult; + *browser = webBrowser.Detach(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBandProxy::SetSite(IUnknown *paramC) { - fSite = paramC; - return S_OK; + fSite = paramC; + return S_OK; } HRESULT STDMETHODCALLTYPE CBandProxy::CreateNewWindow(long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBandProxy::GetBrowserWindow(IUnknown **paramC) { - if (paramC == NULL) - return E_POINTER; - return FindBrowserWindow(paramC); + if (paramC == NULL) + return E_POINTER; + return FindBrowserWindow(paramC); } HRESULT STDMETHODCALLTYPE CBandProxy::IsConnected() { - CComPtr webBrowser; - HRESULT hResult; + CComPtr webBrowser; + HRESULT hResult; - hResult = FindBrowserWindow(&webBrowser); - if (FAILED(hResult) || webBrowser.p == NULL) - return S_FALSE; - return S_OK; + hResult = FindBrowserWindow(&webBrowser); + if (FAILED(hResult) || webBrowser.p == NULL) + return S_FALSE; + return S_OK; } HRESULT STDMETHODCALLTYPE CBandProxy::NavigateToPIDL(LPCITEMIDLIST pidl) { - CComPtr oleWindow; - CComPtr serviceProvider; - CComPtr webBrowserUnknown; - CComPtr webBrowser; - HWND browserWindow; - CComVariant args; - CComVariant emptyVariant; - unsigned int arraySize; - HRESULT hResult; + CComPtr oleWindow; + CComPtr serviceProvider; + CComPtr webBrowserUnknown; + CComPtr webBrowser; + HWND browserWindow; + CComVariant args; + CComVariant emptyVariant; + unsigned int arraySize; + HRESULT hResult; - hResult = FindBrowserWindow(&webBrowserUnknown); - if (FAILED(hResult)) - return hResult; - hResult = webBrowserUnknown->QueryInterface(IID_IWebBrowserApp, reinterpret_cast(&webBrowser)); - if (FAILED(hResult)) - return hResult; - hResult = webBrowser->put_Visible(TRUE); - hResult = webBrowser->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (SUCCEEDED(hResult)) - { - hResult = serviceProvider->QueryService(SID_STopLevelBrowser, - IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (SUCCEEDED(hResult)) - { - hResult = oleWindow->GetWindow(&browserWindow); - if (IsIconic(browserWindow)) - ShowWindow(browserWindow, SW_RESTORE); - } - } - arraySize = ILGetSize(pidl); - V_VT(&args) = VT_ARRAY | VT_UI1; - V_ARRAY(&args) = SafeArrayCreateVector(VT_UI1, 0, arraySize); - if (V_ARRAY(&args) == NULL) - return E_OUTOFMEMORY; - memcpy(V_ARRAY(&args)->pvData, pidl, arraySize); - hResult = webBrowser->Navigate2(&args, &emptyVariant, &emptyVariant, &emptyVariant, &emptyVariant); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = FindBrowserWindow(&webBrowserUnknown); + if (FAILED(hResult)) + return hResult; + hResult = webBrowserUnknown->QueryInterface(IID_IWebBrowserApp, reinterpret_cast(&webBrowser)); + if (FAILED(hResult)) + return hResult; + hResult = webBrowser->put_Visible(TRUE); + hResult = webBrowser->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (SUCCEEDED(hResult)) + { + hResult = serviceProvider->QueryService(SID_STopLevelBrowser, + IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (SUCCEEDED(hResult)) + { + hResult = oleWindow->GetWindow(&browserWindow); + if (IsIconic(browserWindow)) + ShowWindow(browserWindow, SW_RESTORE); + } + } + arraySize = ILGetSize(pidl); + V_VT(&args) = VT_ARRAY | VT_UI1; + V_ARRAY(&args) = SafeArrayCreateVector(VT_UI1, 0, arraySize); + if (V_ARRAY(&args) == NULL) + return E_OUTOFMEMORY; + memcpy(V_ARRAY(&args)->pvData, pidl, arraySize); + hResult = webBrowser->Navigate2(&args, &emptyVariant, &emptyVariant, &emptyVariant, &emptyVariant); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CBandProxy::NavigateToURL(long paramC, long param10) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT CreateBandProxy(REFIID riid, void **ppv) { - CComObject *theBandProxy; - HRESULT hResult; + CComObject *theBandProxy; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theBandProxy = new CComObject); - if (theBandProxy == NULL) - return E_OUTOFMEMORY; - hResult = theBandProxy->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theBandProxy; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theBandProxy = new CComObject); + if (theBandProxy == NULL) + return E_OUTOFMEMORY; + hResult = theBandProxy->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theBandProxy; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/bandproxy.h b/reactos/dll/win32/browseui/bandproxy.h index 4e7c03a3ebd..406ce7b6857 100644 --- a/reactos/dll/win32/browseui/bandproxy.h +++ b/reactos/dll/win32/browseui/bandproxy.h @@ -21,31 +21,31 @@ #pragma once class CBandProxy : - public CComCoClass, - public CComObjectRootEx, - public IBandProxy + public CComCoClass, + public CComObjectRootEx, + public IBandProxy { private: - CComPtr fSite; + CComPtr fSite; public: - CBandProxy(); - ~CBandProxy(); - HRESULT FindBrowserWindow(IUnknown **browser); + CBandProxy(); + ~CBandProxy(); + HRESULT FindBrowserWindow(IUnknown **browser); - // *** IBandProxy methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *paramC); - virtual HRESULT STDMETHODCALLTYPE CreateNewWindow(long paramC); - virtual HRESULT STDMETHODCALLTYPE GetBrowserWindow(IUnknown **paramC); - virtual HRESULT STDMETHODCALLTYPE IsConnected(); - virtual HRESULT STDMETHODCALLTYPE NavigateToPIDL(LPCITEMIDLIST pidl); - virtual HRESULT STDMETHODCALLTYPE NavigateToURL(long paramC, long param10); + // *** IBandProxy methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *paramC); + virtual HRESULT STDMETHODCALLTYPE CreateNewWindow(long paramC); + virtual HRESULT STDMETHODCALLTYPE GetBrowserWindow(IUnknown **paramC); + virtual HRESULT STDMETHODCALLTYPE IsConnected(); + virtual HRESULT STDMETHODCALLTYPE NavigateToPIDL(LPCITEMIDLIST pidl); + virtual HRESULT STDMETHODCALLTYPE NavigateToURL(long paramC, long param10); - DECLARE_REGISTRY_RESOURCEID(IDR_BANDPROXY) - DECLARE_NOT_AGGREGATABLE(CBandProxy) + DECLARE_REGISTRY_RESOURCEID(IDR_BANDPROXY) + DECLARE_NOT_AGGREGATABLE(CBandProxy) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CBandProxy) - COM_INTERFACE_ENTRY_IID(IID_IBandProxy, IBandProxy) - END_COM_MAP() + BEGIN_COM_MAP(CBandProxy) + COM_INTERFACE_ENTRY_IID(IID_IBandProxy, IBandProxy) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/bandsite.cpp b/reactos/dll/win32/browseui/bandsite.cpp index 4aeac5e7b1c..4ec35b4ceb2 100644 --- a/reactos/dll/win32/browseui/bandsite.cpp +++ b/reactos/dll/win32/browseui/bandsite.cpp @@ -324,7 +324,7 @@ HRESULT STDMETHODCALLTYPE CBandSiteBase::AddBand(IUnknown *punk) hRet = E_OUTOFMEMORY; goto Cleanup; } - + NewBand = reinterpret_cast(CoTaskMemAlloc(NewAllocated * sizeof(struct BandObject))); if (NewBand == NULL) @@ -680,7 +680,7 @@ HRESULT STDMETHODCALLTYPE CBandSiteBase::SetModeDBC(DWORD dwMode) { SetWindowLongPtr(fRebarWindow, GWL_STYLE, dwPrevStyle); } - + return S_OK; } diff --git a/reactos/dll/win32/browseui/bandsite.h b/reactos/dll/win32/browseui/bandsite.h index ecc153da67b..cb68f3bae4b 100644 --- a/reactos/dll/win32/browseui/bandsite.h +++ b/reactos/dll/win32/browseui/bandsite.h @@ -1,8 +1,8 @@ /* - * Rebar band site + * Rebar band site * - * Copyright 2007 Hervé Poussineau - * Copyright 2009 Andrew Hill + * Copyright 2007 Hervé Poussineau + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,129 +22,129 @@ #pragma once class CBandSiteBase : - public CComObjectRootEx, - public IBandSite, - public IWinEventHandler, - public IDeskBarClient, - public IOleCommandTarget, - public IInputObject, - public IInputObjectSite, - public IServiceProvider, - public IPersistStream, - public IDropTarget, - public IBandSiteHelper + public CComObjectRootEx, + public IBandSite, + public IWinEventHandler, + public IDeskBarClient, + public IOleCommandTarget, + public IInputObject, + public IInputObjectSite, + public IServiceProvider, + public IPersistStream, + public IDropTarget, + public IBandSiteHelper { private: - struct BandObject - { - IDeskBand *DeskBand; - IOleWindow *OleWindow; - IWinEventHandler *WndEvtHandler; - DESKBANDINFO dbi; - }; + struct BandObject + { + IDeskBand *DeskBand; + IOleWindow *OleWindow; + IWinEventHandler *WndEvtHandler; + DESKBANDINFO dbi; + }; - LONG fBandsCount; - LONG fBandsAllocated; - struct BandObject *fBands; - HWND fRebarWindow; - CComPtr fOleWindow; + LONG fBandsCount; + LONG fBandsAllocated; + struct BandObject *fBands; + HWND fRebarWindow; + CComPtr fOleWindow; public: - CBandSiteBase(); - ~CBandSiteBase(); + CBandSiteBase(); + ~CBandSiteBase(); - // *** IBandSite methods *** - virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); - virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName); - virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); - virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); - virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); - virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); + // *** IBandSite methods *** + virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); + virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName); + virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); + virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); + virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); + virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); // *** IOleWindow methods *** virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDeskBarClient methods *** - virtual HRESULT STDMETHODCALLTYPE SetDeskBarSite(IUnknown *punkSite); - virtual HRESULT STDMETHODCALLTYPE SetModeDBC(DWORD dwMode); - virtual HRESULT STDMETHODCALLTYPE UIActivateDBC(DWORD dwState); - virtual HRESULT STDMETHODCALLTYPE GetSize(DWORD dwWhich, LPRECT prc); + // *** IDeskBarClient methods *** + virtual HRESULT STDMETHODCALLTYPE SetDeskBarSite(IUnknown *punkSite); + virtual HRESULT STDMETHODCALLTYPE SetModeDBC(DWORD dwMode); + virtual HRESULT STDMETHODCALLTYPE UIActivateDBC(DWORD dwState); + virtual HRESULT STDMETHODCALLTYPE GetSize(DWORD dwWhich, LPRECT prc); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IInputObject methods *** - virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); - virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); + // *** IInputObject methods *** + virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - // *** IInputObjectSite methods *** - virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(struct IUnknown *paramC, int param10); + // *** IInputObjectSite methods *** + virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(struct IUnknown *paramC, int param10); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // *** IDropTarget methods *** - virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragLeave(); - virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + // *** IDropTarget methods *** + virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragLeave(); + virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - // *** IBandSiteHelper methods *** - virtual HRESULT STDMETHODCALLTYPE LoadFromStreamBS(IStream *, const GUID &, void **); - virtual HRESULT STDMETHODCALLTYPE SaveToStreamBS(IUnknown *, IStream *); + // *** IBandSiteHelper methods *** + virtual HRESULT STDMETHODCALLTYPE LoadFromStreamBS(IStream *, const GUID &, void **); + virtual HRESULT STDMETHODCALLTYPE SaveToStreamBS(IUnknown *, IStream *); private: - UINT GetBandID(struct BandObject *Band); - struct BandObject *GetBandByID(DWORD dwBandID); - void FreeBand(struct BandObject *Band); - DWORD GetBandSiteViewMode(); - VOID BuildRebarBandInfo(struct BandObject *Band, REBARBANDINFOW *prbi); - HRESULT UpdateSingleBand(struct BandObject *Band); - HRESULT UpdateAllBands(); - HRESULT UpdateBand(DWORD dwBandID); - struct BandObject *GetBandFromHwnd(HWND hwnd); + UINT GetBandID(struct BandObject *Band); + struct BandObject *GetBandByID(DWORD dwBandID); + void FreeBand(struct BandObject *Band); + DWORD GetBandSiteViewMode(); + VOID BuildRebarBandInfo(struct BandObject *Band, REBARBANDINFOW *prbi); + HRESULT UpdateSingleBand(struct BandObject *Band); + HRESULT UpdateAllBands(); + HRESULT UpdateBand(DWORD dwBandID); + struct BandObject *GetBandFromHwnd(HWND hwnd); - BEGIN_COM_MAP(CBandSiteBase) - COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDeskBarClient, IDeskBarClient) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) - COM_INTERFACE_ENTRY_IID(IID_IBandSiteHelper, IBandSiteHelper) - END_COM_MAP() + BEGIN_COM_MAP(CBandSiteBase) + COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDeskBarClient, IDeskBarClient) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) + COM_INTERFACE_ENTRY_IID(IID_IBandSiteHelper, IBandSiteHelper) + END_COM_MAP() }; class CBandSite : - public CComCoClass, - public CBandSiteBase + public CComCoClass, + public CBandSiteBase { public: - DECLARE_REGISTRY_RESOURCEID(IDR_BANDSITE) - DECLARE_NOT_AGGREGATABLE(CBandSite) + DECLARE_REGISTRY_RESOURCEID(IDR_BANDSITE) + DECLARE_NOT_AGGREGATABLE(CBandSite) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() }; diff --git a/reactos/dll/win32/browseui/bandsitemenu.cpp b/reactos/dll/win32/browseui/bandsitemenu.cpp index 74b1ed463c6..8a5b353334e 100644 --- a/reactos/dll/win32/browseui/bandsitemenu.cpp +++ b/reactos/dll/win32/browseui/bandsitemenu.cpp @@ -1,8 +1,8 @@ /* - * Band site menu + * Band site menu * - * Copyright 2007 Hervé Poussineua - * Copyright 2009 Andrew Hill + * Copyright 2007 Hervé Poussineua + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -38,7 +38,7 @@ HRESULT STDMETHODCALLTYPE CBandSiteMenu::SetOwner(IUnknown *pOwner) } HRESULT STDMETHODCALLTYPE CBandSiteMenu::QueryContextMenu( - HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) + HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { FIXME("(%p, %p, %p, %p, %p, %p)\n", this, hmenu, indexMenu, idCmdFirst, idCmdLast, uFlags); return E_NOTIMPL; @@ -51,7 +51,7 @@ HRESULT STDMETHODCALLTYPE CBandSiteMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpi } HRESULT STDMETHODCALLTYPE CBandSiteMenu::GetCommandString(UINT_PTR idCmd, UINT uType, - UINT *pwReserved, LPSTR pszName, UINT cchMax) + UINT *pwReserved, LPSTR pszName, UINT cchMax) { FIXME("(%p, %p, %p, %p, %p, %p)\n", this, idCmd, uType, pwReserved, pszName, cchMax); return E_NOTIMPL; diff --git a/reactos/dll/win32/browseui/bandsitemenu.h b/reactos/dll/win32/browseui/bandsitemenu.h index cf5f0731e49..f82b167429e 100644 --- a/reactos/dll/win32/browseui/bandsitemenu.h +++ b/reactos/dll/win32/browseui/bandsitemenu.h @@ -1,8 +1,8 @@ /* - * Band site menu + * Band site menu * - * Copyright 2007 Hervé Poussineua - * Copyright 2009 Andrew Hill + * Copyright 2007 Hervé Poussineua + * Copyright 2009 Andrew Hill * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -23,34 +23,34 @@ // oddly, this class also responds to QueryInterface for CLSID_BandSiteMenu by returning the vtable at offset 0 class CBandSiteMenu : - public CComCoClass, - public CComObjectRootEx, - public IShellService, - public IContextMenu2 + public CComCoClass, + public CComObjectRootEx, + public IShellService, + public IContextMenu2 { public: - CBandSiteMenu(); - ~CBandSiteMenu(); + CBandSiteMenu(); + ~CBandSiteMenu(); - // *** IShellService methods *** - virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *); + // *** IShellService methods *** + virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *); - // *** IContextMenu methods *** - virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); - virtual HRESULT STDMETHODCALLTYPE InvokeCommand(LPCMINVOKECOMMANDINFO lpici); - virtual HRESULT STDMETHODCALLTYPE GetCommandString(UINT_PTR idCmd, UINT uType, UINT *pwReserved, LPSTR pszName, UINT cchMax); + // *** IContextMenu methods *** + virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); + virtual HRESULT STDMETHODCALLTYPE InvokeCommand(LPCMINVOKECOMMANDINFO lpici); + virtual HRESULT STDMETHODCALLTYPE GetCommandString(UINT_PTR idCmd, UINT uType, UINT *pwReserved, LPSTR pszName, UINT cchMax); - // *** IContextMenu2 methods *** - virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + // *** IContextMenu2 methods *** + virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); - DECLARE_REGISTRY_RESOURCEID(IDR_BANDSITEMENU) - DECLARE_NOT_AGGREGATABLE(CBandSiteMenu) + DECLARE_REGISTRY_RESOURCEID(IDR_BANDSITEMENU) + DECLARE_NOT_AGGREGATABLE(CBandSiteMenu) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CBandSiteMenu) - COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) - COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) - END_COM_MAP() + BEGIN_COM_MAP(CBandSiteMenu) + COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu2, IContextMenu2) + COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/basebar.cpp b/reactos/dll/win32/browseui/basebar.cpp index c7df0fd4f55..b0a864b3cde 100644 --- a/reactos/dll/win32/browseui/basebar.cpp +++ b/reactos/dll/win32/browseui/basebar.cpp @@ -37,134 +37,134 @@ TODO: */ class CBaseBar : - public CWindowImpl, - public CComObjectRootEx, - public IInputObjectSite, - public IOleCommandTarget, - public IServiceProvider, - public IInputObject, - public IDeskBar, - public IDockingWindow, - public IPersistStream, - public IPersistStreamInit, - public IPersistPropertyBag, - public IObjectWithSite + public CWindowImpl, + public CComObjectRootEx, + public IInputObjectSite, + public IOleCommandTarget, + public IServiceProvider, + public IInputObject, + public IDeskBar, + public IDockingWindow, + public IPersistStream, + public IPersistStreamInit, + public IPersistPropertyBag, + public IObjectWithSite { public: - CComPtr fSite; - CComPtr fClient; - HWND fClientWindow; - bool fVertical; - bool fVisible; - int fNeededSize; // width or height + CComPtr fSite; + CComPtr fClient; + HWND fClientWindow; + bool fVertical; + bool fVisible; + int fNeededSize; // width or height - // used by resize tracking loop - bool fTracking; - POINT fLastLocation; + // used by resize tracking loop + bool fTracking; + POINT fLastLocation; public: - CBaseBar(); - ~CBaseBar(); + CBaseBar(); + ~CBaseBar(); public: - HRESULT ReserveBorderSpace(); + HRESULT ReserveBorderSpace(); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IInputObjectSite specific methods *** + // *** IInputObjectSite specific methods *** virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); - // *** IOleCommandTarget specific methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget specific methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IInputObject methods *** - // forward the methods to the contained active bar + // *** IInputObject methods *** + // forward the methods to the contained active bar virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - // *** IDeskBar methods *** - virtual HRESULT STDMETHODCALLTYPE SetClient(IUnknown *punkClient); - virtual HRESULT STDMETHODCALLTYPE GetClient(IUnknown **ppunkClient); - virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(LPRECT prc); + // *** IDeskBar methods *** + virtual HRESULT STDMETHODCALLTYPE SetClient(IUnknown *punkClient); + virtual HRESULT STDMETHODCALLTYPE GetClient(IUnknown **ppunkClient); + virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(LPRECT prc); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); - virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); - virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // *** IPersistStreamInit methods *** - virtual HRESULT STDMETHODCALLTYPE InitNew(); + // *** IPersistStreamInit methods *** + virtual HRESULT STDMETHODCALLTYPE InitNew(); - // *** IPersistPropertyBag methods *** - virtual HRESULT STDMETHODCALLTYPE Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog); - virtual HRESULT STDMETHODCALLTYPE Save(IPropertyBag *pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties); + // *** IPersistPropertyBag methods *** + virtual HRESULT STDMETHODCALLTYPE Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog); + virtual HRESULT STDMETHODCALLTYPE Save(IPropertyBag *pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties); - // message handlers - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnCancelMode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnCaptureChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnCancelMode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnCaptureChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); DECLARE_WND_CLASS_EX(_T("BaseBar"), 0, COLOR_3DFACE) BEGIN_MSG_MAP(CBaseBar) - MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_SETCURSOR, OnSetCursor) - MESSAGE_HANDLER(WM_NOTIFY, OnNotify) - MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown) - MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp) - MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove) - MESSAGE_HANDLER(WM_CANCELMODE, OnCancelMode) - MESSAGE_HANDLER(WM_CAPTURECHANGED, OnCaptureChanged) + MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_SETCURSOR, OnSetCursor) + MESSAGE_HANDLER(WM_NOTIFY, OnNotify) + MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown) + MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUp) + MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove) + MESSAGE_HANDLER(WM_CANCELMODE, OnCancelMode) + MESSAGE_HANDLER(WM_CAPTURECHANGED, OnCaptureChanged) END_MSG_MAP() BEGIN_COM_MAP(CBaseBar) - COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IDeskBar, IDeskBar) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - COM_INTERFACE_ENTRY2_IID(IID_IPersist, IPersist, IPersistStream) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - COM_INTERFACE_ENTRY_IID(IID_IPersistStreamInit, IPersistStreamInit) - COM_INTERFACE_ENTRY_IID(IID_IPersistPropertyBag, IPersistPropertyBag) + COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IDeskBar, IDeskBar) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY2_IID(IID_IPersist, IPersist, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IPersistStreamInit, IPersistStreamInit) + COM_INTERFACE_ENTRY_IID(IID_IPersistPropertyBag, IPersistPropertyBag) END_COM_MAP() }; CBaseBar::CBaseBar() { - fClientWindow = NULL; - fVertical = true; - fVisible = false; - fNeededSize = 200; - fTracking = false; + fClientWindow = NULL; + fVertical = true; + fVisible = false; + fNeededSize = 200; + fTracking = false; } CBaseBar::~CBaseBar() @@ -173,29 +173,29 @@ CBaseBar::~CBaseBar() HRESULT CBaseBar::ReserveBorderSpace() { - CComPtr dockingWindowSite; - RECT availableBorderSpace; - RECT neededBorderSpace; - HRESULT hResult; + CComPtr dockingWindowSite; + RECT availableBorderSpace; + RECT neededBorderSpace; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&dockingWindowSite)); - if (FAILED(hResult)) - return hResult; - hResult = dockingWindowSite->GetBorderDW(static_cast(this), &availableBorderSpace); - if (FAILED(hResult)) - return hResult; - memset(&neededBorderSpace, 0, sizeof(neededBorderSpace)); - if (fVisible) - { - if (fVertical) - neededBorderSpace.left = fNeededSize + GetSystemMetrics(SM_CXFRAME); - else - neededBorderSpace.bottom = fNeededSize + GetSystemMetrics(SM_CXFRAME); - } - hResult = dockingWindowSite->SetBorderSpaceDW(static_cast(this), &neededBorderSpace); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = fSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&dockingWindowSite)); + if (FAILED(hResult)) + return hResult; + hResult = dockingWindowSite->GetBorderDW(static_cast(this), &availableBorderSpace); + if (FAILED(hResult)) + return hResult; + memset(&neededBorderSpace, 0, sizeof(neededBorderSpace)); + if (fVisible) + { + if (fVertical) + neededBorderSpace.left = fNeededSize + GetSystemMetrics(SM_CXFRAME); + else + neededBorderSpace.bottom = fNeededSize + GetSystemMetrics(SM_CXFRAME); + } + hResult = dockingWindowSite->SetBorderSpaceDW(static_cast(this), &neededBorderSpace); + if (FAILED(hResult)) + return hResult; + return S_OK; } // current bar size is stored in the registry under @@ -204,344 +204,344 @@ HRESULT CBaseBar::ReserveBorderSpace() // result is 8 bytes of binary data, 2 longs. First is the size, second is reserved and will always be 0 /*HRESULT CBaseBar::StopCurrentBar() { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - if (fCurrentBar.p != NULL) - { - hResult = fCurrentBar->QueryInterface(IID_IOleCommandTarget, (void **)&commandTarget); - hResult = commandTarget->Exec(NULL, 0x17, 0, NULL, NULL); - } - // hide the current bar - memcpy(&fCurrentActiveClass, &GUID_NULL, sizeof(fCurrentActiveClass)); - return S_OK; + if (fCurrentBar.p != NULL) + { + hResult = fCurrentBar->QueryInterface(IID_IOleCommandTarget, (void **)&commandTarget); + hResult = commandTarget->Exec(NULL, 0x17, 0, NULL, NULL); + } + // hide the current bar + memcpy(&fCurrentActiveClass, &GUID_NULL, sizeof(fCurrentActiveClass)); + return S_OK; }*/ HRESULT STDMETHODCALLTYPE CBaseBar::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::OnFocusChangeIS (IUnknown *punkObj, BOOL fSetFocus) { - // forward to owner - return E_NOTIMPL; + // forward to owner + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) - { - } - else if (IsEqualIID(*pguidCmdGroup, IID_IDeskBarClient)) - { - switch (nCmdID) - { - case 0: - // hide current band - break; - case 2: - break; - case 3: - break; - } - } - return E_NOTIMPL; + if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) + { + } + else if (IsEqualIID(*pguidCmdGroup, IID_IDeskBarClient)) + { + switch (nCmdID) + { + case 0: + // hide current band + break; + case 2: + break; + case 3: + break; + } + } + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - if (fSite == NULL) - return E_FAIL; - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - // called for SID_STopLevelBrowser, IID_IBrowserService to find top level browser - // called for SID_IWebBrowserApp, IID_IConnectionPointContainer - // connection point called for DIID_DWebBrowserEvents2 to establish connection - return serviceProvider->QueryService(guidService, riid, ppvObject); + if (fSite == NULL) + return E_FAIL; + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + // called for SID_STopLevelBrowser, IID_IBrowserService to find top level browser + // called for SID_IWebBrowserApp, IID_IConnectionPointContainer + // connection point called for DIID_DWebBrowserEvents2 to establish connection + return serviceProvider->QueryService(guidService, riid, ppvObject); } HRESULT STDMETHODCALLTYPE CBaseBar::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - // forward to contained bar - return S_OK; + // forward to contained bar + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::HasFocusIO() { - // forward to contained bar - return S_OK; + // forward to contained bar + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::TranslateAcceleratorIO(LPMSG lpMsg) { - // forward to contained bar - return S_OK; + // forward to contained bar + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::SetClient(IUnknown *punkClient) { - CComPtr oleWindow; - HWND ownerWindow; - HRESULT hResult; + CComPtr oleWindow; + HWND ownerWindow; + HRESULT hResult; - if (punkClient == NULL) - fClient.Release(); - else - { - hResult = punkClient->QueryInterface(IID_IUnknown, reinterpret_cast(&fClient)); - if (FAILED(hResult)) - return hResult; - hResult = fSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = oleWindow->GetWindow(&ownerWindow); - if (FAILED(hResult)) - return hResult; - Create(ownerWindow, 0, NULL, - WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_TOOLWINDOW); - ReserveBorderSpace(); - } - return S_OK; + if (punkClient == NULL) + fClient.Release(); + else + { + hResult = punkClient->QueryInterface(IID_IUnknown, reinterpret_cast(&fClient)); + if (FAILED(hResult)) + return hResult; + hResult = fSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = oleWindow->GetWindow(&ownerWindow); + if (FAILED(hResult)) + return hResult; + Create(ownerWindow, 0, NULL, + WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_TOOLWINDOW); + ReserveBorderSpace(); + } + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::GetClient(IUnknown **ppunkClient) { - if (ppunkClient == NULL) - return E_POINTER; - *ppunkClient = fClient; - if (fClient.p != NULL) - fClient.p->AddRef(); - return S_OK; + if (ppunkClient == NULL) + return E_POINTER; + *ppunkClient = fClient; + if (fClient.p != NULL) + fClient.p->AddRef(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::OnPosRectChangeDB(LPRECT prc) { - if (prc == NULL) - return E_POINTER; - if (fVertical) - fNeededSize = prc->right - prc->left; - else - fNeededSize = prc->bottom - prc->top; - ReserveBorderSpace(); - return S_OK; + if (prc == NULL) + return E_POINTER; + if (fVertical) + fNeededSize = prc->right - prc->left; + else + fNeededSize = prc->bottom - prc->top; + ReserveBorderSpace(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::ShowDW(BOOL fShow) { - fVisible = fShow ? true : false; - ReserveBorderSpace(); - return S_OK; + fVisible = fShow ? true : false; + ReserveBorderSpace(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::CloseDW(DWORD dwReserved) { - fVisible = false; - ReserveBorderSpace(); - return S_OK; + fVisible = false; + ReserveBorderSpace(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) { - ReserveBorderSpace(); - return S_OK; + ReserveBorderSpace(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::SetSite(IUnknown *pUnkSite) { - fSite = pUnkSite; - return S_OK; + fSite = pUnkSite; + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::GetSite(REFIID riid, void **ppvSite) { - if (ppvSite == NULL) - return E_POINTER; - *ppvSite = fSite; - if (fSite.p != NULL) - fSite.p->AddRef(); - return S_OK; + if (ppvSite == NULL) + return E_POINTER; + *ppvSite = fSite; + if (fSite.p != NULL) + fSite.p->AddRef(); + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBar::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - // TODO: what class to return here? - return E_NOTIMPL; + if (pClassID == NULL) + return E_POINTER; + // TODO: what class to return here? + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::GetSizeMax(ULARGE_INTEGER *pcbSize) { - if (pcbSize == NULL) - return E_POINTER; - return E_NOTIMPL; + if (pcbSize == NULL) + return E_POINTER; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::InitNew() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBar::Save(IPropertyBag *pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT CBaseBar::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { -/* CComPtr oleWindow; - RECT clientRect; - HRESULT hResult; +/* CComPtr oleWindow; + RECT clientRect; + HRESULT hResult; - if (fClientWindow == NULL && fClient.p != NULL) - { - hResult = fClient->QueryInterface(IID_IOleWindow, (void **)&oleWindow); - hResult = oleWindow->GetWindow(&fClientWindow); - } - if (fClientWindow != NULL) - { - GetClientRect(&clientRect); - ::SetWindowPos(fClientWindow, NULL, clientRect.left, clientRect.top, clientRect.right - clientRect.left - GetSystemMetrics(SM_CXFRAME), - clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); - }*/ - return 0; + if (fClientWindow == NULL && fClient.p != NULL) + { + hResult = fClient->QueryInterface(IID_IOleWindow, (void **)&oleWindow); + hResult = oleWindow->GetWindow(&fClientWindow); + } + if (fClientWindow != NULL) + { + GetClientRect(&clientRect); + ::SetWindowPos(fClientWindow, NULL, clientRect.left, clientRect.top, clientRect.right - clientRect.left - GetSystemMetrics(SM_CXFRAME), + clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); + }*/ + return 0; } LRESULT CBaseBar::OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd) - { - bHandled = FALSE; - return 0; - } - if (fVertical) - SetCursor(LoadCursor(NULL, IDC_SIZEWE)); - else - SetCursor(LoadCursor(NULL, IDC_SIZENS)); - return 1; + if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd) + { + bHandled = FALSE; + return 0; + } + if (fVertical) + SetCursor(LoadCursor(NULL, IDC_SIZEWE)); + else + SetCursor(LoadCursor(NULL, IDC_SIZENS)); + return 1; } LRESULT CBaseBar::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - CComPtr winEventHandler; - LRESULT result; - HRESULT hResult; + CComPtr winEventHandler; + LRESULT result; + HRESULT hResult; - result = 0; - if (fClient.p != NULL) - { - hResult = fClient->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - if (SUCCEEDED(hResult) && winEventHandler.p != NULL) - hResult = winEventHandler->OnWinEvent(NULL, uMsg, wParam, lParam, &result); - } - return result; + result = 0; + if (fClient.p != NULL) + { + hResult = fClient->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + if (SUCCEEDED(hResult) && winEventHandler.p != NULL) + hResult = winEventHandler->OnWinEvent(NULL, uMsg, wParam, lParam, &result); + } + return result; } LRESULT CBaseBar::OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - SetCapture(); - fTracking = true; - fLastLocation.x = (short)LOWORD(lParam); - fLastLocation.y = (short)HIWORD(lParam); - return 0; + SetCapture(); + fTracking = true; + fLastLocation.x = (short)LOWORD(lParam); + fLastLocation.y = (short)HIWORD(lParam); + return 0; } LRESULT CBaseBar::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - ReleaseCapture(); - fTracking = false; - return 0; + ReleaseCapture(); + fTracking = false; + return 0; } LRESULT CBaseBar::OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - POINT newLocation; - //int delta; + POINT newLocation; + //int delta; - if (fTracking) - { - newLocation.x = (short)LOWORD(lParam); - newLocation.y = (short)HIWORD(lParam); + if (fTracking) + { + newLocation.x = (short)LOWORD(lParam); + newLocation.y = (short)HIWORD(lParam); #if 0 - if (fVertical) - delta = newLocation.x - fLastLocation.x; - else - delta = newLocation.y - fLastLocation.y; - + if (fVertical) + delta = newLocation.x - fLastLocation.x; + else + delta = newLocation.y - fLastLocation.y; + #endif - fLastLocation = newLocation; - } - return 0; + fLastLocation = newLocation; + } + return 0; } LRESULT CBaseBar::OnCancelMode(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - fTracking = false; - return 0; + fTracking = false; + return 0; } LRESULT CBaseBar::OnCaptureChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - fTracking = false; - return 0; + fTracking = false; + return 0; } HRESULT CreateBaseBar(REFIID riid, void **ppv) { - CComObject *theBaseBar; - HRESULT hResult; + CComObject *theBaseBar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theBaseBar = new CComObject); - if (theBaseBar == NULL) - return E_OUTOFMEMORY; - hResult = theBaseBar->QueryInterface (riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theBaseBar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theBaseBar = new CComObject); + if (theBaseBar == NULL) + return E_OUTOFMEMORY; + hResult = theBaseBar->QueryInterface (riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theBaseBar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/basebarsite.cpp b/reactos/dll/win32/browseui/basebarsite.cpp index 113a49d5b14..2cb71449b8d 100644 --- a/reactos/dll/win32/browseui/basebarsite.cpp +++ b/reactos/dll/win32/browseui/basebarsite.cpp @@ -37,57 +37,57 @@ TODO: */ class CBaseBarSite : - public CWindowImpl, - public CComObjectRootEx, -// public IDockingWindowSite, - public IInputObject, - public IServiceProvider, - public IWinEventHandler, - public IInputObjectSite, - public IDeskBarClient, - public IOleCommandTarget, - public IBandSite, -// public IBandSiteHelper, -// public IExplorerToolbar, - public IPersistStream + public CWindowImpl, + public CComObjectRootEx, +// public IDockingWindowSite, + public IInputObject, + public IServiceProvider, + public IWinEventHandler, + public IInputObjectSite, + public IDeskBarClient, + public IOleCommandTarget, + public IBandSite, +// public IBandSiteHelper, +// public IExplorerToolbar, + public IPersistStream { private: - class CBarInfo - { - public: - CComPtr fTheBar; - CLSID fBarClass; // class of active bar - DWORD fBandID; - - }; - CBarInfo *fCurrentActiveBar; // -// HWND fRebarWindow; // rebar for top of window - CComPtr fDeskBarSite; - DWORD fNextBandID; + class CBarInfo + { + public: + CComPtr fTheBar; + CLSID fBarClass; // class of active bar + DWORD fBandID; + + }; + CBarInfo *fCurrentActiveBar; // +// HWND fRebarWindow; // rebar for top of window + CComPtr fDeskBarSite; + DWORD fNextBandID; public: - CBaseBarSite(); - ~CBaseBarSite(); + CBaseBarSite(); + ~CBaseBarSite(); private: - HRESULT InsertBar(IUnknown *newBar); + HRESULT InsertBar(IUnknown *newBar); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IInputObject methods *** + // *** IInputObject methods *** virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent( + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); - // *** IInputObjectSite specific methods *** + // *** IInputObjectSite specific methods *** virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); // *** IDeskBarClient methods *** @@ -96,60 +96,60 @@ private: virtual HRESULT STDMETHODCALLTYPE UIActivateDBC(DWORD dwState); virtual HRESULT STDMETHODCALLTYPE GetSize(DWORD dwWhich, LPRECT prc); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IBandSite specific methods *** - virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); - virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, - LPWSTR pszName, int cchName); - virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); - virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); - virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); - virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); + // *** IBandSite specific methods *** + virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); + virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, + LPWSTR pszName, int cchName); + virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); + virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); + virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); + virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // message handlers - LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); BEGIN_MSG_MAP(CBaseBarSite) - MESSAGE_HANDLER(WM_NOTIFY, OnNotify) + MESSAGE_HANDLER(WM_NOTIFY, OnNotify) END_MSG_MAP() BEGIN_COM_MAP(CBaseBarSite) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) -// COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IDeskBarClient, IDeskBarClient) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) -// COM_INTERFACE_ENTRY_IID(IID_IBandSiteHelper, IBandSiteHelper) -// COM_INTERFACE_ENTRY_IID(IID_IExplorerToolbar, IExplorerToolbar) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) +// COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IDeskBarClient, IDeskBarClient) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) +// COM_INTERFACE_ENTRY_IID(IID_IBandSiteHelper, IBandSiteHelper) +// COM_INTERFACE_ENTRY_IID(IID_IExplorerToolbar, IExplorerToolbar) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) END_COM_MAP() }; CBaseBarSite::CBaseBarSite() { - fCurrentActiveBar = NULL; - fNextBandID = 1; + fCurrentActiveBar = NULL; + fNextBandID = 1; } CBaseBarSite::~CBaseBarSite() @@ -158,338 +158,338 @@ CBaseBarSite::~CBaseBarSite() HRESULT CBaseBarSite::InsertBar(IUnknown *newBar) { - CComPtr persist; - CComPtr site; - CComPtr oleWindow; - CComPtr deskBand; - CComPtr dockingWindow; - CBarInfo *newInfo; - REBARBANDINFOW bandInfo; - DESKBANDINFO deskBandInfo; - DWORD thisBandID; - HRESULT hResult; + CComPtr persist; + CComPtr site; + CComPtr oleWindow; + CComPtr deskBand; + CComPtr dockingWindow; + CBarInfo *newInfo; + REBARBANDINFOW bandInfo; + DESKBANDINFO deskBandInfo; + DWORD thisBandID; + HRESULT hResult; - hResult = newBar->QueryInterface(IID_IPersist, reinterpret_cast(&persist)); - if (FAILED(hResult)) - return hResult; - hResult = newBar->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&site)); - if (FAILED(hResult)) - return hResult; - hResult = newBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = newBar->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); - if (FAILED(hResult)) - return hResult; - hResult = newBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); - if (FAILED(hResult)) - return hResult; - hResult = site->SetSite(static_cast(this)); - if (FAILED(hResult)) - return hResult; - ATLTRY(newInfo = new CBarInfo); - if (newInfo == NULL) - return E_OUTOFMEMORY; + hResult = newBar->QueryInterface(IID_IPersist, reinterpret_cast(&persist)); + if (FAILED(hResult)) + return hResult; + hResult = newBar->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&site)); + if (FAILED(hResult)) + return hResult; + hResult = newBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = newBar->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); + if (FAILED(hResult)) + return hResult; + hResult = newBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); + if (FAILED(hResult)) + return hResult; + hResult = site->SetSite(static_cast(this)); + if (FAILED(hResult)) + return hResult; + ATLTRY(newInfo = new CBarInfo); + if (newInfo == NULL) + return E_OUTOFMEMORY; - // set new bar info - thisBandID = fNextBandID++; - newInfo->fTheBar = newBar; - newInfo->fBandID = thisBandID; - hResult = persist->GetClassID(&newInfo->fBarClass); + // set new bar info + thisBandID = fNextBandID++; + newInfo->fTheBar = newBar; + newInfo->fBandID = thisBandID; + hResult = persist->GetClassID(&newInfo->fBarClass); - // get band info - deskBandInfo.dwMask = DBIM_MINSIZE | DBIM_ACTUAL | DBIM_TITLE; - deskBandInfo.wszTitle[0] = 0; - hResult = deskBand->GetBandInfo(0, 0, &deskBandInfo); + // get band info + deskBandInfo.dwMask = DBIM_MINSIZE | DBIM_ACTUAL | DBIM_TITLE; + deskBandInfo.wszTitle[0] = 0; + hResult = deskBand->GetBandInfo(0, 0, &deskBandInfo); - // insert band - memset(&bandInfo, 0, sizeof(bandInfo)); - bandInfo.cbSize = sizeof(bandInfo); - bandInfo.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_TEXT | - RBBIM_LPARAM | RBBIM_ID; - bandInfo.fStyle = RBBS_NOGRIPPER | RBBS_VARIABLEHEIGHT; - bandInfo.lpText = deskBandInfo.wszTitle; - hResult = oleWindow->GetWindow(&bandInfo.hwndChild); - bandInfo.cxMinChild = 200; //deskBandInfo.ptMinSize.x; - bandInfo.cyMinChild = 200; //deskBandInfo.ptMinSize.y; - bandInfo.cx = 0; - bandInfo.wID = thisBandID; - bandInfo.cyChild = -1; //deskBandInfo.ptActual.y; - bandInfo.cyMaxChild = 32000; - bandInfo.cyIntegral = 1; - bandInfo.cxIdeal = 0; //deskBandInfo.ptActual.x; - bandInfo.lParam = reinterpret_cast(newInfo); - SendMessage(RB_INSERTBANDW, -1, reinterpret_cast(&bandInfo)); + // insert band + memset(&bandInfo, 0, sizeof(bandInfo)); + bandInfo.cbSize = sizeof(bandInfo); + bandInfo.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_TEXT | + RBBIM_LPARAM | RBBIM_ID; + bandInfo.fStyle = RBBS_NOGRIPPER | RBBS_VARIABLEHEIGHT; + bandInfo.lpText = deskBandInfo.wszTitle; + hResult = oleWindow->GetWindow(&bandInfo.hwndChild); + bandInfo.cxMinChild = 200; //deskBandInfo.ptMinSize.x; + bandInfo.cyMinChild = 200; //deskBandInfo.ptMinSize.y; + bandInfo.cx = 0; + bandInfo.wID = thisBandID; + bandInfo.cyChild = -1; //deskBandInfo.ptActual.y; + bandInfo.cyMaxChild = 32000; + bandInfo.cyIntegral = 1; + bandInfo.cxIdeal = 0; //deskBandInfo.ptActual.x; + bandInfo.lParam = reinterpret_cast(newInfo); + SendMessage(RB_INSERTBANDW, -1, reinterpret_cast(&bandInfo)); - // this call is what makes the tree fill with contents - hResult = dockingWindow->ShowDW(TRUE); - if (FAILED(hResult)) - return hResult; - // for now - fCurrentActiveBar = newInfo; - return S_OK; + // this call is what makes the tree fill with contents + hResult = dockingWindow->ShowDW(TRUE); + if (FAILED(hResult)) + return hResult; + // for now + fCurrentActiveBar = newInfo; + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBarSite::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::HasFocusIO() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::TranslateAcceleratorIO(LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - if (fDeskBarSite == NULL) - return E_FAIL; - hResult = fDeskBarSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - // called for SID_STopLevelBrowser, IID_IBrowserService to find top level browser - // called for SID_IWebBrowserApp, IID_IConnectionPointContainer - // connection point called for DIID_DWebBrowserEvents2 to establish connection - return serviceProvider->QueryService(guidService, riid, ppvObject); + if (fDeskBarSite == NULL) + return E_FAIL; + hResult = fDeskBarSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + // called for SID_STopLevelBrowser, IID_IBrowserService to find top level browser + // called for SID_IWebBrowserApp, IID_IConnectionPointContainer + // connection point called for DIID_DWebBrowserEvents2 to establish connection + return serviceProvider->QueryService(guidService, riid, ppvObject); } HRESULT STDMETHODCALLTYPE CBaseBarSite::OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - CComPtr deskBar; - CComPtr winEventHandler; - NMHDR *notifyHeader; - RECT newBounds; - HRESULT hResult; + CComPtr deskBar; + CComPtr winEventHandler; + NMHDR *notifyHeader; + RECT newBounds; + HRESULT hResult; - hResult = S_OK; - if (uMsg == WM_NOTIFY) - { - notifyHeader = (NMHDR *)lParam; - if (notifyHeader->hwndFrom == m_hWnd && notifyHeader->code == RBN_AUTOSIZE) - { - hResult = fDeskBarSite->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); - GetClientRect(&newBounds); - hResult = deskBar->OnPosRectChangeDB(&newBounds); - } - } - if (fCurrentActiveBar != NULL) - { - hResult = fCurrentActiveBar->fTheBar->QueryInterface( - IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - if (SUCCEEDED(hResult) && winEventHandler.p != NULL) - hResult = winEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult); - } - return hResult; + hResult = S_OK; + if (uMsg == WM_NOTIFY) + { + notifyHeader = (NMHDR *)lParam; + if (notifyHeader->hwndFrom == m_hWnd && notifyHeader->code == RBN_AUTOSIZE) + { + hResult = fDeskBarSite->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); + GetClientRect(&newBounds); + hResult = deskBar->OnPosRectChangeDB(&newBounds); + } + } + if (fCurrentActiveBar != NULL) + { + hResult = fCurrentActiveBar->fTheBar->QueryInterface( + IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + if (SUCCEEDED(hResult) && winEventHandler.p != NULL) + hResult = winEventHandler->OnWinEvent(hWnd, uMsg, wParam, lParam, theResult); + } + return hResult; } HRESULT STDMETHODCALLTYPE CBaseBarSite::IsWindowOwner(HWND hWnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::OnFocusChangeIS (IUnknown *punkObj, BOOL fSetFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::SetDeskBarSite(IUnknown *punkSite) { - CComPtr oleWindow; - HWND ownerWindow; - HRESULT hResult; + CComPtr oleWindow; + HWND ownerWindow; + HRESULT hResult; - if (punkSite == NULL) - fDeskBarSite.Release(); - else - { - hResult = punkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = punkSite->QueryInterface(IID_IUnknown, reinterpret_cast(&fDeskBarSite)); - if (FAILED(hResult)) - return hResult; - hResult = oleWindow->GetWindow(&ownerWindow); - if (FAILED(hResult)) - return hResult; - m_hWnd = CreateWindow(REBARCLASSNAMEW, NULL, WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | - WS_CLIPCHILDREN | - RBS_VARHEIGHT | RBS_REGISTERDROP | RBS_AUTOSIZE | RBS_VERTICALGRIPPER | RBS_DBLCLKTOGGLE | - CCS_LEFT | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE, 0, 0, 0, 0, ownerWindow, NULL, - _AtlBaseModule.GetModuleInstance(), NULL); - SendMessage(RB_SETTEXTCOLOR, 0, CLR_DEFAULT); - SendMessage(RB_SETBKCOLOR, 0, CLR_DEFAULT); - } - return S_OK; + if (punkSite == NULL) + fDeskBarSite.Release(); + else + { + hResult = punkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = punkSite->QueryInterface(IID_IUnknown, reinterpret_cast(&fDeskBarSite)); + if (FAILED(hResult)) + return hResult; + hResult = oleWindow->GetWindow(&ownerWindow); + if (FAILED(hResult)) + return hResult; + m_hWnd = CreateWindow(REBARCLASSNAMEW, NULL, WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | + WS_CLIPCHILDREN | + RBS_VARHEIGHT | RBS_REGISTERDROP | RBS_AUTOSIZE | RBS_VERTICALGRIPPER | RBS_DBLCLKTOGGLE | + CCS_LEFT | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE, 0, 0, 0, 0, ownerWindow, NULL, + _AtlBaseModule.GetModuleInstance(), NULL); + SendMessage(RB_SETTEXTCOLOR, 0, CLR_DEFAULT); + SendMessage(RB_SETBKCOLOR, 0, CLR_DEFAULT); + } + return S_OK; } HRESULT STDMETHODCALLTYPE CBaseBarSite::SetModeDBC(DWORD dwMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::UIActivateDBC(DWORD dwState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetSize(DWORD dwWhich, LPRECT prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::QueryStatus(const GUID *pguidCmdGroup, - ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - if (IsEqualIID(*pguidCmdGroup, IID_IDeskBand)) - { - switch (nCmdID) - { - case 1: // insert a new band - if (V_VT(pvaIn) != VT_UNKNOWN) - return E_INVALIDARG; - return InsertBar(V_UNKNOWN(pvaIn)); - } - } - return E_FAIL; + if (IsEqualIID(*pguidCmdGroup, IID_IDeskBand)) + { + switch (nCmdID) + { + case 1: // insert a new band + if (V_VT(pvaIn) != VT_UNKNOWN) + return E_INVALIDARG; + return InsertBar(V_UNKNOWN(pvaIn)); + } + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::AddBand(IUnknown *punk) { - return InsertBar(punk); + return InsertBar(punk); } HRESULT STDMETHODCALLTYPE CBaseBarSite::EnumBands(UINT uBand, DWORD *pdwBandID) { - if (uBand == 0xffffffff) - { - *pdwBandID = (DWORD)SendMessage(RB_GETBANDCOUNT, 0, 0); - return S_OK; - } - return E_NOTIMPL; + if (uBand == 0xffffffff) + { + *pdwBandID = (DWORD)SendMessage(RB_GETBANDCOUNT, 0, 0); + return S_OK; + } + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::QueryBand(DWORD dwBandID, IDeskBand **ppstb, - DWORD *pdwState, LPWSTR pszName, int cchName) + DWORD *pdwState, LPWSTR pszName, int cchName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::RemoveBand(DWORD dwBandID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetBandObject(DWORD dwBandID, REFIID riid, void **ppv) { - if (ppv == NULL) - return E_POINTER; - return E_NOTIMPL; + if (ppv == NULL) + return E_POINTER; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::SetBandSiteInfo(const BANDSITEINFO *pbsinfo) { - if (pbsinfo == NULL) - return E_POINTER; - return E_NOTIMPL; + if (pbsinfo == NULL) + return E_POINTER; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetBandSiteInfo(BANDSITEINFO *pbsinfo) { - if (pbsinfo == NULL) - return E_POINTER; - return E_NOTIMPL; + if (pbsinfo == NULL) + return E_POINTER; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - // TODO: what class to return here? - return E_NOTIMPL; + if (pClassID == NULL) + return E_POINTER; + // TODO: what class to return here? + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBaseBarSite::GetSizeMax(ULARGE_INTEGER *pcbSize) { - if (pcbSize == NULL) - return E_POINTER; - return E_NOTIMPL; + if (pcbSize == NULL) + return E_POINTER; + return E_NOTIMPL; } LRESULT CBaseBarSite::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - NMHDR *notifyHeader; + NMHDR *notifyHeader; - notifyHeader = reinterpret_cast(lParam); - if (notifyHeader->hwndFrom == m_hWnd) - { - } - return 0; + notifyHeader = reinterpret_cast(lParam); + if (notifyHeader->hwndFrom == m_hWnd) + { + } + return 0; } HRESULT CreateBaseBarSite(REFIID riid, void **ppv) { - CComObject *theBaseBarSite; - HRESULT hResult; + CComObject *theBaseBarSite; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theBaseBarSite = new CComObject); - if (theBaseBarSite == NULL) - return E_OUTOFMEMORY; - hResult = theBaseBarSite->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theBaseBarSite; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theBaseBarSite = new CComObject); + if (theBaseBarSite == NULL) + return E_OUTOFMEMORY; + hResult = theBaseBarSite->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theBaseBarSite; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/brandband.cpp b/reactos/dll/win32/browseui/brandband.cpp index 39c3db4da6f..568a656aa2a 100644 --- a/reactos/dll/win32/browseui/brandband.cpp +++ b/reactos/dll/win32/browseui/brandband.cpp @@ -26,210 +26,210 @@ animation. /* TODO: - Add Exec command handlers - Properly implement GetBandInfo - Fix SetSite to revoke brand band service when site is cleared + Add Exec command handlers + Properly implement GetBandInfo + Fix SetSite to revoke brand band service when site is cleared */ inline void FillSolidRect(HDC dc, const RECT *bounds) { - ::ExtTextOut(dc, 0, 0, ETO_OPAQUE, bounds, NULL, 0, NULL); + ::ExtTextOut(dc, 0, 0, ETO_OPAQUE, bounds, NULL, 0, NULL); } inline void FillSolidRect(HDC dc, const RECT *bounds, COLORREF clr) { - ::SetBkColor(dc, clr); - ::ExtTextOut(dc, 0, 0, ETO_OPAQUE, bounds, NULL, 0, NULL); + ::SetBkColor(dc, clr); + ::ExtTextOut(dc, 0, 0, ETO_OPAQUE, bounds, NULL, 0, NULL); } long GetScreenDepth() { - HDC tempDC; - long depth; + HDC tempDC; + long depth; - tempDC = GetDC(NULL); - depth = GetDeviceCaps(tempDC, BITSPIXEL) * GetDeviceCaps(tempDC, PLANES); - ReleaseDC(NULL, tempDC); - return depth; + tempDC = GetDC(NULL); + depth = GetDeviceCaps(tempDC, BITSPIXEL) * GetDeviceCaps(tempDC, PLANES); + ReleaseDC(NULL, tempDC); + return depth; } -static const int gSmallImageSize = 22; -static const int gMediumImageSize = 26; -static const int gLargeImageSize = 38; +static const int gSmallImageSize = 22; +static const int gMediumImageSize = 26; +static const int gLargeImageSize = 38; -static const int gTrueColorResourceBase = 240; -static const int g256ColorResourceBase = 245; +static const int gTrueColorResourceBase = 240; +static const int g256ColorResourceBase = 245; CBrandBand::CBrandBand() { - fProfferCookie = 0; - fCurrentFrame = 0; - fMaxFrameCount = 0; - fImageBitmap = NULL; - fBitmapSize = 0; - fAdviseCookie = 0; + fProfferCookie = 0; + fCurrentFrame = 0; + fMaxFrameCount = 0; + fImageBitmap = NULL; + fBitmapSize = 0; + fAdviseCookie = 0; } CBrandBand::~CBrandBand() { - DeleteObject(fImageBitmap); + DeleteObject(fImageBitmap); } void CBrandBand::StartAnimation() { - fCurrentFrame = 0; - SetTimer(5678, 30, NULL); + fCurrentFrame = 0; + SetTimer(5678, 30, NULL); } void CBrandBand::StopAnimation() { - KillTimer(5678); - fCurrentFrame = 0; - Invalidate(FALSE); + KillTimer(5678); + fCurrentFrame = 0; + Invalidate(FALSE); } void CBrandBand::SelectImage() { - int screenDepth; - RECT clientRect; - int clientWidth; - int clientHeight; - int clientSize; - HINSTANCE shell32Instance; - BITMAP bitmapInfo; - int resourceID; + int screenDepth; + RECT clientRect; + int clientWidth; + int clientHeight; + int clientSize; + HINSTANCE shell32Instance; + BITMAP bitmapInfo; + int resourceID; - screenDepth = GetScreenDepth(); - GetClientRect(&clientRect); - clientWidth = clientRect.right - clientRect.left; - clientHeight = clientRect.bottom - clientRect.top; - clientSize = min(clientWidth, clientHeight); - if (screenDepth > 8) - resourceID = gTrueColorResourceBase; - else - resourceID = g256ColorResourceBase; - if (clientSize >= gLargeImageSize) - resourceID += 2; - else if (clientSize >= gMediumImageSize) - resourceID += 1; - shell32Instance = GetModuleHandle(L"shell32.dll"); - fImageBitmap = LoadBitmap(shell32Instance, MAKEINTRESOURCE(resourceID)); - GetObjectW(fImageBitmap, sizeof(bitmapInfo), &bitmapInfo); - fBitmapSize = bitmapInfo.bmWidth; - fMaxFrameCount = bitmapInfo.bmHeight / fBitmapSize; + screenDepth = GetScreenDepth(); + GetClientRect(&clientRect); + clientWidth = clientRect.right - clientRect.left; + clientHeight = clientRect.bottom - clientRect.top; + clientSize = min(clientWidth, clientHeight); + if (screenDepth > 8) + resourceID = gTrueColorResourceBase; + else + resourceID = g256ColorResourceBase; + if (clientSize >= gLargeImageSize) + resourceID += 2; + else if (clientSize >= gMediumImageSize) + resourceID += 1; + shell32Instance = GetModuleHandle(L"shell32.dll"); + fImageBitmap = LoadBitmap(shell32Instance, MAKEINTRESOURCE(resourceID)); + GetObjectW(fImageBitmap, sizeof(bitmapInfo), &bitmapInfo); + fBitmapSize = bitmapInfo.bmWidth; + fMaxFrameCount = bitmapInfo.bmHeight / fBitmapSize; } HRESULT STDMETHODCALLTYPE CBrandBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi) { - if (pdbi->dwMask & DBIM_MINSIZE) - { - pdbi->ptMinSize.x = 38; - pdbi->ptMinSize.y = 22; - } - if (pdbi->dwMask & DBIM_MAXSIZE) - { - pdbi->ptMaxSize.x = 38; - pdbi->ptMaxSize.y = 38; - } - if (pdbi->dwMask & DBIM_INTEGRAL) - { - pdbi->ptIntegral.x = 38; - pdbi->ptIntegral.y = 38; - } - if (pdbi->dwMask & DBIM_ACTUAL) - { - pdbi->ptActual.x = 38; - pdbi->ptActual.y = 38; - } - if (pdbi->dwMask & DBIM_TITLE) - wcscpy(pdbi->wszTitle, L""); - if (pdbi->dwMask & DBIM_MODEFLAGS) - pdbi->dwModeFlags = DBIMF_UNDELETEABLE; - if (pdbi->dwMask & DBIM_BKCOLOR) - pdbi->crBkgnd = 0; - return S_OK; + if (pdbi->dwMask & DBIM_MINSIZE) + { + pdbi->ptMinSize.x = 38; + pdbi->ptMinSize.y = 22; + } + if (pdbi->dwMask & DBIM_MAXSIZE) + { + pdbi->ptMaxSize.x = 38; + pdbi->ptMaxSize.y = 38; + } + if (pdbi->dwMask & DBIM_INTEGRAL) + { + pdbi->ptIntegral.x = 38; + pdbi->ptIntegral.y = 38; + } + if (pdbi->dwMask & DBIM_ACTUAL) + { + pdbi->ptActual.x = 38; + pdbi->ptActual.y = 38; + } + if (pdbi->dwMask & DBIM_TITLE) + wcscpy(pdbi->wszTitle, L""); + if (pdbi->dwMask & DBIM_MODEFLAGS) + pdbi->dwModeFlags = DBIMF_UNDELETEABLE; + if (pdbi->dwMask & DBIM_BKCOLOR) + pdbi->crBkgnd = 0; + return S_OK; } HRESULT STDMETHODCALLTYPE CBrandBand::SetSite(IUnknown* pUnkSite) { - CComPtr browserService; - CComPtr oleWindow; - CComPtr serviceProvider; - CComPtr profferService; - HWND parentWindow; - HWND hwnd; - HRESULT hResult; + CComPtr browserService; + CComPtr oleWindow; + CComPtr serviceProvider; + CComPtr profferService; + HWND parentWindow; + HWND hwnd; + HRESULT hResult; - fSite.Release(); - if (pUnkSite == NULL) - { - hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie); - // TODO: revoke brand band service - return S_OK; - } + fSite.Release(); + if (pUnkSite == NULL) + { + hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie); + // TODO: revoke brand band service + return S_OK; + } - // get window handle of parent - hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fSite)); - if (FAILED(hResult)) - return hResult; - parentWindow = NULL; - hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (SUCCEEDED(hResult)) - hResult = oleWindow->GetWindow(&parentWindow); - if (!::IsWindow(parentWindow)) - return E_FAIL; + // get window handle of parent + hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fSite)); + if (FAILED(hResult)) + return hResult; + parentWindow = NULL; + hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (SUCCEEDED(hResult)) + hResult = oleWindow->GetWindow(&parentWindow); + if (!::IsWindow(parentWindow)) + return E_FAIL; - // create worker window in parent window - hwnd = SHCreateWorkerWindowW(0, parentWindow, 0, - WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, NULL, 0); - if (hwnd == NULL) - return E_FAIL; - SubclassWindow(hwnd); + // create worker window in parent window + hwnd = SHCreateWorkerWindowW(0, parentWindow, 0, + WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, NULL, 0); + if (hwnd == NULL) + return E_FAIL; + SubclassWindow(hwnd); - // take advice to watch events - hResult = pUnkSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (SUCCEEDED(hResult)) - { - hResult = serviceProvider->QueryService( - SID_SBrandBand, IID_IProfferService, reinterpret_cast(&profferService)); - if (SUCCEEDED(hResult)) - hResult = profferService->ProfferService(SID_SBrandBand, - static_cast(this), &fProfferCookie); - hResult = serviceProvider->QueryService(SID_SShellBrowser, - IID_IBrowserService, reinterpret_cast(&browserService)); - if (SUCCEEDED(hResult)) - hResult = AtlAdvise(browserService, static_cast(this), DIID_DWebBrowserEvents, &fAdviseCookie); - } + // take advice to watch events + hResult = pUnkSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (SUCCEEDED(hResult)) + { + hResult = serviceProvider->QueryService( + SID_SBrandBand, IID_IProfferService, reinterpret_cast(&profferService)); + if (SUCCEEDED(hResult)) + hResult = profferService->ProfferService(SID_SBrandBand, + static_cast(this), &fProfferCookie); + hResult = serviceProvider->QueryService(SID_SShellBrowser, + IID_IBrowserService, reinterpret_cast(&browserService)); + if (SUCCEEDED(hResult)) + hResult = AtlAdvise(browserService, static_cast(this), DIID_DWebBrowserEvents, &fAdviseCookie); + } - // ignore any hResult errors up to here - they are nonfatal - hResult = S_OK; - SelectImage(); - return hResult; + // ignore any hResult errors up to here - they are nonfatal + hResult = S_OK; + SelectImage(); + return hResult; } HRESULT STDMETHODCALLTYPE CBrandBand::GetSite(REFIID riid, void **ppvSite) { - if (ppvSite == NULL) - return E_POINTER; - if (fSite.p == NULL) - { - *ppvSite = NULL; - return E_FAIL; - } - return fSite.p->QueryInterface(riid, ppvSite); + if (ppvSite == NULL) + return E_POINTER; + if (fSite.p == NULL) + { + *ppvSite = NULL; + return E_FAIL; + } + return fSite.p->QueryInterface(riid, ppvSite); } HRESULT STDMETHODCALLTYPE CBrandBand::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CBrandBand::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::CloseDW(DWORD dwReserved) @@ -245,9 +245,9 @@ HRESULT STDMETHODCALLTYPE CBrandBand::CloseDW(DWORD dwReserved) } HRESULT STDMETHODCALLTYPE CBrandBand::ResizeBorderDW( - const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved) + const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::ShowDW(BOOL fShow) @@ -264,225 +264,225 @@ HRESULT STDMETHODCALLTYPE CBrandBand::ShowDW(BOOL fShow) HRESULT STDMETHODCALLTYPE CBrandBand::HasFocusIO() { - if (GetFocus() == m_hWnd) - return S_OK; - return S_FALSE; + if (GetFocus() == m_hWnd) + return S_OK; + return S_FALSE; } HRESULT STDMETHODCALLTYPE CBrandBand::TranslateAcceleratorIO(LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - *pClassID = CLSID_BrandBand; - return S_OK; + if (pClassID == NULL) + return E_POINTER; + *pClassID = CLSID_BrandBand; + return S_OK; } HRESULT STDMETHODCALLTYPE CBrandBand::IsDirty() { - return S_FALSE; + return S_FALSE; } HRESULT STDMETHODCALLTYPE CBrandBand::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::GetSizeMax(ULARGE_INTEGER *pcbSize) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::IsWindowOwner(HWND hWnd) { - if (hWnd == m_hWnd) - return S_OK; - return S_FALSE; + if (hWnd == m_hWnd) + return S_OK; + return S_FALSE; } HRESULT STDMETHODCALLTYPE CBrandBand::QueryStatus( - const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::Exec(const GUID *pguidCmdGroup, - DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) - { - } - else if (IsEqualIID(*pguidCmdGroup, CGID_BrandCmdGroup)) - { - switch (nCmdID) - { - case BBID_STARTANIMATION: - StartAnimation(); - return S_OK; - case BBID_STOPANIMATION: - StopAnimation(); - return S_OK; - } - } - return E_FAIL; + if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) + { + } + else if (IsEqualIID(*pguidCmdGroup, CGID_BrandCmdGroup)) + { + switch (nCmdID) + { + case BBID_STARTANIMATION: + StartAnimation(); + return S_OK; + case BBID_STOPANIMATION: + StopAnimation(); + return S_OK; + } + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CBrandBand::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - if (IsEqualIID(guidService, SID_SBrandBand)) - return this->QueryInterface(riid, ppvObject); - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - return serviceProvider->QueryService(guidService, riid, ppvObject); + if (IsEqualIID(guidService, SID_SBrandBand)) + return this->QueryInterface(riid, ppvObject); + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + return serviceProvider->QueryService(guidService, riid, ppvObject); } HRESULT STDMETHODCALLTYPE CBrandBand::GetTypeInfoCount(UINT *pctinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, - LCID lcid, DISPID *rgDispId) + LCID lcid, DISPID *rgDispId) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CBrandBand::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, - DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) + DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { - if (pDispParams == NULL) - return E_INVALIDARG; - switch (dispIdMember) - { - case DISPID_DOWNLOADCOMPLETE: - StopAnimation(); - break; - case DISPID_DOWNLOADBEGIN: - StartAnimation(); - break; - } - return E_INVALIDARG; + if (pDispParams == NULL) + return E_INVALIDARG; + switch (dispIdMember) + { + case DISPID_DOWNLOADCOMPLETE: + StopAnimation(); + break; + case DISPID_DOWNLOADBEGIN: + StartAnimation(); + break; + } + return E_INVALIDARG; } LRESULT CBrandBand::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - Invalidate(FALSE); - return 0; + Invalidate(FALSE); + return 0; } LRESULT CBrandBand::OnEraseBkgnd (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - return 1; + return 1; } LRESULT CBrandBand::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - PAINTSTRUCT paintInfo; - HDC dc; - POINT destinationPoint; - HDC sourceDC; - HBITMAP oldBitmap; - RECT clientRect; - RECT tempRect; + PAINTSTRUCT paintInfo; + HDC dc; + POINT destinationPoint; + HDC sourceDC; + HBITMAP oldBitmap; + RECT clientRect; + RECT tempRect; - dc = BeginPaint(&paintInfo); - GetClientRect(&clientRect); + dc = BeginPaint(&paintInfo); + GetClientRect(&clientRect); - destinationPoint.x = (clientRect.right - clientRect.left - fBitmapSize) / 2; - destinationPoint.y = (clientRect.bottom - clientRect.top - fBitmapSize) / 2; + destinationPoint.x = (clientRect.right - clientRect.left - fBitmapSize) / 2; + destinationPoint.y = (clientRect.bottom - clientRect.top - fBitmapSize) / 2; - ::SetBkColor(dc, RGB(255, 255, 255)); + ::SetBkColor(dc, RGB(255, 255, 255)); - tempRect.left = 0; - tempRect.top = 0; - tempRect.right = clientRect.right; - tempRect.bottom = destinationPoint.y; - FillSolidRect(dc, &tempRect, RGB(255, 255, 255)); + tempRect.left = 0; + tempRect.top = 0; + tempRect.right = clientRect.right; + tempRect.bottom = destinationPoint.y; + FillSolidRect(dc, &tempRect, RGB(255, 255, 255)); - tempRect.left = 0; - tempRect.top = destinationPoint.y + fBitmapSize; - tempRect.right = clientRect.right; - tempRect.bottom = clientRect.bottom; - FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); + tempRect.left = 0; + tempRect.top = destinationPoint.y + fBitmapSize; + tempRect.right = clientRect.right; + tempRect.bottom = clientRect.bottom; + FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); - tempRect.left = 0; - tempRect.top = destinationPoint.y; - tempRect.right = destinationPoint.x; - tempRect.bottom = destinationPoint.y + fBitmapSize; - FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); + tempRect.left = 0; + tempRect.top = destinationPoint.y; + tempRect.right = destinationPoint.x; + tempRect.bottom = destinationPoint.y + fBitmapSize; + FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); - tempRect.left = destinationPoint.x + fBitmapSize; - tempRect.top = destinationPoint.y; - tempRect.right = clientRect.right; - tempRect.bottom = destinationPoint.y + fBitmapSize; - FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); + tempRect.left = destinationPoint.x + fBitmapSize; + tempRect.top = destinationPoint.y; + tempRect.right = clientRect.right; + tempRect.bottom = destinationPoint.y + fBitmapSize; + FillSolidRect(dc, &paintInfo.rcPaint, RGB(255, 255, 255)); - sourceDC = CreateCompatibleDC(dc); - oldBitmap = reinterpret_cast(SelectObject(sourceDC, fImageBitmap)); + sourceDC = CreateCompatibleDC(dc); + oldBitmap = reinterpret_cast(SelectObject(sourceDC, fImageBitmap)); - BitBlt(dc, destinationPoint.x, destinationPoint.y, fBitmapSize, fBitmapSize, sourceDC, 0, fCurrentFrame * fBitmapSize, SRCCOPY); + BitBlt(dc, destinationPoint.x, destinationPoint.y, fBitmapSize, fBitmapSize, sourceDC, 0, fCurrentFrame * fBitmapSize, SRCCOPY); - SelectObject(sourceDC, oldBitmap); - DeleteDC(sourceDC); + SelectObject(sourceDC, oldBitmap); + DeleteDC(sourceDC); - EndPaint(&paintInfo); - return 0; + EndPaint(&paintInfo); + return 0; } LRESULT CBrandBand::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - fCurrentFrame++; - if (fCurrentFrame >= fMaxFrameCount) - fCurrentFrame = 0; - Invalidate(FALSE); - return 0; + fCurrentFrame++; + if (fCurrentFrame >= fMaxFrameCount) + fCurrentFrame = 0; + Invalidate(FALSE); + return 0; } HRESULT CreateBrandBand(REFIID riid, void **ppv) { - CComObject *theMenuBar; - HRESULT hResult; + CComObject *theMenuBar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theMenuBar = new CComObject); - if (theMenuBar == NULL) - return E_OUTOFMEMORY; - hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theMenuBar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theMenuBar = new CComObject); + if (theMenuBar == NULL) + return E_OUTOFMEMORY; + hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theMenuBar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/brandband.h b/reactos/dll/win32/browseui/brandband.h index 3f0df06e5b4..483601a3356 100644 --- a/reactos/dll/win32/browseui/brandband.h +++ b/reactos/dll/win32/browseui/brandband.h @@ -21,109 +21,109 @@ #pragma once class CBrandBand : - public CWindowImpl, - public CComCoClass, - public CComObjectRootEx, - public IDeskBand, - public IObjectWithSite, - public IInputObject, - public IPersistStream, - public IWinEventHandler, - public IOleCommandTarget, - public IServiceProvider, - public IDispatch + public CWindowImpl, + public CComCoClass, + public CComObjectRootEx, + public IDeskBand, + public IObjectWithSite, + public IInputObject, + public IPersistStream, + public IWinEventHandler, + public IOleCommandTarget, + public IServiceProvider, + public IDispatch { private: - CComPtr fSite; - DWORD fProfferCookie; - int fCurrentFrame; - int fMaxFrameCount; - HBITMAP fImageBitmap; - int fBitmapSize; - DWORD fAdviseCookie; + CComPtr fSite; + DWORD fProfferCookie; + int fCurrentFrame; + int fMaxFrameCount; + HBITMAP fImageBitmap; + int fBitmapSize; + DWORD fAdviseCookie; public: - CBrandBand(); - ~CBrandBand(); - void StartAnimation(); - void StopAnimation(); - void SelectImage(); + CBrandBand(); + ~CBrandBand(); + void StartAnimation(); + void StopAnimation(); + void SelectImage(); public: - // *** IDeskBand methods *** - virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi); + // *** IDeskBand methods *** + virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown* pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown* pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); - virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved); - virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved); + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); - // *** IInputObject methods *** - virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); - virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); + // *** IInputObject methods *** + virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IDispatch methods *** - virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); - virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); - virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); - virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); + // *** IDispatch methods *** + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); + virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); - // message handlers - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - BEGIN_MSG_MAP(CBrandBand) - // MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd) - MESSAGE_HANDLER(WM_PAINT, OnPaint) - MESSAGE_HANDLER(WM_TIMER, OnTimer) - END_MSG_MAP() + BEGIN_MSG_MAP(CBrandBand) + // MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd) + MESSAGE_HANDLER(WM_PAINT, OnPaint) + MESSAGE_HANDLER(WM_TIMER, OnTimer) + END_MSG_MAP() - DECLARE_REGISTRY_RESOURCEID(IDR_BRANDBAND) - DECLARE_NOT_AGGREGATABLE(CBrandBand) + DECLARE_REGISTRY_RESOURCEID(IDR_BRANDBAND) + DECLARE_NOT_AGGREGATABLE(CBrandBand) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CBrandBand) - COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) - END_COM_MAP() + BEGIN_COM_MAP(CBrandBand) + COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/browseui.cpp b/reactos/dll/win32/browseui/browseui.cpp index 752a5726889..438f505a0b6 100644 --- a/reactos/dll/win32/browseui/browseui.cpp +++ b/reactos/dll/win32/browseui/browseui.cpp @@ -39,12 +39,12 @@ OBJECT_ENTRY(CLSID_BrandBand, CBrandBand) OBJECT_ENTRY(CLSID_InternetToolbar, CInternetToolbar) END_OBJECT_MAP() -CBrowseUIModule gModule; -CAtlWinModule gWinModule; +CBrowseUIModule gModule; +CAtlWinModule gWinModule; void *operator new (size_t, void *buf) { - return buf; + return buf; } /************************************************************************* @@ -53,23 +53,23 @@ void *operator new (size_t, void *buf) STDAPI_(BOOL) DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID fImpLoad) { TRACE("%p 0x%x %p\n", hInstance, dwReason, fImpLoad); - - /* HACK - the global constructors don't run, so I placement new them here */ - new (&gModule) CBrowseUIModule; - new (&gWinModule) CAtlWinModule; - new (&_AtlBaseModule) CAtlBaseModule; - new (&_AtlComModule) CAtlComModule; - if (dwReason == DLL_PROCESS_ATTACH) - { - gModule.Init(ObjectMap, hInstance, NULL); - DisableThreadLibraryCalls (hInstance); - } - else if (dwReason == DLL_PROCESS_DETACH) - { - gModule.Term(); - } - return TRUE; + /* HACK - the global constructors don't run, so I placement new them here */ + new (&gModule) CBrowseUIModule; + new (&gWinModule) CAtlWinModule; + new (&_AtlBaseModule) CAtlBaseModule; + new (&_AtlComModule) CAtlComModule; + + if (dwReason == DLL_PROCESS_ATTACH) + { + gModule.Init(ObjectMap, hInstance, NULL); + DisableThreadLibraryCalls (hInstance); + } + else if (dwReason == DLL_PROCESS_DETACH) + { + gModule.Term(); + } + return TRUE; } /*********************************************************************** @@ -77,7 +77,7 @@ STDAPI_(BOOL) DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID fImpLoad) */ STDAPI DllCanUnloadNow() { - return gModule.DllCanUnloadNow(); + return gModule.DllCanUnloadNow(); } /*********************************************************************** @@ -85,7 +85,7 @@ STDAPI DllCanUnloadNow() */ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) { - return gModule.DllGetClassObject(rclsid, riid, ppv); + return gModule.DllGetClassObject(rclsid, riid, ppv); } /*********************************************************************** @@ -93,7 +93,7 @@ STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) */ STDAPI DllRegisterServer() { - return gModule.DllRegisterServer(FALSE); + return gModule.DllRegisterServer(FALSE); } /*********************************************************************** @@ -101,7 +101,7 @@ STDAPI DllRegisterServer() */ STDAPI DllUnregisterServer() { - return gModule.DllUnregisterServer(FALSE); + return gModule.DllUnregisterServer(FALSE); } /*********************************************************************** diff --git a/reactos/dll/win32/browseui/browseuiord.cpp b/reactos/dll/win32/browseui/browseuiord.cpp index 6cacfa2c44d..4ad2d87dffd 100644 --- a/reactos/dll/win32/browseui/browseuiord.cpp +++ b/reactos/dll/win32/browseui/browseuiord.cpp @@ -27,7 +27,7 @@ extern DWORD WINAPI BrowserThreadProc(LPVOID lpThreadParameter); */ extern "C" void WINAPI InitOCHostClass(long param8) { - // forwards to shdocvw + // forwards to shdocvw } /************************************************************************* @@ -35,7 +35,7 @@ extern "C" void WINAPI InitOCHostClass(long param8) */ extern "C" long WINAPI SHOpenFolderWindow(IEThreadParamBlock *param8) { - return 0; + return 0; } /************************************************************************* @@ -52,7 +52,7 @@ extern "C" void WINAPI SHCreateSavedWindows() */ extern "C" long WINAPI SHCreateFromDesktop(long param8) { - return -1; + return -1; } /************************************************************************* @@ -60,7 +60,7 @@ extern "C" long WINAPI SHCreateFromDesktop(long param8) */ extern "C" long WINAPI SHExplorerParseCmdLine(LPCTSTR commandLine) { - return -1; + return -1; } /************************************************************************* @@ -75,7 +75,7 @@ extern "C" void WINAPI UEMRegisterNotify(long param8, long paramC) */ extern "C" HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -83,7 +83,7 @@ extern "C" HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *pa */ extern "C" HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -91,29 +91,29 @@ extern "C" HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC */ extern "C" long WINAPI IDataObject_GetDeskBandState(long param8) { - return -1; + return -1; } /************************************************************************* * SHCreateIETHREADPARAM [BROWSEUI.123] */ extern "C" IEThreadParamBlock *WINAPI SHCreateIETHREADPARAM( - long param8, long paramC, IUnknown *param10, IUnknown *param14) + long param8, long paramC, IUnknown *param10, IUnknown *param14) { - IEThreadParamBlock *result; + IEThreadParamBlock *result; - result = (IEThreadParamBlock *)LocalAlloc(LMEM_ZEROINIT, 256); - if (result == NULL) - return NULL; - result->offset0 = param8; - result->offset8 = paramC; - result->offsetC = param10; - if (param10 != NULL) - param10->AddRef(); - result->offset14 = param14; - if (param14 != NULL) - param14->AddRef(); - return result; + result = (IEThreadParamBlock *)LocalAlloc(LMEM_ZEROINIT, 256); + if (result == NULL) + return NULL; + result->offset0 = param8; + result->offset8 = paramC; + result->offsetC = param10; + if (param10 != NULL) + param10->AddRef(); + result->offset14 = param14; + if (param14 != NULL) + param14->AddRef(); + return result; } /************************************************************************* @@ -121,25 +121,25 @@ extern "C" IEThreadParamBlock *WINAPI SHCreateIETHREADPARAM( */ extern "C" IEThreadParamBlock *WINAPI SHCloneIETHREADPARAM(IEThreadParamBlock *param) { - IEThreadParamBlock *result; + IEThreadParamBlock *result; - result = (IEThreadParamBlock *)LocalAlloc(LMEM_FIXED, 256); - if (result == NULL) - return NULL; - memcpy(result, param, 0x40 * 4); - if (result->directoryPIDL != NULL) - result->directoryPIDL = ILClone(result->directoryPIDL); - if (result->offset7C != NULL) - result->offset7C = ILClone(result->offset7C); - if (result->offset80 != NULL) - result->offset80 = ILClone(result->offset80); - if (result->offset70 != NULL) - result->offset70->AddRef(); + result = (IEThreadParamBlock *)LocalAlloc(LMEM_FIXED, 256); + if (result == NULL) + return NULL; + memcpy(result, param, 0x40 * 4); + if (result->directoryPIDL != NULL) + result->directoryPIDL = ILClone(result->directoryPIDL); + if (result->offset7C != NULL) + result->offset7C = ILClone(result->offset7C); + if (result->offset80 != NULL) + result->offset80 = ILClone(result->offset80); + if (result->offset70 != NULL) + result->offset70->AddRef(); #if 0 - if (result->offsetC != NULL) - result->offsetC->Method2C(); + if (result->offsetC != NULL) + result->offsetC->Method2C(); #endif - return result; + return result; } /************************************************************************* @@ -147,7 +147,7 @@ extern "C" IEThreadParamBlock *WINAPI SHCloneIETHREADPARAM(IEThreadParamBlock *p */ extern "C" long WINAPI SHParseIECommandLine(long param8, long paramC) { - return -1; + return -1; } /************************************************************************* @@ -155,25 +155,25 @@ extern "C" long WINAPI SHParseIECommandLine(long param8, long paramC) */ extern "C" void WINAPI SHDestroyIETHREADPARAM(IEThreadParamBlock *param) { - if (param == NULL) - return; - if (param->directoryPIDL != NULL) - ILFree(param->directoryPIDL); - if (param->offset7C != NULL) - ILFree(param->offset7C); - if ((param->offset4 & 0x80000) == 0 && param->offset80 != NULL) - ILFree(param->offset80); - if (param->offset14 != NULL) - param->offset14->Release(); - if (param->offset70 != NULL) - param->offset70->Release(); - if (param->offset78 != NULL) - param->offset78->Release(); - if (param->offsetC != NULL) - param->offsetC->Release(); - if (param->offsetF8 != NULL) - param->offsetF8->Release(); - LocalFree(param); + if (param == NULL) + return; + if (param->directoryPIDL != NULL) + ILFree(param->directoryPIDL); + if (param->offset7C != NULL) + ILFree(param->offset7C); + if ((param->offset4 & 0x80000) == 0 && param->offset80 != NULL) + ILFree(param->offset80); + if (param->offset14 != NULL) + param->offset14->Release(); + if (param->offset70 != NULL) + param->offset70->Release(); + if (param->offset78 != NULL) + param->offset78->Release(); + if (param->offsetC != NULL) + param->offsetC->Release(); + if (param->offsetF8 != NULL) + param->offsetF8->Release(); + LocalFree(param); } /************************************************************************* @@ -181,7 +181,7 @@ extern "C" void WINAPI SHDestroyIETHREADPARAM(IEThreadParamBlock *param) */ extern "C" HRESULT WINAPI SHOnCWMCommandLine(long param8) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -189,7 +189,7 @@ extern "C" HRESULT WINAPI SHOnCWMCommandLine(long param8) */ extern "C" LPITEMIDLIST WINAPI Channel_GetFolderPidl() { - return NULL; + return NULL; } /************************************************************************* @@ -197,7 +197,7 @@ extern "C" LPITEMIDLIST WINAPI Channel_GetFolderPidl() */ extern "C" IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl) { - return NULL; + return NULL; } /************************************************************************* @@ -205,7 +205,7 @@ extern "C" IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl) */ extern "C" HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -213,7 +213,7 @@ extern "C" HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8) */ extern "C" HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -221,7 +221,7 @@ extern "C" HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC) */ extern "C" HRESULT WINAPI Channel_QuickLaunch() { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -229,7 +229,7 @@ extern "C" HRESULT WINAPI Channel_QuickLaunch() */ extern "C" HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -237,7 +237,7 @@ extern "C" HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long par */ extern "C" HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -245,16 +245,16 @@ extern "C" HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *para */ extern "C" HRESULT WINAPI SHEnumClassesOfCategories(long param8, long paramC, long param10, long param14, long param18) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* * SHWriteClassesOfCategories [BROWSEUI.137] */ extern "C" HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, - long param14, long param18, long param1C, long param20) + long param14, long param18, long param1C, long param20) { - return E_NOTIMPL; + return E_NOTIMPL; } /************************************************************************* @@ -262,7 +262,7 @@ extern "C" HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, l */ extern "C" BOOL WINAPI SHIsExplorerBrowser() { - return TRUE; + return TRUE; } // 75FA56C1h @@ -274,26 +274,26 @@ extern "C" BOOL WINAPI SHIsExplorerBrowser() */ extern "C" HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, long param14) { - IEThreadParamBlock *parameters; - HANDLE threadHandle; - DWORD threadID; + IEThreadParamBlock *parameters; + HANDLE threadHandle; + DWORD threadID; - parameters = SHCreateIETHREADPARAM(0, 1, paramC, NULL); - if (parameters == NULL) - { - ILFree(pidl); - return E_OUTOFMEMORY; - } - if (paramC != NULL) - parameters->offset10 = param10; - parameters->directoryPIDL = pidl; - parameters->offset4 = param14; - threadHandle = CreateThread(NULL, 0x10000, BrowserThreadProc, parameters, 0, &threadID); - if (threadHandle != NULL) - { - CloseHandle(threadHandle); - return S_OK; - } - SHDestroyIETHREADPARAM(parameters); - return E_FAIL; + parameters = SHCreateIETHREADPARAM(0, 1, paramC, NULL); + if (parameters == NULL) + { + ILFree(pidl); + return E_OUTOFMEMORY; + } + if (paramC != NULL) + parameters->offset10 = param10; + parameters->directoryPIDL = pidl; + parameters->offset4 = param14; + threadHandle = CreateThread(NULL, 0x10000, BrowserThreadProc, parameters, 0, &threadID); + if (threadHandle != NULL) + { + CloseHandle(threadHandle); + return S_OK; + } + SHDestroyIETHREADPARAM(parameters); + return E_FAIL; } diff --git a/reactos/dll/win32/browseui/commonbrowser.cpp b/reactos/dll/win32/browseui/commonbrowser.cpp index a86eed4fc9e..7294b7ce408 100644 --- a/reactos/dll/win32/browseui/commonbrowser.cpp +++ b/reactos/dll/win32/browseui/commonbrowser.cpp @@ -30,627 +30,627 @@ CCommonBrowser::~CCommonBrowser() HRESULT STDMETHODCALLTYPE CCommonBrowser::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetParentSite(IOleInPlaceSite **ppipsite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetTitle(IShellView *psv, LPCWSTR pszName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetOleObject(IOleObject **ppobjv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetTravelLog(ITravelLog **pptl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::ShowControlWindow(UINT id, BOOL fShow) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::IsControlWindowShown(UINT id, BOOL *pfShown) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::DisplayParseError(HRESULT hres, LPCWSTR pwszPath) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetNavigateState(BNSTATE bnstate) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetNavigateState(BNSTATE *pbnstate) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::UpdateWindowList() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::UpdateBackForwardState() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetFlags(DWORD dwFlags, DWORD dwFlagMask) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetFlags(DWORD *pdwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::CanNavigateNow( void) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetPidl(LPCITEMIDLIST *ppidl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetReferrer(LPCITEMIDLIST pidl) { - return E_NOTIMPL; + return E_NOTIMPL; } DWORD STDMETHODCALLTYPE CCommonBrowser::GetBrowserIndex() { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetBrowserByIndex(DWORD dwID, IUnknown **ppunk) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::CacheOLEServer(IOleObject *pole) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnHttpEquiv(IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetPalette(HPALETTE *hpal) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::RegisterWindow(BOOL fForceRegister, int swc) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CCommonBrowser::WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetAsDefFolderSettings() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetViewRect(RECT *prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnSize(WPARAM wParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnCreate(struct tagCREATESTRUCTW *pcs) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CCommonBrowser::OnCommand(WPARAM wParam, LPARAM lParam) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnDestroy() { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CCommonBrowser::OnNotify(struct tagNMHDR *pnm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnSetFocus() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnFrameWindowActivateBS(BOOL fActive) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::ReleaseShellView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::ActivatePendingView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::CreateViewWindow( - IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd) + IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::CreateBrowserPropSheetExt(REFIID riid, void **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetViewWindow(HWND *phwndView) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd) { - return E_NOTIMPL; + return E_NOTIMPL; } LPBASEBROWSERDATA CCommonBrowser::PutBaseBrowserData() { - return NULL; + return NULL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::InitializeTravelLog(ITravelLog *ptl, DWORD dw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetTopBrowser() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::Offline(int iCmd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::AllowViewResize(BOOL f) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetActivateState(UINT u) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::UpdateSecureLockIcon(int eSecureLock) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::InitializeDownloadManager() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::InitializeTransitionSite() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_Initialize(HWND hwnd, IUnknown *pauto) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_CancelPendingNavigationAsync( void) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_CancelPendingView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_MaySaveChanges() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_PauseOrResumeView(BOOL fPaused) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_DisableModeless() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_SwitchActivationNow() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_ExecChildren(IUnknown *punkBar, BOOL fBroadcast, - const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut) + const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_SendChildren( - HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam) + HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetFolderSetData(struct tagFolderSetData *pfsd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_OnFocusChange(UINT itb) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::v_ShowHideChildWindows(BOOL fChildOnly) { - return E_NOTIMPL; + return E_NOTIMPL; } UINT STDMETHODCALLTYPE CCommonBrowser::_get_itbLastFocus() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_put_itbLastFocus(UINT itbLastFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_UIActivateView(UINT uState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_GetViewBorderRect(RECT *prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_UpdateViewRectSize() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_ResizeNextBorder(UINT itb) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_ResizeView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon) { - return E_NOTIMPL; + return E_NOTIMPL; } IStream *STDMETHODCALLTYPE CCommonBrowser::v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName) { - return NULL; + return NULL; } LRESULT STDMETHODCALLTYPE CCommonBrowser::ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetAcceleratorMenu(HACCEL hacc) { - return E_NOTIMPL; + return E_NOTIMPL; } int STDMETHODCALLTYPE CCommonBrowser::_GetToolbarCount() { - return 0; + return 0; } LPTOOLBARITEM STDMETHODCALLTYPE CCommonBrowser::_GetToolbarItem(int itb) { - return NULL; + return NULL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_SaveToolbars(IStream *pstm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_LoadToolbars(IStream *pstm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_CloseAndReleaseToolbars(BOOL fClose) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::v_MayGetNextToolbarFocus(LPMSG lpMsg, UINT itbNext, - int citb, LPTOOLBARITEM *pptbi, HWND *phwnd) + int citb, LPTOOLBARITEM *pptbi, HWND *phwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor) { - return E_NOTIMPL; + return E_NOTIMPL; } UINT STDMETHODCALLTYPE CCommonBrowser::_FindTBar(IUnknown *punkSrc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::v_MayTranslateAccelerator(MSG *pmsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::v_CheckZoneCrossing(LPCITEMIDLIST pidl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::_PositionViewWindow(HWND *, RECT *) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::IEParseDisplayNameEx( - unsigned int, const unsigned short *, DWORD, LPITEMIDLIST *) + unsigned int, const unsigned short *, DWORD, LPITEMIDLIST *) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::RemoveMenusSB(HMENU hmenuShared) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetStatusTextSB(LPCOLESTR pszStatusText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::EnableModelessSB(BOOL fEnable) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::TranslateAcceleratorSB(MSG *pmsg, WORD wID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::BrowseObject(LPCITEMIDLIST pidl, UINT wFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetViewStateStream(DWORD grfMode, IStream **ppStrm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetControlWindow(UINT id, HWND *lphwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::QueryActiveShellView(struct IShellView **ppshv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnViewWindowActive(struct IShellView *ppshv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetPropertyBag(long flags, REFIID riid, void **ppvObject) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetWindow(HWND *lphwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::GetBorderDW(IUnknown* punkObj, LPRECT prcBorder) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::AddToolbar(IUnknown *punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::RemoveToolbar(IUnknown *punkSrc, DWORD dwRemoveFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::FindToolbar(LPCWSTR pwszItem, REFIID riid, void **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::DragLeave() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CCommonBrowser::Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } diff --git a/reactos/dll/win32/browseui/commonbrowser.h b/reactos/dll/win32/browseui/commonbrowser.h index af671b4c120..b60c87034b3 100644 --- a/reactos/dll/win32/browseui/commonbrowser.h +++ b/reactos/dll/win32/browseui/commonbrowser.h @@ -21,187 +21,187 @@ #pragma once class CCommonBrowser : - public CComCoClass, - public CComObjectRootEx, - public IServiceProvider, - public IOleCommandTarget, - public IBrowserService3, - public IShellBrowser, - public IShellBrowserService, - public IDockingWindowSite, - public IDockingWindowFrame, - public IInputObjectSite, - public IDropTarget + public CComCoClass, + public CComObjectRootEx, + public IServiceProvider, + public IOleCommandTarget, + public IBrowserService3, + public IShellBrowser, + public IShellBrowserService, + public IDockingWindowSite, + public IDockingWindowFrame, + public IInputObjectSite, + public IDropTarget { private: public: - CCommonBrowser(); - ~CCommonBrowser(); + CCommonBrowser(); + ~CCommonBrowser(); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IBrowserService methods *** - virtual HRESULT STDMETHODCALLTYPE GetParentSite(IOleInPlaceSite **ppipsite); - virtual HRESULT STDMETHODCALLTYPE SetTitle(IShellView *psv, LPCWSTR pszName); - virtual HRESULT STDMETHODCALLTYPE GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName); - virtual HRESULT STDMETHODCALLTYPE GetOleObject(IOleObject **ppobjv); - virtual HRESULT STDMETHODCALLTYPE GetTravelLog(ITravelLog **pptl); - virtual HRESULT STDMETHODCALLTYPE ShowControlWindow(UINT id, BOOL fShow); - virtual HRESULT STDMETHODCALLTYPE IsControlWindowShown(UINT id, BOOL *pfShown); - virtual HRESULT STDMETHODCALLTYPE IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags); - virtual HRESULT STDMETHODCALLTYPE IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut); - virtual HRESULT STDMETHODCALLTYPE DisplayParseError(HRESULT hres, LPCWSTR pwszPath); - virtual HRESULT STDMETHODCALLTYPE NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF); - virtual HRESULT STDMETHODCALLTYPE SetNavigateState(BNSTATE bnstate); - virtual HRESULT STDMETHODCALLTYPE GetNavigateState(BNSTATE *pbnstate); - virtual HRESULT STDMETHODCALLTYPE NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse); - virtual HRESULT STDMETHODCALLTYPE UpdateWindowList(); - virtual HRESULT STDMETHODCALLTYPE UpdateBackForwardState(); - virtual HRESULT STDMETHODCALLTYPE SetFlags(DWORD dwFlags, DWORD dwFlagMask); - virtual HRESULT STDMETHODCALLTYPE GetFlags(DWORD *pdwFlags); - virtual HRESULT STDMETHODCALLTYPE CanNavigateNow(); - virtual HRESULT STDMETHODCALLTYPE GetPidl(LPCITEMIDLIST *ppidl); - virtual HRESULT STDMETHODCALLTYPE SetReferrer(LPCITEMIDLIST pidl); - virtual DWORD STDMETHODCALLTYPE GetBrowserIndex(); - virtual HRESULT STDMETHODCALLTYPE GetBrowserByIndex(DWORD dwID, IUnknown **ppunk); - virtual HRESULT STDMETHODCALLTYPE GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc); - virtual HRESULT STDMETHODCALLTYPE SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor); - virtual HRESULT STDMETHODCALLTYPE CacheOLEServer(IOleObject *pole); - virtual HRESULT STDMETHODCALLTYPE GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut); - virtual HRESULT STDMETHODCALLTYPE OnHttpEquiv(IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut); - virtual HRESULT STDMETHODCALLTYPE GetPalette(HPALETTE *hpal); - virtual HRESULT STDMETHODCALLTYPE RegisterWindow(BOOL fForceRegister, int swc); + // *** IBrowserService methods *** + virtual HRESULT STDMETHODCALLTYPE GetParentSite(IOleInPlaceSite **ppipsite); + virtual HRESULT STDMETHODCALLTYPE SetTitle(IShellView *psv, LPCWSTR pszName); + virtual HRESULT STDMETHODCALLTYPE GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName); + virtual HRESULT STDMETHODCALLTYPE GetOleObject(IOleObject **ppobjv); + virtual HRESULT STDMETHODCALLTYPE GetTravelLog(ITravelLog **pptl); + virtual HRESULT STDMETHODCALLTYPE ShowControlWindow(UINT id, BOOL fShow); + virtual HRESULT STDMETHODCALLTYPE IsControlWindowShown(UINT id, BOOL *pfShown); + virtual HRESULT STDMETHODCALLTYPE IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags); + virtual HRESULT STDMETHODCALLTYPE IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut); + virtual HRESULT STDMETHODCALLTYPE DisplayParseError(HRESULT hres, LPCWSTR pwszPath); + virtual HRESULT STDMETHODCALLTYPE NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF); + virtual HRESULT STDMETHODCALLTYPE SetNavigateState(BNSTATE bnstate); + virtual HRESULT STDMETHODCALLTYPE GetNavigateState(BNSTATE *pbnstate); + virtual HRESULT STDMETHODCALLTYPE NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse); + virtual HRESULT STDMETHODCALLTYPE UpdateWindowList(); + virtual HRESULT STDMETHODCALLTYPE UpdateBackForwardState(); + virtual HRESULT STDMETHODCALLTYPE SetFlags(DWORD dwFlags, DWORD dwFlagMask); + virtual HRESULT STDMETHODCALLTYPE GetFlags(DWORD *pdwFlags); + virtual HRESULT STDMETHODCALLTYPE CanNavigateNow(); + virtual HRESULT STDMETHODCALLTYPE GetPidl(LPCITEMIDLIST *ppidl); + virtual HRESULT STDMETHODCALLTYPE SetReferrer(LPCITEMIDLIST pidl); + virtual DWORD STDMETHODCALLTYPE GetBrowserIndex(); + virtual HRESULT STDMETHODCALLTYPE GetBrowserByIndex(DWORD dwID, IUnknown **ppunk); + virtual HRESULT STDMETHODCALLTYPE GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc); + virtual HRESULT STDMETHODCALLTYPE SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor); + virtual HRESULT STDMETHODCALLTYPE CacheOLEServer(IOleObject *pole); + virtual HRESULT STDMETHODCALLTYPE GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut); + virtual HRESULT STDMETHODCALLTYPE OnHttpEquiv(IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut); + virtual HRESULT STDMETHODCALLTYPE GetPalette(HPALETTE *hpal); + virtual HRESULT STDMETHODCALLTYPE RegisterWindow(BOOL fForceRegister, int swc); - // *** IBrowserService2 methods *** - virtual LRESULT STDMETHODCALLTYPE WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE SetAsDefFolderSettings(); - virtual HRESULT STDMETHODCALLTYPE GetViewRect(RECT *prc); - virtual HRESULT STDMETHODCALLTYPE OnSize(WPARAM wParam); - virtual HRESULT STDMETHODCALLTYPE OnCreate(struct tagCREATESTRUCTW *pcs); - virtual LRESULT STDMETHODCALLTYPE OnCommand(WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE OnDestroy(); - virtual LRESULT STDMETHODCALLTYPE OnNotify(struct tagNMHDR *pnm); - virtual HRESULT STDMETHODCALLTYPE OnSetFocus(); - virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivateBS(BOOL fActive); - virtual HRESULT STDMETHODCALLTYPE ReleaseShellView(); - virtual HRESULT STDMETHODCALLTYPE ActivatePendingView(); - virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd); - virtual HRESULT STDMETHODCALLTYPE CreateBrowserPropSheetExt(REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE GetViewWindow(HWND *phwndView); - virtual HRESULT STDMETHODCALLTYPE GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd); - virtual LPBASEBROWSERDATA STDMETHODCALLTYPE PutBaseBrowserData(); - virtual HRESULT STDMETHODCALLTYPE InitializeTravelLog(ITravelLog *ptl, DWORD dw); - virtual HRESULT STDMETHODCALLTYPE SetTopBrowser(); - virtual HRESULT STDMETHODCALLTYPE Offline(int iCmd); - virtual HRESULT STDMETHODCALLTYPE AllowViewResize(BOOL f); - virtual HRESULT STDMETHODCALLTYPE SetActivateState(UINT u); - virtual HRESULT STDMETHODCALLTYPE UpdateSecureLockIcon(int eSecureLock); - virtual HRESULT STDMETHODCALLTYPE InitializeDownloadManager(); - virtual HRESULT STDMETHODCALLTYPE InitializeTransitionSite(); - virtual HRESULT STDMETHODCALLTYPE _Initialize(HWND hwnd, IUnknown *pauto); - virtual HRESULT STDMETHODCALLTYPE _CancelPendingNavigationAsync(); - virtual HRESULT STDMETHODCALLTYPE _CancelPendingView(); - virtual HRESULT STDMETHODCALLTYPE _MaySaveChanges(); - virtual HRESULT STDMETHODCALLTYPE _PauseOrResumeView(BOOL fPaused); - virtual HRESULT STDMETHODCALLTYPE _DisableModeless(); - virtual HRESULT STDMETHODCALLTYPE _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags); - virtual HRESULT STDMETHODCALLTYPE _TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew); - virtual HRESULT STDMETHODCALLTYPE _SwitchActivationNow(); - virtual HRESULT STDMETHODCALLTYPE _ExecChildren(IUnknown *punkBar, BOOL fBroadcast, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut); - virtual HRESULT STDMETHODCALLTYPE _SendChildren(HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE GetFolderSetData(struct tagFolderSetData *pfsd); - virtual HRESULT STDMETHODCALLTYPE _OnFocusChange(UINT itb); - virtual HRESULT STDMETHODCALLTYPE v_ShowHideChildWindows(BOOL fChildOnly); - virtual UINT STDMETHODCALLTYPE _get_itbLastFocus(); - virtual HRESULT STDMETHODCALLTYPE _put_itbLastFocus(UINT itbLastFocus); - virtual HRESULT STDMETHODCALLTYPE _UIActivateView(UINT uState); - virtual HRESULT STDMETHODCALLTYPE _GetViewBorderRect(RECT *prc); - virtual HRESULT STDMETHODCALLTYPE _UpdateViewRectSize(); - virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorder(UINT itb); - virtual HRESULT STDMETHODCALLTYPE _ResizeView(); - virtual HRESULT STDMETHODCALLTYPE _GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon); - virtual IStream *STDMETHODCALLTYPE v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName); - virtual LRESULT STDMETHODCALLTYPE ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE SetAcceleratorMenu(HACCEL hacc); - virtual int STDMETHODCALLTYPE _GetToolbarCount(); - virtual LPTOOLBARITEM STDMETHODCALLTYPE _GetToolbarItem(int itb); - virtual HRESULT STDMETHODCALLTYPE _SaveToolbars(IStream *pstm); - virtual HRESULT STDMETHODCALLTYPE _LoadToolbars(IStream *pstm); - virtual HRESULT STDMETHODCALLTYPE _CloseAndReleaseToolbars(BOOL fClose); - virtual HRESULT STDMETHODCALLTYPE v_MayGetNextToolbarFocus(LPMSG lpMsg, UINT itbNext, int citb, LPTOOLBARITEM *pptbi, HWND *phwnd); - virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor); - virtual UINT STDMETHODCALLTYPE _FindTBar(IUnknown *punkSrc); - virtual HRESULT STDMETHODCALLTYPE _SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE v_MayTranslateAccelerator(MSG *pmsg); - virtual HRESULT STDMETHODCALLTYPE _GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor); - virtual HRESULT STDMETHODCALLTYPE v_CheckZoneCrossing(LPCITEMIDLIST pidl); + // *** IBrowserService2 methods *** + virtual LRESULT STDMETHODCALLTYPE WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE SetAsDefFolderSettings(); + virtual HRESULT STDMETHODCALLTYPE GetViewRect(RECT *prc); + virtual HRESULT STDMETHODCALLTYPE OnSize(WPARAM wParam); + virtual HRESULT STDMETHODCALLTYPE OnCreate(struct tagCREATESTRUCTW *pcs); + virtual LRESULT STDMETHODCALLTYPE OnCommand(WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE OnDestroy(); + virtual LRESULT STDMETHODCALLTYPE OnNotify(struct tagNMHDR *pnm); + virtual HRESULT STDMETHODCALLTYPE OnSetFocus(); + virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivateBS(BOOL fActive); + virtual HRESULT STDMETHODCALLTYPE ReleaseShellView(); + virtual HRESULT STDMETHODCALLTYPE ActivatePendingView(); + virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd); + virtual HRESULT STDMETHODCALLTYPE CreateBrowserPropSheetExt(REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE GetViewWindow(HWND *phwndView); + virtual HRESULT STDMETHODCALLTYPE GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd); + virtual LPBASEBROWSERDATA STDMETHODCALLTYPE PutBaseBrowserData(); + virtual HRESULT STDMETHODCALLTYPE InitializeTravelLog(ITravelLog *ptl, DWORD dw); + virtual HRESULT STDMETHODCALLTYPE SetTopBrowser(); + virtual HRESULT STDMETHODCALLTYPE Offline(int iCmd); + virtual HRESULT STDMETHODCALLTYPE AllowViewResize(BOOL f); + virtual HRESULT STDMETHODCALLTYPE SetActivateState(UINT u); + virtual HRESULT STDMETHODCALLTYPE UpdateSecureLockIcon(int eSecureLock); + virtual HRESULT STDMETHODCALLTYPE InitializeDownloadManager(); + virtual HRESULT STDMETHODCALLTYPE InitializeTransitionSite(); + virtual HRESULT STDMETHODCALLTYPE _Initialize(HWND hwnd, IUnknown *pauto); + virtual HRESULT STDMETHODCALLTYPE _CancelPendingNavigationAsync(); + virtual HRESULT STDMETHODCALLTYPE _CancelPendingView(); + virtual HRESULT STDMETHODCALLTYPE _MaySaveChanges(); + virtual HRESULT STDMETHODCALLTYPE _PauseOrResumeView(BOOL fPaused); + virtual HRESULT STDMETHODCALLTYPE _DisableModeless(); + virtual HRESULT STDMETHODCALLTYPE _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE _TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew); + virtual HRESULT STDMETHODCALLTYPE _SwitchActivationNow(); + virtual HRESULT STDMETHODCALLTYPE _ExecChildren(IUnknown *punkBar, BOOL fBroadcast, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut); + virtual HRESULT STDMETHODCALLTYPE _SendChildren(HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE GetFolderSetData(struct tagFolderSetData *pfsd); + virtual HRESULT STDMETHODCALLTYPE _OnFocusChange(UINT itb); + virtual HRESULT STDMETHODCALLTYPE v_ShowHideChildWindows(BOOL fChildOnly); + virtual UINT STDMETHODCALLTYPE _get_itbLastFocus(); + virtual HRESULT STDMETHODCALLTYPE _put_itbLastFocus(UINT itbLastFocus); + virtual HRESULT STDMETHODCALLTYPE _UIActivateView(UINT uState); + virtual HRESULT STDMETHODCALLTYPE _GetViewBorderRect(RECT *prc); + virtual HRESULT STDMETHODCALLTYPE _UpdateViewRectSize(); + virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorder(UINT itb); + virtual HRESULT STDMETHODCALLTYPE _ResizeView(); + virtual HRESULT STDMETHODCALLTYPE _GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon); + virtual IStream *STDMETHODCALLTYPE v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName); + virtual LRESULT STDMETHODCALLTYPE ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE SetAcceleratorMenu(HACCEL hacc); + virtual int STDMETHODCALLTYPE _GetToolbarCount(); + virtual LPTOOLBARITEM STDMETHODCALLTYPE _GetToolbarItem(int itb); + virtual HRESULT STDMETHODCALLTYPE _SaveToolbars(IStream *pstm); + virtual HRESULT STDMETHODCALLTYPE _LoadToolbars(IStream *pstm); + virtual HRESULT STDMETHODCALLTYPE _CloseAndReleaseToolbars(BOOL fClose); + virtual HRESULT STDMETHODCALLTYPE v_MayGetNextToolbarFocus(LPMSG lpMsg, UINT itbNext, int citb, LPTOOLBARITEM *pptbi, HWND *phwnd); + virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor); + virtual UINT STDMETHODCALLTYPE _FindTBar(IUnknown *punkSrc); + virtual HRESULT STDMETHODCALLTYPE _SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE v_MayTranslateAccelerator(MSG *pmsg); + virtual HRESULT STDMETHODCALLTYPE _GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor); + virtual HRESULT STDMETHODCALLTYPE v_CheckZoneCrossing(LPCITEMIDLIST pidl); - // *** IBrowserService3 methods *** - virtual HRESULT STDMETHODCALLTYPE _PositionViewWindow(HWND *, RECT *); - virtual HRESULT STDMETHODCALLTYPE IEParseDisplayNameEx(unsigned int, const unsigned short *, DWORD, LPITEMIDLIST *); + // *** IBrowserService3 methods *** + virtual HRESULT STDMETHODCALLTYPE _PositionViewWindow(HWND *, RECT *); + virtual HRESULT STDMETHODCALLTYPE IEParseDisplayNameEx(unsigned int, const unsigned short *, DWORD, LPITEMIDLIST *); - // *** IShellBrowser methods *** - virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); - virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject); - virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared); - virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(LPCOLESTR pszStatusText); - virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(BOOL fEnable); - virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(MSG *pmsg, WORD wID); - virtual HRESULT STDMETHODCALLTYPE BrowseObject(LPCITEMIDLIST pidl, UINT wFlags); - virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(DWORD grfMode, IStream **ppStrm); - virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret); - virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(struct IShellView **ppshv); - virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(struct IShellView *ppshv); - virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags); + // *** IShellBrowser methods *** + virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); + virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject); + virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared); + virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(LPCOLESTR pszStatusText); + virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(BOOL fEnable); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(MSG *pmsg, WORD wID); + virtual HRESULT STDMETHODCALLTYPE BrowseObject(LPCITEMIDLIST pidl, UINT wFlags); + virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(DWORD grfMode, IStream **ppStrm); + virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret); + virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(struct IShellView **ppshv); + virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(struct IShellView *ppshv); + virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags); - // *** IShellBowserService methods *** - virtual HRESULT STDMETHODCALLTYPE GetPropertyBag(long flags, REFIID riid, void **ppvObject); + // *** IShellBowserService methods *** + virtual HRESULT STDMETHODCALLTYPE GetPropertyBag(long flags, REFIID riid, void **ppvObject); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindowSite methods *** - virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); - virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + // *** IDockingWindowSite methods *** + virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); + virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - // *** IDockingWindowFrame methods *** - virtual HRESULT STDMETHODCALLTYPE AddToolbar(IUnknown *punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); - virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(IUnknown *punkSrc, DWORD dwRemoveFlags); - virtual HRESULT STDMETHODCALLTYPE FindToolbar(LPCWSTR pwszItem, REFIID riid, void **ppv); + // *** IDockingWindowFrame methods *** + virtual HRESULT STDMETHODCALLTYPE AddToolbar(IUnknown *punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); + virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(IUnknown *punkSrc, DWORD dwRemoveFlags); + virtual HRESULT STDMETHODCALLTYPE FindToolbar(LPCWSTR pwszItem, REFIID riid, void **ppv); - // *** IInputObjectSite specific methods *** - virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); + // *** IInputObjectSite specific methods *** + virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); - // *** IDropTarget methods *** - virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragLeave(); - virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + // *** IDropTarget methods *** + virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragLeave(); + virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - DECLARE_REGISTRY_RESOURCEID(IDR_COMMONBROWSER) + DECLARE_REGISTRY_RESOURCEID(IDR_COMMONBROWSER) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CCommonBrowser) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IBrowserService, IBrowserService) - COM_INTERFACE_ENTRY_IID(IID_IBrowserService2, IBrowserService2) - COM_INTERFACE_ENTRY_IID(IID_IBrowserService3, IBrowserService3) - COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) - COM_INTERFACE_ENTRY_IID(IID_IShellBrowserService, IShellBrowserService) - COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindowFrame, IDockingWindowFrame) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) - END_COM_MAP() + BEGIN_COM_MAP(CCommonBrowser) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IBrowserService, IBrowserService) + COM_INTERFACE_ENTRY_IID(IID_IBrowserService2, IBrowserService2) + COM_INTERFACE_ENTRY_IID(IID_IBrowserService3, IBrowserService3) + COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) + COM_INTERFACE_ENTRY_IID(IID_IShellBrowserService, IShellBrowserService) + COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindowFrame, IDockingWindowFrame) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/globalfoldersettings.cpp b/reactos/dll/win32/browseui/globalfoldersettings.cpp index 4dbfc6de3fd..1504446bf09 100644 --- a/reactos/dll/win32/browseui/globalfoldersettings.cpp +++ b/reactos/dll/win32/browseui/globalfoldersettings.cpp @@ -30,11 +30,11 @@ CGlobalFolderSettings::~CGlobalFolderSettings() HRESULT STDMETHODCALLTYPE CGlobalFolderSettings::Get(DEFFOLDERSETTINGS *paramC, int param10) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CGlobalFolderSettings::Set( const DEFFOLDERSETTINGS *paramC, int param10, unsigned int param14) { - return E_NOTIMPL; + return E_NOTIMPL; } diff --git a/reactos/dll/win32/browseui/globalfoldersettings.h b/reactos/dll/win32/browseui/globalfoldersettings.h index 18dba091593..e6e5493f2ce 100644 --- a/reactos/dll/win32/browseui/globalfoldersettings.h +++ b/reactos/dll/win32/browseui/globalfoldersettings.h @@ -21,25 +21,25 @@ #pragma once class CGlobalFolderSettings : - public CComCoClass, - public CComObjectRootEx, - public IGlobalFolderSettings + public CComCoClass, + public CComObjectRootEx, + public IGlobalFolderSettings { private: public: - CGlobalFolderSettings(); - ~CGlobalFolderSettings(); + CGlobalFolderSettings(); + ~CGlobalFolderSettings(); - // *** IGlobalFolderSettings methods *** - virtual HRESULT STDMETHODCALLTYPE Get(DEFFOLDERSETTINGS *paramC, int param10); - virtual HRESULT STDMETHODCALLTYPE Set(const DEFFOLDERSETTINGS *paramC, int param10, unsigned int param14); + // *** IGlobalFolderSettings methods *** + virtual HRESULT STDMETHODCALLTYPE Get(DEFFOLDERSETTINGS *paramC, int param10); + virtual HRESULT STDMETHODCALLTYPE Set(const DEFFOLDERSETTINGS *paramC, int param10, unsigned int param14); - DECLARE_REGISTRY_RESOURCEID(IDR_GLOBALFOLDERSETTINGS) - DECLARE_NOT_AGGREGATABLE(CGlobalFolderSettings) + DECLARE_REGISTRY_RESOURCEID(IDR_GLOBALFOLDERSETTINGS) + DECLARE_NOT_AGGREGATABLE(CGlobalFolderSettings) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CGlobalFolderSettings) - COM_INTERFACE_ENTRY_IID(IID_IGlobalFolderSettings, IGlobalFolderSettings) - END_COM_MAP() + BEGIN_COM_MAP(CGlobalFolderSettings) + COM_INTERFACE_ENTRY_IID(IID_IGlobalFolderSettings, IGlobalFolderSettings) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/internettoolbar.cpp b/reactos/dll/win32/browseui/internettoolbar.cpp index fd2ea6e24b4..03afce1932d 100644 --- a/reactos/dll/win32/browseui/internettoolbar.cpp +++ b/reactos/dll/win32/browseui/internettoolbar.cpp @@ -43,21 +43,21 @@ TODO: Implement show/hide of bands Why is the background color of my toolbars different from explorer? Internet Toolbar command handler should get the target for the command and call Exec on the target. - For commands built in to the Internet Toolbar, its Exec handles the command + For commands built in to the Internet Toolbar, its Exec handles the command When window width is changed, brand band flashes badly Add all bands with correct ids (system bands now add with correct ids) Implement IBandSite - Implement remaining IExplorerToolbar methods - Fix toolbar buttons to enable/disable correctly - After toolbar is customized, it may be necessary to patch the widths of separators - Add theme support - Check sizes and spacing of toolbars against Explorer - Implement resizing of the dock bar - Add missing icons for toolbar items - Draw History item in forward/back dropdown menus with icon - Fix toolbar customize dialog to not include separators as possible selections - Implement save/restore of toolbar state - Refactor drop down menu code to use a common function since code is so similar + Implement remaining IExplorerToolbar methods + Fix toolbar buttons to enable/disable correctly + After toolbar is customized, it may be necessary to patch the widths of separators + Add theme support + Check sizes and spacing of toolbars against Explorer + Implement resizing of the dock bar + Add missing icons for toolbar items + Draw History item in forward/back dropdown menus with icon + Fix toolbar customize dialog to not include separators as possible selections + Implement save/restore of toolbar state + Refactor drop down menu code to use a common function since code is so similar */ extern HRESULT WINAPI SHBindToFolder(LPITEMIDLIST path, IShellFolder **newFolder); @@ -69,78 +69,78 @@ extern HRESULT CreateAddressBand(REFIID riid, void **ppv); class CInternetToolbar; class CDockSite : - public CComObjectRootEx, - public IDockingWindowSite, - public IInputObjectSite, - public IOleCommandTarget, - public IServiceProvider + public CComObjectRootEx, + public IDockingWindowSite, + public IInputObjectSite, + public IOleCommandTarget, + public IServiceProvider { public: - enum { - ITF_NOGRIPPER = 1, - ITF_NOTITLE = 2, - ITF_NEWBANDALWAYS = 4, - ITF_GRIPPERALWAYS = 8, - ITF_FIXEDSIZE = 16 - }; + enum { + ITF_NOGRIPPER = 1, + ITF_NOTITLE = 2, + ITF_NEWBANDALWAYS = 4, + ITF_GRIPPERALWAYS = 8, + ITF_FIXEDSIZE = 16 + }; private: - CComPtr fContainedBand; // the band inside us - CInternetToolbar *fToolbar; // our browser - HWND fRebarWindow; - HWND fChildWindow; - int fBandID; + CComPtr fContainedBand; // the band inside us + CInternetToolbar *fToolbar; // our browser + HWND fRebarWindow; + HWND fChildWindow; + int fBandID; public: - int fFlags; + int fFlags; private: - bool fInitialized; - // fields of DESKBANDINFO must be preserved between calls to GetBandInfo - DESKBANDINFO fDeskBandInfo; + bool fInitialized; + // fields of DESKBANDINFO must be preserved between calls to GetBandInfo + DESKBANDINFO fDeskBandInfo; public: - CDockSite(); - ~CDockSite(); - HRESULT Initialize(IUnknown *containedBand, CInternetToolbar *browser, HWND hwnd, int bandID, int flags); - HRESULT GetRBBandInfo(REBARBANDINFOW &bandInfo); + CDockSite(); + ~CDockSite(); + HRESULT Initialize(IUnknown *containedBand, CInternetToolbar *browser, HWND hwnd, int bandID, int flags); + HRESULT GetRBBandInfo(REBARBANDINFOW &bandInfo); private: - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); - virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); + virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - // *** IInputObjectSite specific methods *** + // *** IInputObjectSite specific methods *** virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); - // *** IOleCommandTarget specific methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget specific methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); BEGIN_COM_MAP(CDockSite) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) END_COM_MAP() }; CDockSite::CDockSite() { - fToolbar = NULL; - fRebarWindow = NULL; - fChildWindow = NULL; - fBandID = 0; - fFlags = 0; - fInitialized = false; - memset(&fDeskBandInfo, 0, sizeof(fDeskBandInfo)); + fToolbar = NULL; + fRebarWindow = NULL; + fChildWindow = NULL; + fBandID = 0; + fFlags = 0; + fInitialized = false; + memset(&fDeskBandInfo, 0, sizeof(fDeskBandInfo)); } CDockSite::~CDockSite() @@ -149,186 +149,186 @@ CDockSite::~CDockSite() HRESULT CDockSite::Initialize(IUnknown *containedBand, CInternetToolbar *browser, HWND hwnd, int bandID, int flags) { - CComPtr site; - CComPtr oleWindow; - CComPtr deskBand; - TCHAR textBuffer[40]; - REBARBANDINFOW bandInfo; - HRESULT hResult; + CComPtr site; + CComPtr oleWindow; + CComPtr deskBand; + TCHAR textBuffer[40]; + REBARBANDINFOW bandInfo; + HRESULT hResult; - hResult = containedBand->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&site)); - if (FAILED(hResult)) - return hResult; - hResult = containedBand->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = containedBand->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); - if (FAILED(hResult)) - return hResult; - fContainedBand = containedBand; - fToolbar = browser; - fRebarWindow = hwnd; - fBandID = bandID; - fFlags = flags; - hResult = site->SetSite(static_cast(this)); - if (FAILED(hResult)) - return hResult; - hResult = oleWindow->GetWindow(&fChildWindow); - if (FAILED(hResult)) - return hResult; + hResult = containedBand->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&site)); + if (FAILED(hResult)) + return hResult; + hResult = containedBand->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = containedBand->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); + if (FAILED(hResult)) + return hResult; + fContainedBand = containedBand; + fToolbar = browser; + fRebarWindow = hwnd; + fBandID = bandID; + fFlags = flags; + hResult = site->SetSite(static_cast(this)); + if (FAILED(hResult)) + return hResult; + hResult = oleWindow->GetWindow(&fChildWindow); + if (FAILED(hResult)) + return hResult; - memset(&bandInfo, 0, sizeof(bandInfo)); - bandInfo.cbSize = sizeof(bandInfo); - bandInfo.lpText = textBuffer; - bandInfo.cch = sizeof(textBuffer) / sizeof(TCHAR); - hResult = GetRBBandInfo(bandInfo); + memset(&bandInfo, 0, sizeof(bandInfo)); + bandInfo.cbSize = sizeof(bandInfo); + bandInfo.lpText = textBuffer; + bandInfo.cch = sizeof(textBuffer) / sizeof(TCHAR); + hResult = GetRBBandInfo(bandInfo); - SendMessage(fRebarWindow, RB_GETBANDCOUNT, 0, 0); - SendMessage(fRebarWindow, RB_INSERTBANDW, -1, (LPARAM)&bandInfo); - fInitialized = true; - return S_OK; + SendMessage(fRebarWindow, RB_GETBANDCOUNT, 0, 0); + SendMessage(fRebarWindow, RB_INSERTBANDW, -1, (LPARAM)&bandInfo); + fInitialized = true; + return S_OK; } HRESULT CDockSite::GetRBBandInfo(REBARBANDINFOW &bandInfo) { - CComPtr deskBand; - HRESULT hResult; + CComPtr deskBand; + HRESULT hResult; - hResult = fContainedBand->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); - if (FAILED(hResult)) - return hResult; + hResult = fContainedBand->QueryInterface(IID_IDeskBand, reinterpret_cast(&deskBand)); + if (FAILED(hResult)) + return hResult; - fDeskBandInfo.dwMask = DBIM_BKCOLOR | DBIM_MODEFLAGS | DBIM_TITLE | DBIM_ACTUAL | - DBIM_INTEGRAL | DBIM_MAXSIZE | DBIM_MINSIZE; - hResult = deskBand->GetBandInfo(fBandID, 0, &fDeskBandInfo); - // result of call is ignored + fDeskBandInfo.dwMask = DBIM_BKCOLOR | DBIM_MODEFLAGS | DBIM_TITLE | DBIM_ACTUAL | + DBIM_INTEGRAL | DBIM_MAXSIZE | DBIM_MINSIZE; + hResult = deskBand->GetBandInfo(fBandID, 0, &fDeskBandInfo); + // result of call is ignored - bandInfo.fMask = RBBIM_LPARAM | RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_CHILDSIZE | RBBIM_CHILD | - RBBIM_TEXT | RBBIM_STYLE; + bandInfo.fMask = RBBIM_LPARAM | RBBIM_IDEALSIZE | RBBIM_ID | RBBIM_CHILDSIZE | RBBIM_CHILD | + RBBIM_TEXT | RBBIM_STYLE; - bandInfo.fStyle = RBBS_FIXEDBMP; - if (fDeskBandInfo.dwModeFlags & DBIMF_VARIABLEHEIGHT) - bandInfo.fStyle |= RBBS_VARIABLEHEIGHT; - if (fDeskBandInfo.dwModeFlags & DBIMF_USECHEVRON) - bandInfo.fStyle |= RBBS_USECHEVRON; - if (fDeskBandInfo.dwModeFlags & DBIMF_BREAK) - bandInfo.fStyle |= RBBS_BREAK; - if (fDeskBandInfo.dwModeFlags & DBIMF_TOPALIGN) - bandInfo.fStyle |= RBBS_TOPALIGN; - if (fFlags & ITF_NOGRIPPER || fToolbar->fLocked) - bandInfo.fStyle |= RBBS_NOGRIPPER; - if (fFlags & ITF_NOTITLE) - bandInfo.fStyle |= RBBS_HIDETITLE; - if (fFlags & ITF_GRIPPERALWAYS && !fToolbar->fLocked) - bandInfo.fStyle |= RBBS_GRIPPERALWAYS; - if (fFlags & ITF_FIXEDSIZE) - bandInfo.fStyle |= RBBS_FIXEDSIZE; + bandInfo.fStyle = RBBS_FIXEDBMP; + if (fDeskBandInfo.dwModeFlags & DBIMF_VARIABLEHEIGHT) + bandInfo.fStyle |= RBBS_VARIABLEHEIGHT; + if (fDeskBandInfo.dwModeFlags & DBIMF_USECHEVRON) + bandInfo.fStyle |= RBBS_USECHEVRON; + if (fDeskBandInfo.dwModeFlags & DBIMF_BREAK) + bandInfo.fStyle |= RBBS_BREAK; + if (fDeskBandInfo.dwModeFlags & DBIMF_TOPALIGN) + bandInfo.fStyle |= RBBS_TOPALIGN; + if (fFlags & ITF_NOGRIPPER || fToolbar->fLocked) + bandInfo.fStyle |= RBBS_NOGRIPPER; + if (fFlags & ITF_NOTITLE) + bandInfo.fStyle |= RBBS_HIDETITLE; + if (fFlags & ITF_GRIPPERALWAYS && !fToolbar->fLocked) + bandInfo.fStyle |= RBBS_GRIPPERALWAYS; + if (fFlags & ITF_FIXEDSIZE) + bandInfo.fStyle |= RBBS_FIXEDSIZE; - if (fDeskBandInfo.dwModeFlags & DBIMF_BKCOLOR) - { - bandInfo.fMask |= RBBIM_COLORS; - bandInfo.clrFore = CLR_DEFAULT; - bandInfo.clrBack = fDeskBandInfo.crBkgnd; - } - wcsncpy(bandInfo.lpText, fDeskBandInfo.wszTitle, bandInfo.cch); - bandInfo.hwndChild = fChildWindow; - bandInfo.cxMinChild = fDeskBandInfo.ptMinSize.x; - bandInfo.cyMinChild = fDeskBandInfo.ptMinSize.y; - bandInfo.wID = fBandID; - bandInfo.cyChild = fDeskBandInfo.ptActual.y; - bandInfo.cyMaxChild = fDeskBandInfo.ptMaxSize.y; - bandInfo.cyIntegral = fDeskBandInfo.ptIntegral.y; - bandInfo.cxIdeal = fDeskBandInfo.ptActual.x; - bandInfo.lParam = reinterpret_cast(this); - return S_OK; + if (fDeskBandInfo.dwModeFlags & DBIMF_BKCOLOR) + { + bandInfo.fMask |= RBBIM_COLORS; + bandInfo.clrFore = CLR_DEFAULT; + bandInfo.clrBack = fDeskBandInfo.crBkgnd; + } + wcsncpy(bandInfo.lpText, fDeskBandInfo.wszTitle, bandInfo.cch); + bandInfo.hwndChild = fChildWindow; + bandInfo.cxMinChild = fDeskBandInfo.ptMinSize.x; + bandInfo.cyMinChild = fDeskBandInfo.ptMinSize.y; + bandInfo.wID = fBandID; + bandInfo.cyChild = fDeskBandInfo.ptActual.y; + bandInfo.cyMaxChild = fDeskBandInfo.ptMaxSize.y; + bandInfo.cyIntegral = fDeskBandInfo.ptIntegral.y; + bandInfo.cxIdeal = fDeskBandInfo.ptActual.x; + bandInfo.lParam = reinterpret_cast(this); + return S_OK; } HRESULT STDMETHODCALLTYPE CDockSite::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = fRebarWindow; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = fRebarWindow; + return S_OK; } HRESULT STDMETHODCALLTYPE CDockSite::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::GetBorderDW(IUnknown* punkObj, LPRECT prcBorder) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::OnFocusChangeIS (IUnknown *punkObj, BOOL fSetFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CDockSite::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, - VARIANT *pvaIn, VARIANT *pvaOut) + VARIANT *pvaIn, VARIANT *pvaOut) { - TCHAR textBuffer[40]; - REBARBANDINFOW bandInfo; - int index; - HRESULT hResult; + TCHAR textBuffer[40]; + REBARBANDINFOW bandInfo; + int index; + HRESULT hResult; - if (IsEqualIID(*pguidCmdGroup, CGID_DeskBand)) - { - switch (nCmdID) - { - case DBID_BANDINFOCHANGED: - if (fInitialized == false) - return S_OK; - if (V_VT(pvaIn) != VT_I4) - return E_INVALIDARG; - if (V_I4(pvaIn) != fBandID) - return E_FAIL; - // deskband information changed - // call GetBandInfo and refresh information in rebar - memset(&bandInfo, 0, sizeof(bandInfo)); - bandInfo.cbSize = sizeof(bandInfo); - bandInfo.lpText = textBuffer; - bandInfo.cch = sizeof(textBuffer) / sizeof(TCHAR); - hResult = GetRBBandInfo(bandInfo); - if (FAILED(hResult)) - return hResult; - index = (int)SendMessage(fRebarWindow, RB_IDTOINDEX, fBandID, 0); - SendMessage(fRebarWindow, RB_SETBANDINFOW, index, (LPARAM)&bandInfo); - return S_OK; - } - } - return E_FAIL; + if (IsEqualIID(*pguidCmdGroup, CGID_DeskBand)) + { + switch (nCmdID) + { + case DBID_BANDINFOCHANGED: + if (fInitialized == false) + return S_OK; + if (V_VT(pvaIn) != VT_I4) + return E_INVALIDARG; + if (V_I4(pvaIn) != fBandID) + return E_FAIL; + // deskband information changed + // call GetBandInfo and refresh information in rebar + memset(&bandInfo, 0, sizeof(bandInfo)); + bandInfo.cbSize = sizeof(bandInfo); + bandInfo.lpText = textBuffer; + bandInfo.cch = sizeof(textBuffer) / sizeof(TCHAR); + hResult = GetRBBandInfo(bandInfo); + if (FAILED(hResult)) + return hResult; + index = (int)SendMessage(fRebarWindow, RB_IDTOINDEX, fBandID, 0); + SendMessage(fRebarWindow, RB_SETBANDINFOW, index, (LPARAM)&bandInfo); + return S_OK; + } + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CDockSite::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - if (IsEqualIID(guidService, SID_SMenuBandParent)) - return this->QueryInterface(riid, ppvObject); - hResult = fToolbar->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - return serviceProvider->QueryService(guidService, riid, ppvObject); + if (IsEqualIID(guidService, SID_SMenuBandParent)) + return this->QueryInterface(riid, ppvObject); + hResult = fToolbar->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + return serviceProvider->QueryService(guidService, riid, ppvObject); } CMenuCallback::CMenuCallback() @@ -341,1257 +341,1257 @@ CMenuCallback::~CMenuCallback() HRESULT STDMETHODCALLTYPE CMenuCallback::GetObject(LPSMDATA psmd, REFIID riid, void **ppvObject) { - CComPtr parentMenu; - CComPtr newMenu; - CComPtr favoritesFolder; - LPITEMIDLIST favoritesPIDL; - HWND ownerWindow; - HMENU parentHMenu; - HMENU favoritesHMenu; - HKEY orderRegKey; - DWORD disposition; - HRESULT hResult; - static const TCHAR szFavoritesKey[] = - _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Favorites"); + CComPtr parentMenu; + CComPtr newMenu; + CComPtr favoritesFolder; + LPITEMIDLIST favoritesPIDL; + HWND ownerWindow; + HMENU parentHMenu; + HMENU favoritesHMenu; + HKEY orderRegKey; + DWORD disposition; + HRESULT hResult; + static const TCHAR szFavoritesKey[] = + _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Favorites"); - if (!IsEqualIID(riid, IID_IShellMenu)) - return E_FAIL; - if (psmd->uId != FCIDM_MENU_FAVORITES) - return E_FAIL; + if (!IsEqualIID(riid, IID_IShellMenu)) + return E_FAIL; + if (psmd->uId != FCIDM_MENU_FAVORITES) + return E_FAIL; - if (fFavoritesMenu.p == NULL) - { - // create favorites menu - hResult = psmd->punk->QueryInterface(IID_IShellMenu, reinterpret_cast(&parentMenu)); - if (FAILED(hResult)) - return hResult; - hResult = parentMenu->GetMenu(&parentHMenu, &ownerWindow, NULL); - if (FAILED(hResult)) - return hResult; - favoritesHMenu = GetSubMenu(parentHMenu, 3); - if (favoritesHMenu == NULL) - return E_FAIL; - hResult = CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, - IID_IShellMenu, reinterpret_cast(&newMenu)); - if (FAILED(hResult)) - return hResult; - hResult = newMenu->Initialize(this, FCIDM_MENU_FAVORITES, -1, SMINIT_VERTICAL | SMINIT_CACHED); - if (FAILED(hResult)) - return hResult; - hResult = newMenu->SetMenu(favoritesHMenu, ownerWindow, SMSET_TOP | SMSET_DONTOWN); - if (FAILED(hResult)) - return hResult; - hResult = SHGetSpecialFolderLocation(NULL, CSIDL_FAVORITES, &favoritesPIDL); - if (FAILED(hResult)) - return hResult; - hResult = SHBindToFolder(favoritesPIDL, &favoritesFolder); - if (FAILED(hResult)) - return hResult; - RegCreateKeyEx(HKEY_CURRENT_USER, szFavoritesKey, - 0, NULL, 0, KEY_READ | KEY_WRITE, NULL, &orderRegKey, &disposition); - hResult = newMenu->SetShellFolder(favoritesFolder, favoritesPIDL, orderRegKey, SMSET_BOTTOM | 0x18); - ILFree(favoritesPIDL); - if (SUCCEEDED(hResult)) - fFavoritesMenu.Attach(newMenu.Detach()); - } - if (fFavoritesMenu.p == NULL) - return E_FAIL; - return fFavoritesMenu->QueryInterface(riid, ppvObject); + if (fFavoritesMenu.p == NULL) + { + // create favorites menu + hResult = psmd->punk->QueryInterface(IID_IShellMenu, reinterpret_cast(&parentMenu)); + if (FAILED(hResult)) + return hResult; + hResult = parentMenu->GetMenu(&parentHMenu, &ownerWindow, NULL); + if (FAILED(hResult)) + return hResult; + favoritesHMenu = GetSubMenu(parentHMenu, 3); + if (favoritesHMenu == NULL) + return E_FAIL; + hResult = CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, + IID_IShellMenu, reinterpret_cast(&newMenu)); + if (FAILED(hResult)) + return hResult; + hResult = newMenu->Initialize(this, FCIDM_MENU_FAVORITES, -1, SMINIT_VERTICAL | SMINIT_CACHED); + if (FAILED(hResult)) + return hResult; + hResult = newMenu->SetMenu(favoritesHMenu, ownerWindow, SMSET_TOP | SMSET_DONTOWN); + if (FAILED(hResult)) + return hResult; + hResult = SHGetSpecialFolderLocation(NULL, CSIDL_FAVORITES, &favoritesPIDL); + if (FAILED(hResult)) + return hResult; + hResult = SHBindToFolder(favoritesPIDL, &favoritesFolder); + if (FAILED(hResult)) + return hResult; + RegCreateKeyEx(HKEY_CURRENT_USER, szFavoritesKey, + 0, NULL, 0, KEY_READ | KEY_WRITE, NULL, &orderRegKey, &disposition); + hResult = newMenu->SetShellFolder(favoritesFolder, favoritesPIDL, orderRegKey, SMSET_BOTTOM | 0x18); + ILFree(favoritesPIDL); + if (SUCCEEDED(hResult)) + fFavoritesMenu.Attach(newMenu.Detach()); + } + if (fFavoritesMenu.p == NULL) + return E_FAIL; + return fFavoritesMenu->QueryInterface(riid, ppvObject); } HRESULT STDMETHODCALLTYPE CMenuCallback::CallbackSM(LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - switch (uMsg) - { - case SMC_INITMENU: - break; - case SMC_CREATE: - break; - case SMC_EXITMENU: - break; - case SMC_GETINFO: - { - SMINFO *infoPtr = reinterpret_cast(lParam); - if ((infoPtr->dwMask & SMIM_FLAGS) != 0) - { - if (psmd->uId == FCIDM_MENU_FAVORITES) - { - infoPtr->dwFlags |= SMIF_DROPCASCADE; - } - else - { - infoPtr->dwFlags |= SMIF_TRACKPOPUP; - } - } - if ((infoPtr->dwMask & SMIM_ICON) != 0) - infoPtr->iIcon = -1; - return S_OK; - } - case SMC_GETSFINFO: - break; - case SMC_GETOBJECT: - return GetObject(psmd, *reinterpret_cast(wParam), reinterpret_cast(lParam)); - case SMC_GETSFOBJECT: - break; - case SMC_SFEXEC: - break; - case SMC_SFSELECTITEM: - break; - case 13: - // return tooltip - break; - case SMC_REFRESH: - break; - case SMC_DEMOTE: - break; - case SMC_PROMOTE: - break; - case 0x13: - break; - case SMC_DEFAULTICON: - break; - case SMC_NEWITEM: - break; - case SMC_CHEVRONEXPAND: - break; - case SMC_DISPLAYCHEVRONTIP: - break; - case SMC_SETSFOBJECT: - break; - case SMC_SHCHANGENOTIFY: - break; - case SMC_CHEVRONGETTIP: - break; - case SMC_SFDDRESTRICTED: - break; - case 0x35: - break; - case 49: - break; - case 0x10000000: - break; - } - return S_FALSE; + switch (uMsg) + { + case SMC_INITMENU: + break; + case SMC_CREATE: + break; + case SMC_EXITMENU: + break; + case SMC_GETINFO: + { + SMINFO *infoPtr = reinterpret_cast(lParam); + if ((infoPtr->dwMask & SMIM_FLAGS) != 0) + { + if (psmd->uId == FCIDM_MENU_FAVORITES) + { + infoPtr->dwFlags |= SMIF_DROPCASCADE; + } + else + { + infoPtr->dwFlags |= SMIF_TRACKPOPUP; + } + } + if ((infoPtr->dwMask & SMIM_ICON) != 0) + infoPtr->iIcon = -1; + return S_OK; + } + case SMC_GETSFINFO: + break; + case SMC_GETOBJECT: + return GetObject(psmd, *reinterpret_cast(wParam), reinterpret_cast(lParam)); + case SMC_GETSFOBJECT: + break; + case SMC_SFEXEC: + break; + case SMC_SFSELECTITEM: + break; + case 13: + // return tooltip + break; + case SMC_REFRESH: + break; + case SMC_DEMOTE: + break; + case SMC_PROMOTE: + break; + case 0x13: + break; + case SMC_DEFAULTICON: + break; + case SMC_NEWITEM: + break; + case SMC_CHEVRONEXPAND: + break; + case SMC_DISPLAYCHEVRONTIP: + break; + case SMC_SETSFOBJECT: + break; + case SMC_SHCHANGENOTIFY: + break; + case SMC_CHEVRONGETTIP: + break; + case SMC_SFDDRESTRICTED: + break; + case 0x35: + break; + case 49: + break; + case 0x10000000: + break; + } + return S_FALSE; } CInternetToolbar::CInternetToolbar() { - fMainReBar = NULL; - fLocked = false; - fMenuBandWindow = NULL; - fNavigationWindow = NULL; - fMenuCallback.AddRef(); - fToolbarWindow = NULL; - fAdviseCookie = 0; + fMainReBar = NULL; + fLocked = false; + fMenuBandWindow = NULL; + fNavigationWindow = NULL; + fMenuCallback.AddRef(); + fToolbarWindow = NULL; + fAdviseCookie = 0; } CInternetToolbar::~CInternetToolbar() { - fMenuCallback.Release(); + fMenuCallback.Release(); } void CInternetToolbar::AddDockItem(IUnknown *newItem, int bandID, int flags) { - CDockSite *newSite; + CDockSite *newSite; - newSite = new CComObject; - newSite->AddRef(); - newSite->Initialize(newItem, this, fMainReBar, bandID, flags); + newSite = new CComObject; + newSite->AddRef(); + newSite->Initialize(newItem, this, fMainReBar, bandID, flags); } HRESULT CInternetToolbar::ReserveBorderSpace() { - CComPtr dockingWindowSite; - RECT availableBorderSpace; - RECT neededBorderSpace; - HRESULT hResult; + CComPtr dockingWindowSite; + RECT availableBorderSpace; + RECT neededBorderSpace; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&dockingWindowSite)); - if (FAILED(hResult)) - return hResult; - hResult = dockingWindowSite->GetBorderDW(static_cast(this), &availableBorderSpace); - if (FAILED(hResult)) - return hResult; - SendMessage(fMainReBar, RB_SIZETORECT, RBSTR_CHANGERECT, reinterpret_cast(&availableBorderSpace)); - neededBorderSpace.left = 0; - neededBorderSpace.top = availableBorderSpace.bottom - availableBorderSpace.top; - if (!fLocked) - neededBorderSpace.top += 3; - neededBorderSpace.right = 0; - neededBorderSpace.bottom = 0; - hResult = dockingWindowSite->SetBorderSpaceDW(static_cast(this), &neededBorderSpace); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = fSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&dockingWindowSite)); + if (FAILED(hResult)) + return hResult; + hResult = dockingWindowSite->GetBorderDW(static_cast(this), &availableBorderSpace); + if (FAILED(hResult)) + return hResult; + SendMessage(fMainReBar, RB_SIZETORECT, RBSTR_CHANGERECT, reinterpret_cast(&availableBorderSpace)); + neededBorderSpace.left = 0; + neededBorderSpace.top = availableBorderSpace.bottom - availableBorderSpace.top; + if (!fLocked) + neededBorderSpace.top += 3; + neededBorderSpace.right = 0; + neededBorderSpace.bottom = 0; + hResult = dockingWindowSite->SetBorderSpaceDW(static_cast(this), &neededBorderSpace); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT CInternetToolbar::CreateMenuBar(IShellMenu **menuBar) { - CComPtr siteCommandTarget; - CComPtr oleWindow; - CComPtr commandTarget; - CComPtr callback; - VARIANT menuOut; - HWND ownerWindow; - HRESULT hResult; + CComPtr siteCommandTarget; + CComPtr oleWindow; + CComPtr commandTarget; + CComPtr callback; + VARIANT menuOut; + HWND ownerWindow; + HRESULT hResult; - hResult = CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, - IID_IShellMenu, reinterpret_cast(menuBar)); - if (FAILED(hResult)) - return hResult; - hResult = fMenuCallback.QueryInterface(IID_IShellMenuCallback, reinterpret_cast(&callback)); - if (FAILED(hResult)) - return hResult; - hResult = (*menuBar)->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL); - if (FAILED(hResult)) - return hResult; - hResult = fSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = oleWindow->GetWindow(&ownerWindow); - if (FAILED(hResult)) - return hResult; - hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&siteCommandTarget)); - if (FAILED(hResult)) - return hResult; - hResult = siteCommandTarget->Exec(&CGID_Explorer, 0x35, 0, NULL, &menuOut); - if (FAILED(hResult)) - return hResult; - if (V_VT(&menuOut) != VT_INT_PTR || V_INTREF(&menuOut) == NULL) - return E_FAIL; - hResult = (*menuBar)->SetMenu((HMENU)V_INTREF(&menuOut), ownerWindow, SMSET_DONTOWN); - if (FAILED(hResult)) - return hResult; - hResult = (*menuBar)->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return hResult; - hResult = commandTarget->Exec(&CGID_MenuBand, 3, 1, NULL, NULL); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = CoCreateInstance(CLSID_MenuBand, NULL, CLSCTX_INPROC_SERVER, + IID_IShellMenu, reinterpret_cast(menuBar)); + if (FAILED(hResult)) + return hResult; + hResult = fMenuCallback.QueryInterface(IID_IShellMenuCallback, reinterpret_cast(&callback)); + if (FAILED(hResult)) + return hResult; + hResult = (*menuBar)->Initialize(callback, -1, ANCESTORDEFAULT, SMINIT_HORIZONTAL | SMINIT_TOPLEVEL); + if (FAILED(hResult)) + return hResult; + hResult = fSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = oleWindow->GetWindow(&ownerWindow); + if (FAILED(hResult)) + return hResult; + hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&siteCommandTarget)); + if (FAILED(hResult)) + return hResult; + hResult = siteCommandTarget->Exec(&CGID_Explorer, 0x35, 0, NULL, &menuOut); + if (FAILED(hResult)) + return hResult; + if (V_VT(&menuOut) != VT_INT_PTR || V_INTREF(&menuOut) == NULL) + return E_FAIL; + hResult = (*menuBar)->SetMenu((HMENU)V_INTREF(&menuOut), ownerWindow, SMSET_DONTOWN); + if (FAILED(hResult)) + return hResult; + hResult = (*menuBar)->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return hResult; + hResult = commandTarget->Exec(&CGID_MenuBand, 3, 1, NULL, NULL); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT CInternetToolbar::CreateBrandBand(IUnknown **logoBar) { - CComPtr tempBand; - HRESULT hResult; + CComPtr tempBand; + HRESULT hResult; #if 1 - hResult = ::CreateBrandBand(IID_IUnknown, reinterpret_cast(logoBar)); + hResult = ::CreateBrandBand(IID_IUnknown, reinterpret_cast(logoBar)); #else - hResult = CoCreateInstance(CLSID_BrandBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, - reinterpret_cast(logoBar)); + hResult = CoCreateInstance(CLSID_BrandBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, + reinterpret_cast(logoBar)); #endif - if (FAILED(hResult)) - return hResult; - return S_OK; + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT CInternetToolbar::CreateToolsBar(IUnknown **toolsBar) { - HRESULT hResult; + HRESULT hResult; - hResult = ::CreateToolsBar(IID_IUnknown, reinterpret_cast(toolsBar)); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = ::CreateToolsBar(IID_IUnknown, reinterpret_cast(toolsBar)); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT CInternetToolbar::CreateAddressBand(IUnknown **toolsBar) { - CComPtr addressBand; - HRESULT hResult; + CComPtr addressBand; + HRESULT hResult; #if 1 - hResult = ::CreateAddressBand(IID_IUnknown, reinterpret_cast(toolsBar)); + hResult = ::CreateAddressBand(IID_IUnknown, reinterpret_cast(toolsBar)); #else - hResult = CoCreateInstance(CLSID_SH_AddressBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, - reinterpret_cast(toolsBar)); + hResult = CoCreateInstance(CLSID_SH_AddressBand, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, + reinterpret_cast(toolsBar)); #endif - if (FAILED(hResult)) - return hResult; - hResult = (*toolsBar)->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); - return S_OK; + if (FAILED(hResult)) + return hResult; + hResult = (*toolsBar)->QueryInterface(IID_IAddressBand, reinterpret_cast(&addressBand)); + return S_OK; } HRESULT CInternetToolbar::LockUnlockToolbars(bool locked) { - REBARBANDINFOW rebarBandInfo; - int bandCount; - CDockSite *dockSite; - HRESULT hResult; + REBARBANDINFOW rebarBandInfo; + int bandCount; + CDockSite *dockSite; + HRESULT hResult; - if (locked != fLocked) - { - fLocked = locked; - rebarBandInfo.cbSize = sizeof(rebarBandInfo); - rebarBandInfo.fMask = RBBIM_STYLE | RBBIM_LPARAM; - bandCount = (int)SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0); - for (INT x = 0; x < bandCount; x++) - { - SendMessage(fMainReBar, RB_GETBANDINFOW, x, (LPARAM)&rebarBandInfo); - dockSite = reinterpret_cast(rebarBandInfo.lParam); - if (dockSite != NULL) - { - rebarBandInfo.fStyle &= ~(RBBS_NOGRIPPER | RBBS_GRIPPERALWAYS); - if (dockSite->fFlags & CDockSite::ITF_NOGRIPPER || fLocked) - rebarBandInfo.fStyle |= RBBS_NOGRIPPER; - if (dockSite->fFlags & CDockSite::ITF_GRIPPERALWAYS && !fLocked) - rebarBandInfo.fStyle |= RBBS_GRIPPERALWAYS; - SendMessage(fMainReBar, RB_SETBANDINFOW, x, (LPARAM)&rebarBandInfo); - } - } - hResult = ReserveBorderSpace(); - } - return S_OK; + if (locked != fLocked) + { + fLocked = locked; + rebarBandInfo.cbSize = sizeof(rebarBandInfo); + rebarBandInfo.fMask = RBBIM_STYLE | RBBIM_LPARAM; + bandCount = (int)SendMessage(fMainReBar, RB_GETBANDCOUNT, 0, 0); + for (INT x = 0; x < bandCount; x++) + { + SendMessage(fMainReBar, RB_GETBANDINFOW, x, (LPARAM)&rebarBandInfo); + dockSite = reinterpret_cast(rebarBandInfo.lParam); + if (dockSite != NULL) + { + rebarBandInfo.fStyle &= ~(RBBS_NOGRIPPER | RBBS_GRIPPERALWAYS); + if (dockSite->fFlags & CDockSite::ITF_NOGRIPPER || fLocked) + rebarBandInfo.fStyle |= RBBS_NOGRIPPER; + if (dockSite->fFlags & CDockSite::ITF_GRIPPERALWAYS && !fLocked) + rebarBandInfo.fStyle |= RBBS_GRIPPERALWAYS; + SendMessage(fMainReBar, RB_SETBANDINFOW, x, (LPARAM)&rebarBandInfo); + } + } + hResult = ReserveBorderSpace(); + } + return S_OK; } HRESULT CInternetToolbar::CommandStateChanged(bool newValue, int commandID) { - HRESULT hResult; + HRESULT hResult; - hResult = S_OK; - switch (commandID) - { - case -1: - // loop through buttons - // for buttons in CLSID_CommonButtons - // if up, QueryStatus for up state and update it - // - // for buttons in fCommandCategory, update with QueryStatus of fCommandTarget - break; - case 1: - // forward - hResult = SetState(&CLSID_CommonButtons, gForwardCommandID, newValue ? TBSTATE_ENABLED : 0); - break; - case 2: - // back - hResult = SetState(&CLSID_CommonButtons, gBackCommandID, newValue ? TBSTATE_ENABLED : 0); - break; - } - return hResult; + hResult = S_OK; + switch (commandID) + { + case -1: + // loop through buttons + //for buttons in CLSID_CommonButtons + // if up, QueryStatus for up state and update it + // + //for buttons in fCommandCategory, update with QueryStatus of fCommandTarget + break; + case 1: + // forward + hResult = SetState(&CLSID_CommonButtons, gForwardCommandID, newValue ? TBSTATE_ENABLED : 0); + break; + case 2: + // back + hResult = SetState(&CLSID_CommonButtons, gBackCommandID, newValue ? TBSTATE_ENABLED : 0); + break; + } + return hResult; } HRESULT CInternetToolbar::CreateAndInitBandProxy() { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - hResult = serviceProvider->QueryService(SID_IBandProxy, IID_IBandProxy, reinterpret_cast(&fBandProxy)); - if (FAILED(hResult)) - { - hResult = CreateBandProxy(IID_IBandProxy, reinterpret_cast(&fBandProxy)); - if (FAILED(hResult)) - return hResult; - hResult = fBandProxy->SetSite(fSite); - if (FAILED(hResult)) - return hResult; - } - return S_OK; + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + hResult = serviceProvider->QueryService(SID_IBandProxy, IID_IBandProxy, reinterpret_cast(&fBandProxy)); + if (FAILED(hResult)) + { + hResult = CreateBandProxy(IID_IBandProxy, reinterpret_cast(&fBandProxy)); + if (FAILED(hResult)) + return hResult; + hResult = fBandProxy->SetSite(fSite); + if (FAILED(hResult)) + return hResult; + } + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::HasFocusIO() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::TranslateAcceleratorIO(LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::ShowDW(BOOL fShow) { - CComPtr dockingWindow; - HRESULT hResult; + CComPtr dockingWindow; + HRESULT hResult; - // show the bar here - hResult = ReserveBorderSpace(); - hResult = fMenuBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); - hResult = dockingWindow->ShowDW(fShow); - return S_OK; + // show the bar here + hResult = ReserveBorderSpace(); + hResult = fMenuBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); + hResult = dockingWindow->ShowDW(fShow); + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::CloseDW(DWORD dwReserved) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::ResizeBorderDW(LPCRECT prcBorder, - IUnknown *punkToolbarSite, BOOL fReserved) + IUnknown *punkToolbarSite, BOOL fReserved) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetClassID(CLSID *pClassID) { - if (pClassID == NULL) - return E_POINTER; - *pClassID = CLSID_InternetToolbar; - return S_OK; + if (pClassID == NULL) + return E_POINTER; + *pClassID = CLSID_InternetToolbar; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetSizeMax(ULARGE_INTEGER *pcbSize) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::InitNew() { - CComPtr menuBar; - CComPtr logoBar; - CComPtr toolsBar; - CComPtr navigationBar; - CComPtr menuOleWindow; - CComPtr toolbarOleWindow; - CComPtr navigationOleWindow; - HRESULT hResult; + CComPtr menuBar; + CComPtr logoBar; + CComPtr toolsBar; + CComPtr navigationBar; + CComPtr menuOleWindow; + CComPtr toolbarOleWindow; + CComPtr navigationOleWindow; + HRESULT hResult; - hResult = CreateMenuBar(&menuBar); - if (FAILED(hResult)) - return hResult; - AddDockItem(menuBar, ITBBID_MENUBAND, - CDockSite::ITF_NOTITLE | CDockSite::ITF_NEWBANDALWAYS | CDockSite::ITF_GRIPPERALWAYS); + hResult = CreateMenuBar(&menuBar); + if (FAILED(hResult)) + return hResult; + AddDockItem(menuBar, ITBBID_MENUBAND, + CDockSite::ITF_NOTITLE | CDockSite::ITF_NEWBANDALWAYS | CDockSite::ITF_GRIPPERALWAYS); - hResult = menuBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&menuOleWindow)); - hResult = menuOleWindow->GetWindow(&fMenuBandWindow); - fMenuBar.Attach(menuBar.Detach()); // transfer the ref count + hResult = menuBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&menuOleWindow)); + hResult = menuOleWindow->GetWindow(&fMenuBandWindow); + fMenuBar.Attach(menuBar.Detach()); // transfer the ref count - hResult = CreateBrandBand(&logoBar); - if (FAILED(hResult)) - return hResult; - AddDockItem(logoBar, ITBBID_BRANDBAND, - CDockSite::ITF_NOGRIPPER | CDockSite::ITF_NOTITLE | CDockSite::ITF_FIXEDSIZE); - fLogoBar.Attach(logoBar.Detach()); // transfer the ref count + hResult = CreateBrandBand(&logoBar); + if (FAILED(hResult)) + return hResult; + AddDockItem(logoBar, ITBBID_BRANDBAND, + CDockSite::ITF_NOGRIPPER | CDockSite::ITF_NOTITLE | CDockSite::ITF_FIXEDSIZE); + fLogoBar.Attach(logoBar.Detach()); // transfer the ref count - hResult = CreateToolsBar(&toolsBar); - if (FAILED(hResult)) - return hResult; - AddDockItem(toolsBar, ITBBID_TOOLSBAND, CDockSite::ITF_NOTITLE | CDockSite::ITF_NEWBANDALWAYS); - fControlsBar.Attach(toolsBar.Detach()); // transfer the ref count - hResult = fControlsBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&toolbarOleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = toolbarOleWindow->GetWindow(&fToolbarWindow); - if (FAILED(hResult)) - return hResult; + hResult = CreateToolsBar(&toolsBar); + if (FAILED(hResult)) + return hResult; + AddDockItem(toolsBar, ITBBID_TOOLSBAND, CDockSite::ITF_NOTITLE | CDockSite::ITF_NEWBANDALWAYS); + fControlsBar.Attach(toolsBar.Detach()); // transfer the ref count + hResult = fControlsBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&toolbarOleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = toolbarOleWindow->GetWindow(&fToolbarWindow); + if (FAILED(hResult)) + return hResult; - hResult = CreateAddressBand(&navigationBar); - if (FAILED(hResult)) - return hResult; - AddDockItem(navigationBar, ITBBID_ADDRESSBAND, CDockSite::ITF_NEWBANDALWAYS); - hResult = navigationBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&navigationOleWindow)); - hResult = navigationOleWindow->GetWindow(&fNavigationWindow); - fNavigationBar.Attach(navigationBar.Detach()); + hResult = CreateAddressBand(&navigationBar); + if (FAILED(hResult)) + return hResult; + AddDockItem(navigationBar, ITBBID_ADDRESSBAND, CDockSite::ITF_NEWBANDALWAYS); + hResult = navigationBar->QueryInterface(IID_IOleWindow, reinterpret_cast(&navigationOleWindow)); + hResult = navigationOleWindow->GetWindow(&fNavigationWindow); + fNavigationBar.Attach(navigationBar.Detach()); - return S_OK; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryStatus(const GUID *pguidCmdGroup, - ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) - { - while (cCmds != 0) - { - switch (prgCmds->cmdID) - { - case ITID_TEXTLABELS: // Text Labels state - prgCmds->cmdf = OLECMDF_SUPPORTED; - break; - case ITID_TOOLBARBANDSHOWN: // toolbar visibility - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case ITID_ADDRESSBANDSHOWN: // address bar visibility - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case ITID_LINKSBANDSHOWN: // links bar visibility - prgCmds->cmdf = 0; - break; - case ITID_MENUBANDSHOWN: // Menubar band visibility - prgCmds->cmdf = 0; - break; - case ITID_AUTOHIDEENABLED: // Auto hide enabled/disabled - prgCmds->cmdf = 0; - break; - case ITID_CUSTOMIZEENABLED: // customize enabled - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case ITID_TOOLBARLOCKED: // lock toolbars - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - if (fLocked) - prgCmds->cmdf |= OLECMDF_LATCHED; - break; - default: - prgCmds->cmdf = 0; - break; - } - prgCmds++; - cCmds--; - } - return S_OK; - } - return E_FAIL; + if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) + { + while (cCmds != 0) + { + switch (prgCmds->cmdID) + { + case ITID_TEXTLABELS: // Text Labels state + prgCmds->cmdf = OLECMDF_SUPPORTED; + break; + case ITID_TOOLBARBANDSHOWN: // toolbar visibility + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case ITID_ADDRESSBANDSHOWN: // address bar visibility + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case ITID_LINKSBANDSHOWN: // links bar visibility + prgCmds->cmdf = 0; + break; + case ITID_MENUBANDSHOWN: // Menubar band visibility + prgCmds->cmdf = 0; + break; + case ITID_AUTOHIDEENABLED: // Auto hide enabled/disabled + prgCmds->cmdf = 0; + break; + case ITID_CUSTOMIZEENABLED: // customize enabled + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case ITID_TOOLBARLOCKED: // lock toolbars + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + if (fLocked) + prgCmds->cmdf |= OLECMDF_LATCHED; + break; + default: + prgCmds->cmdf = 0; + break; + } + prgCmds++; + cCmds--; + } + return S_OK; + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) - { - switch (nCmdID) - { - case 1: - // what do I do here? - return S_OK; - case ITID_TEXTLABELS: - // toggle text labels - return S_OK; - case ITID_TOOLBARBANDSHOWN: - // toggle toolbar band visibility - return S_OK; - case ITID_ADDRESSBANDSHOWN: - // toggle address band visibility - return S_OK; - case ITID_LINKSBANDSHOWN: - // toggle links band visibility - return S_OK; - case ITID_CUSTOMIZEENABLED: - // run customize - return S_OK; - case ITID_TOOLBARLOCKED: - return LockUnlockToolbars(!fLocked); - } - } - return E_FAIL; + if (IsEqualIID(*pguidCmdGroup, CGID_PrivCITCommands)) + { + switch (nCmdID) + { + case 1: + // what do I do here? + return S_OK; + case ITID_TEXTLABELS: + // toggle text labels + return S_OK; + case ITID_TOOLBARBANDSHOWN: + // toggle toolbar band visibility + return S_OK; + case ITID_ADDRESSBANDSHOWN: + // toggle address band visibility + return S_OK; + case ITID_LINKSBANDSHOWN: + // toggle links band visibility + return S_OK; + case ITID_CUSTOMIZEENABLED: + // run customize + return S_OK; + case ITID_TOOLBARLOCKED: + return LockUnlockToolbars(!fLocked); + } + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetTypeInfoCount(UINT *pctinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, - LCID lcid, DISPID *rgDispId) + LCID lcid, DISPID *rgDispId) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) + WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { - HRESULT hResult; + HRESULT hResult; - switch(dispIdMember) - { - case DISPID_BEFORENAVIGATE: - hResult = S_OK; - break; - case DISPID_DOWNLOADCOMPLETE: - hResult = S_OK; - break; - case DISPID_COMMANDSTATECHANGE: - if (pDispParams->cArgs != 2) - return E_INVALIDARG; - if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL || V_VT(&pDispParams->rgvarg[1]) != VT_I4) - return E_INVALIDARG; - return CommandStateChanged(V_BOOL(&pDispParams->rgvarg[0]) != VARIANT_FALSE, - V_I4(&pDispParams->rgvarg[1])); - case DISPID_DOWNLOADBEGIN: - hResult = S_OK; - break; - case DISPID_NAVIGATECOMPLETE2: - hResult = S_OK; - break; - case DISPID_DOCUMENTCOMPLETE: - hResult = S_OK; - break; - } - return S_OK; + switch(dispIdMember) + { + case DISPID_BEFORENAVIGATE: + hResult = S_OK; + break; + case DISPID_DOWNLOADCOMPLETE: + hResult = S_OK; + break; + case DISPID_COMMANDSTATECHANGE: + if (pDispParams->cArgs != 2) + return E_INVALIDARG; + if (V_VT(&pDispParams->rgvarg[0]) != VT_BOOL || V_VT(&pDispParams->rgvarg[1]) != VT_I4) + return E_INVALIDARG; + return CommandStateChanged(V_BOOL(&pDispParams->rgvarg[0]) != VARIANT_FALSE, + V_I4(&pDispParams->rgvarg[1])); + case DISPID_DOWNLOADBEGIN: + hResult = S_OK; + break; + case DISPID_NAVIGATECOMPLETE2: + hResult = S_OK; + break; + case DISPID_DOCUMENTCOMPLETE: + hResult = S_OK; + break; + } + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetCommandTarget(IUnknown *theTarget, GUID *category, long param14) { - HRESULT hResult; + HRESULT hResult; - fCommandTarget.Release(); - hResult = theTarget->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&fCommandTarget)); - if (FAILED(hResult)) - return hResult; - fCommandCategory = *category; - return S_OK; + fCommandTarget.Release(); + hResult = theTarget->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&fCommandTarget)); + if (FAILED(hResult)) + return hResult; + fCommandCategory = *category; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::Unknown1() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::AddButtons(const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::AddString(const GUID *pguidCmdGroup, - HINSTANCE param10, LPCTSTR param14, long *param18) + HINSTANCE param10, LPCTSTR param14, long *param18) { - long result; + long result; - result = (long)::SendMessage(fToolbarWindow, TB_ADDSTRINGW, - reinterpret_cast(param10), reinterpret_cast(param14)); - *param18 = result; - if (result == -1) - return E_FAIL; - return S_OK; + result = (long)::SendMessage(fToolbarWindow, TB_ADDSTRINGW, + reinterpret_cast(param10), reinterpret_cast(param14)); + *param18 = result; + if (result == -1) + return E_FAIL; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetButton(const GUID *pguidCmdGroup, long param10, long param14) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetState(const GUID *pguidCmdGroup, long commandID, long *theState) { - if (theState == NULL) - return E_POINTER; - // map the command id - *theState = (long)::SendMessage(fToolbarWindow, TB_GETSTATE, commandID, 0); - return S_OK; + if (theState == NULL) + return E_POINTER; + // map the command id + *theState = (long)::SendMessage(fToolbarWindow, TB_GETSTATE, commandID, 0); + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetState(const GUID *pguidCmdGroup, long commandID, long theState) { - // map the command id - ::SendMessage(fToolbarWindow, TB_SETSTATE, commandID, MAKELONG(theState, 0)); - return S_OK; + // map the command id + ::SendMessage(fToolbarWindow, TB_SETSTATE, commandID, MAKELONG(theState, 0)); + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::AddBitmap(const GUID *pguidCmdGroup, long param10, long buttonCount, - TBADDBITMAP *lParam, long *newIndex, COLORREF param20) + TBADDBITMAP *lParam, long *newIndex, COLORREF param20) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBitmapSize(long *paramC) { - if (paramC == NULL) - return E_POINTER; - *paramC = MAKELONG(24, 24); - return S_OK; + if (paramC == NULL) + return E_POINTER; + *paramC = MAKELONG(24, 24); + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SendToolbarMsg(const GUID *pguidCmdGroup, UINT uMsg, - WPARAM wParam, LPARAM lParam, LRESULT *result) + WPARAM wParam, LPARAM lParam, LRESULT *result) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetImageList(const GUID *pguidCmdGroup, HIMAGELIST param10, - HIMAGELIST param14, HIMAGELIST param18) + HIMAGELIST param14, HIMAGELIST param18) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::ModifyButton(const GUID *pguidCmdGroup, long param10, long param14) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::OnChange(LONG lEvent, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetSite(IUnknown *pUnkSite) { - CComPtr browserService; - CComPtr serviceProvider; - CComPtr oleWindow; - HWND ownerWindow; - HWND dockContainer; - HRESULT hResult; - DWORD style; + CComPtr browserService; + CComPtr serviceProvider; + CComPtr oleWindow; + HWND ownerWindow; + HWND dockContainer; + HRESULT hResult; + DWORD style; - if (pUnkSite == NULL) - { - hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie); - ::DestroyWindow(fMainReBar); - DestroyWindow(); - fSite.Release(); - } - else - { - // get window handle of owner - hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (FAILED(hResult)) - return hResult; - hResult = oleWindow->GetWindow(&ownerWindow); - if (FAILED(hResult)) - return hResult; - if (ownerWindow == NULL) - return E_FAIL; + if (pUnkSite == NULL) + { + hResult = AtlUnadvise(fSite, DIID_DWebBrowserEvents, fAdviseCookie); + ::DestroyWindow(fMainReBar); + DestroyWindow(); + fSite.Release(); + } + else + { + // get window handle of owner + hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (FAILED(hResult)) + return hResult; + hResult = oleWindow->GetWindow(&ownerWindow); + if (FAILED(hResult)) + return hResult; + if (ownerWindow == NULL) + return E_FAIL; - // create dock container - fSite = pUnkSite; - dockContainer = SHCreateWorkerWindowW(0, ownerWindow, 0, - WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, NULL, 0); - if (dockContainer == NULL) - return E_FAIL; - SubclassWindow(dockContainer); + // create dock container + fSite = pUnkSite; + dockContainer = SHCreateWorkerWindowW(0, ownerWindow, 0, + WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, NULL, 0); + if (dockContainer == NULL) + return E_FAIL; + SubclassWindow(dockContainer); - // create rebar in dock container - style = WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | RBS_VARHEIGHT | - RBS_BANDBORDERS | RBS_REGISTERDROP | RBS_AUTOSIZE | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_TOP; - fMainReBar = CreateWindow(REBARCLASSNAMEW, NULL, style, - 0, 0, 700, 60, dockContainer, NULL, _AtlBaseModule.GetModuleInstance(), NULL); - if (fMainReBar == NULL) - return E_FAIL; + // create rebar in dock container + style = WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | RBS_VARHEIGHT | + RBS_BANDBORDERS | RBS_REGISTERDROP | RBS_AUTOSIZE | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_TOP; + fMainReBar = CreateWindow(REBARCLASSNAMEW, NULL, style, + 0, 0, 700, 60, dockContainer, NULL, _AtlBaseModule.GetModuleInstance(), NULL); + if (fMainReBar == NULL) + return E_FAIL; - // take advice to watch events - hResult = pUnkSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - hResult = serviceProvider->QueryService( - SID_SShellBrowser, IID_IBrowserService, reinterpret_cast(&browserService)); - hResult = AtlAdvise(browserService, static_cast(this), DIID_DWebBrowserEvents, &fAdviseCookie); - } - return S_OK; + // take advice to watch events + hResult = pUnkSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + hResult = serviceProvider->QueryService( + SID_SShellBrowser, IID_IBrowserService, reinterpret_cast(&browserService)); + hResult = AtlAdvise(browserService, static_cast(this), DIID_DWebBrowserEvents, &fAdviseCookie); + } + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetSite(REFIID riid, void **ppvSite) { - if (ppvSite == NULL) - return E_POINTER; - if (fSite.p != NULL) - return fSite->QueryInterface(riid, ppvSite); - *ppvSite = NULL; - return S_OK; + if (ppvSite == NULL) + return E_POINTER; + if (fSite.p != NULL) + return fSite->QueryInterface(riid, ppvSite); + *ppvSite = NULL; + return S_OK; } HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - CComPtr serviceProvider; - HRESULT hResult; + CComPtr serviceProvider; + HRESULT hResult; - if (IsEqualIID(guidService, IID_IBandSite)) - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_IBandProxy)) - { - if (fBandProxy.p == NULL) - { - hResult = CreateAndInitBandProxy(); - if (FAILED(hResult)) - return hResult; - } - return fBandProxy->QueryInterface(riid, ppvObject); - } - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - return serviceProvider->QueryService(guidService, riid, ppvObject); + if (IsEqualIID(guidService, IID_IBandSite)) + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_IBandProxy)) + { + if (fBandProxy.p == NULL) + { + hResult = CreateAndInitBandProxy(); + if (FAILED(hResult)) + return hResult; + } + return fBandProxy->QueryInterface(riid, ppvObject); + } + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + return serviceProvider->QueryService(guidService, riid, ppvObject); } HRESULT STDMETHODCALLTYPE CInternetToolbar::OnWinEvent( - HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) + HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - CComPtr menuWinEventHandler; - HRESULT hResult; + CComPtr menuWinEventHandler; + HRESULT hResult; - if (fMenuBar.p != NULL) - { - hResult = fMenuBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); - return menuWinEventHandler->OnWinEvent(fMenuBandWindow, uMsg, wParam, lParam, theResult); - } - return E_FAIL; + if (fMenuBar.p != NULL) + { + hResult = fMenuBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); + return menuWinEventHandler->OnWinEvent(fMenuBandWindow, uMsg, wParam, lParam, theResult); + } + return E_FAIL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::IsWindowOwner(HWND hWnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::AddBand(IUnknown *punk) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::EnumBands(UINT uBand, DWORD *pdwBandID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::QueryBand(DWORD dwBandID, - IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName) + IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName) { - if (ppstb == NULL) - return E_POINTER; - if (dwBandID == ITBBID_MENUBAND && fMenuBar.p != NULL) - return fMenuBar->QueryInterface(IID_IDeskBand, reinterpret_cast(ppstb)); - if (dwBandID == ITBBID_BRANDBAND && fLogoBar.p != NULL) - return fLogoBar->QueryInterface(IID_IDeskBand, reinterpret_cast(ppstb)); - *ppstb = NULL; - return E_FAIL; + if (ppstb == NULL) + return E_POINTER; + if (dwBandID == ITBBID_MENUBAND && fMenuBar.p != NULL) + return fMenuBar->QueryInterface(IID_IDeskBand, reinterpret_cast(ppstb)); + if (dwBandID == ITBBID_BRANDBAND && fLogoBar.p != NULL) + return fLogoBar->QueryInterface(IID_IDeskBand, reinterpret_cast(ppstb)); + *ppstb = NULL; + return E_FAIL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::RemoveBand(DWORD dwBandID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBandObject(DWORD dwBandID, REFIID riid, void **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::SetBandSiteInfo(const BANDSITEINFO *pbsinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CInternetToolbar::GetBandSiteInfo(BANDSITEINFO *pbsinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT CInternetToolbar::OnTravelBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr serviceProvider; - CComPtr webBrowser; - HRESULT hResult; + CComPtr serviceProvider; + CComPtr webBrowser; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return 0; - hResult = serviceProvider->QueryService(SID_SShellBrowser, - IID_IWebBrowser, reinterpret_cast(&webBrowser)); - if (FAILED(hResult)) - return 0; - hResult = webBrowser->GoBack(); - return 1; + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return 0; + hResult = serviceProvider->QueryService(SID_SShellBrowser, + IID_IWebBrowser, reinterpret_cast(&webBrowser)); + if (FAILED(hResult)) + return 0; + hResult = webBrowser->GoBack(); + return 1; } LRESULT CInternetToolbar::OnTravelForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr serviceProvider; - CComPtr webBrowser; - HRESULT hResult; + CComPtr serviceProvider; + CComPtr webBrowser; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return 0; - hResult = serviceProvider->QueryService( - SID_SShellBrowser, IID_IWebBrowser, reinterpret_cast(&webBrowser)); - if (FAILED(hResult)) - return 0; - hResult = webBrowser->GoForward(); - return 1; + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return 0; + hResult = serviceProvider->QueryService( + SID_SShellBrowser, IID_IWebBrowser, reinterpret_cast(&webBrowser)); + if (FAILED(hResult)) + return 0; + hResult = webBrowser->GoForward(); + return 1; } LRESULT CInternetToolbar::OnUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr oleCommandTarget; - HRESULT hResult; + CComPtr oleCommandTarget; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (FAILED(hResult)) - return hResult; - hResult = oleCommandTarget->Exec(&CGID_ShellBrowser, IDM_GOTO_UPONELEVEL, 0, NULL, NULL); - return 1; + hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (FAILED(hResult)) + return hResult; + hResult = oleCommandTarget->Exec(&CGID_ShellBrowser, IDM_GOTO_UPONELEVEL, 0, NULL, NULL); + return 1; } LRESULT CInternetToolbar::OnSearch(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr objectWithSite; - CComPtr contextMenu; - CMINVOKECOMMANDINFO commandInfo; - const char *searchGUID = "{169A0691-8DF9-11d1-A1C4-00C04FD75D13}"; - HRESULT hResult; + CComPtr objectWithSite; + CComPtr contextMenu; + CMINVOKECOMMANDINFO commandInfo; + const char *searchGUID = "{169A0691-8DF9-11d1-A1C4-00C04FD75D13}"; + HRESULT hResult; - // TODO: Query shell if this command is enabled first + // TODO: Query shell if this command is enabled first - memset(&commandInfo, 0, sizeof(commandInfo)); - commandInfo.cbSize = sizeof(commandInfo); - commandInfo.hwnd = m_hWnd; - commandInfo.lpParameters = searchGUID; - commandInfo.nShow = SW_SHOWNORMAL; + memset(&commandInfo, 0, sizeof(commandInfo)); + commandInfo.cbSize = sizeof(commandInfo); + commandInfo.hwnd = m_hWnd; + commandInfo.lpParameters = searchGUID; + commandInfo.nShow = SW_SHOWNORMAL; - hResult = CoCreateInstance(CLSID_ShellSearchExt, NULL, CLSCTX_INPROC_SERVER, - IID_IContextMenu, reinterpret_cast(&contextMenu)); - if (FAILED(hResult)) - return 0; - hResult = contextMenu->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); - if (FAILED(hResult)) - return 0; - hResult = objectWithSite->SetSite(fSite); - if (FAILED(hResult)) - return 0; - hResult = contextMenu->InvokeCommand(&commandInfo); - hResult = objectWithSite->SetSite(NULL); - return 0; + hResult = CoCreateInstance(CLSID_ShellSearchExt, NULL, CLSCTX_INPROC_SERVER, + IID_IContextMenu, reinterpret_cast(&contextMenu)); + if (FAILED(hResult)) + return 0; + hResult = contextMenu->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); + if (FAILED(hResult)) + return 0; + hResult = objectWithSite->SetSite(fSite); + if (FAILED(hResult)) + return 0; + hResult = contextMenu->InvokeCommand(&commandInfo); + hResult = objectWithSite->SetSite(NULL); + return 0; } LRESULT CInternetToolbar::OnFolders(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr oleCommandTarget; - HRESULT hResult; + CComPtr oleCommandTarget; + HRESULT hResult; - hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (FAILED(hResult)) - return hResult; - hResult = oleCommandTarget->Exec(&CGID_Explorer, 0x23, 0, NULL, NULL); - return 1; + hResult = fSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (FAILED(hResult)) + return hResult; + hResult = oleCommandTarget->Exec(&CGID_Explorer, 0x23, 0, NULL, NULL); + return 1; } LRESULT CInternetToolbar::OnForwardToCommandTarget(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - if (fCommandTarget.p != NULL) - { - hResult = fCommandTarget->Exec(&fCommandCategory, wID, 0, NULL, NULL); - } - return 1; + if (fCommandTarget.p != NULL) + { + hResult = fCommandTarget->Exec(&fCommandCategory, wID, 0, NULL, NULL); + } + return 1; } LRESULT CInternetToolbar::OnMenuDropDown(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled) { - CComPtr serviceProvider; - CComPtr browserService; - CComPtr commandTarget; - CComPtr travelLog; - NMTOOLBARW *notifyInfo; - RECT bounds; - HMENU newMenu; - TPMPARAMS params; - int selectedItem; - VARIANT parmIn; - OLECMD commandInfo; - HRESULT hResult; + CComPtr serviceProvider; + CComPtr browserService; + CComPtr commandTarget; + CComPtr travelLog; + NMTOOLBARW *notifyInfo; + RECT bounds; + HMENU newMenu; + TPMPARAMS params; + int selectedItem; + VARIANT parmIn; + OLECMD commandInfo; + HRESULT hResult; - notifyInfo = (NMTOOLBARW *)pNMHDR; - if (notifyInfo->hdr.hwndFrom != fToolbarWindow) - { - // not from the toolbar, keep looking for a message handler - bHandled = FALSE; - return 0; - } - SendMessage(fToolbarWindow, TB_GETRECT, notifyInfo->iItem, reinterpret_cast(&bounds)); - ::MapWindowPoints(fToolbarWindow, NULL, reinterpret_cast(&bounds), 2); - switch (notifyInfo->iItem) - { - case gBackCommandID: - newMenu = CreatePopupMenu(); - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - hResult = serviceProvider->QueryService( - SID_SShellBrowser, IID_IBrowserService, reinterpret_cast(&browserService)); - hResult = browserService->GetTravelLog(&travelLog); - hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_BACK); - hResult = browserService->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - commandInfo.cmdID = 0x1d; - hResult = commandTarget->QueryStatus(&CGID_Explorer, 1, &commandInfo, NULL); - if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED && - travelLog->CountEntries(browserService) > 1) - { - AppendMenu(newMenu, MF_SEPARATOR, -1, L""); - AppendMenu(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, L"&History\tCtrl+H"); - } - params.cbSize = sizeof (params); - params.rcExclude = bounds; - selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, - bounds.left, bounds.bottom, m_hWnd, ¶ms); - if (selectedItem == IDM_EXPLORERBAR_HISTORY) - { - V_VT(&parmIn) = VT_I4; - V_I4(&parmIn) = 1; - Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL); - } - else if (selectedItem != 0) - hResult = travelLog->Travel(browserService, -selectedItem); - DestroyMenu(newMenu); - break; - case gForwardCommandID: - newMenu = CreatePopupMenu(); - hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - hResult = serviceProvider->QueryService(SID_SShellBrowser, IID_IBrowserService, - reinterpret_cast(&browserService)); - hResult = browserService->GetTravelLog(&travelLog); - hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_FORE); - hResult = browserService->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - commandInfo.cmdID = 0x1d; - hResult = commandTarget->QueryStatus(&CGID_Explorer, 1, &commandInfo, NULL); - if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED && - travelLog->CountEntries(browserService) > 1) - { - AppendMenu(newMenu, MF_SEPARATOR, -1, L""); - AppendMenu(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, L"&History\tCtrl+H"); - } - params.cbSize = sizeof (params); - params.rcExclude = bounds; - selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, - bounds.left, bounds.bottom, m_hWnd, ¶ms); - if (selectedItem == IDM_EXPLORERBAR_HISTORY) - { - V_VT(&parmIn) = VT_I4; - V_I4(&parmIn) = 1; - Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL); - } - else if (selectedItem != 0) - hResult = travelLog->Travel(browserService, -selectedItem); - DestroyMenu(newMenu); - break; - case gViewsCommandID: - VARIANT inValue; - CComVariant outValue; - HRESULT hResult; + notifyInfo = (NMTOOLBARW *)pNMHDR; + if (notifyInfo->hdr.hwndFrom != fToolbarWindow) + { + // not from the toolbar, keep looking for a message handler + bHandled = FALSE; + return 0; + } + SendMessage(fToolbarWindow, TB_GETRECT, notifyInfo->iItem, reinterpret_cast(&bounds)); + ::MapWindowPoints(fToolbarWindow, NULL, reinterpret_cast(&bounds), 2); + switch (notifyInfo->iItem) + { + case gBackCommandID: + newMenu = CreatePopupMenu(); + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + hResult = serviceProvider->QueryService( + SID_SShellBrowser, IID_IBrowserService, reinterpret_cast(&browserService)); + hResult = browserService->GetTravelLog(&travelLog); + hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_BACK); + hResult = browserService->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + commandInfo.cmdID = 0x1d; + hResult = commandTarget->QueryStatus(&CGID_Explorer, 1, &commandInfo, NULL); + if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED && + travelLog->CountEntries(browserService) > 1) + { + AppendMenu(newMenu, MF_SEPARATOR, -1, L""); + AppendMenu(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, L"&History\tCtrl+H"); + } + params.cbSize = sizeof (params); + params.rcExclude = bounds; + selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, + bounds.left, bounds.bottom, m_hWnd, ¶ms); + if (selectedItem == IDM_EXPLORERBAR_HISTORY) + { + V_VT(&parmIn) = VT_I4; + V_I4(&parmIn) = 1; + Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL); + } + else if (selectedItem != 0) + hResult = travelLog->Travel(browserService, -selectedItem); + DestroyMenu(newMenu); + break; + case gForwardCommandID: + newMenu = CreatePopupMenu(); + hResult = fSite->QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + hResult = serviceProvider->QueryService(SID_SShellBrowser, IID_IBrowserService, + reinterpret_cast(&browserService)); + hResult = browserService->GetTravelLog(&travelLog); + hResult = travelLog->InsertMenuEntries(browserService, newMenu, 0, 1, 9, TLMENUF_FORE); + hResult = browserService->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + commandInfo.cmdID = 0x1d; + hResult = commandTarget->QueryStatus(&CGID_Explorer, 1, &commandInfo, NULL); + if ((commandInfo.cmdf & (OLECMDF_ENABLED | OLECMDF_LATCHED)) == OLECMDF_ENABLED && + travelLog->CountEntries(browserService) > 1) + { + AppendMenu(newMenu, MF_SEPARATOR, -1, L""); + AppendMenu(newMenu, MF_STRING /* | MF_OWNERDRAW */, IDM_EXPLORERBAR_HISTORY, L"&History\tCtrl+H"); + } + params.cbSize = sizeof (params); + params.rcExclude = bounds; + selectedItem = TrackPopupMenuEx(newMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, + bounds.left, bounds.bottom, m_hWnd, ¶ms); + if (selectedItem == IDM_EXPLORERBAR_HISTORY) + { + V_VT(&parmIn) = VT_I4; + V_I4(&parmIn) = 1; + Exec(&CGID_Explorer, 0x1d, 2, &parmIn, NULL); + } + else if (selectedItem != 0) + hResult = travelLog->Travel(browserService, -selectedItem); + DestroyMenu(newMenu); + break; + case gViewsCommandID: + VARIANT inValue; + CComVariant outValue; + HRESULT hResult; - V_VT(&inValue) = VT_INT_PTR; - V_INTREF(&inValue) = reinterpret_cast(&bounds); + V_VT(&inValue) = VT_INT_PTR; + V_INTREF(&inValue) = reinterpret_cast(&bounds); - if (fCommandTarget.p != NULL) - hResult = fCommandTarget->Exec(&fCommandCategory, 0x7031, 1, &inValue, &outValue); - // pvaOut is VT_I4 with value 0x403 - break; - } - return TBDDRET_DEFAULT; + if (fCommandTarget.p != NULL) + hResult = fCommandTarget->Exec(&fCommandCategory, 0x7031, 1, &inValue, &outValue); + // pvaOut is VT_I4 with value 0x403 + break; + } + return TBDDRET_DEFAULT; } LRESULT CInternetToolbar::OnQueryInsert(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled) { - return 1; + return 1; } LRESULT CInternetToolbar::OnQueryDelete(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled) { - return 1; + return 1; } LRESULT CInternetToolbar::OnNavigateCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - CComPtr winEventHandler; - LRESULT theResult; - HRESULT hResult; + CComPtr winEventHandler; + LRESULT theResult; + HRESULT hResult; - hResult = fNavigationBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - hResult = winEventHandler->OnWinEvent(m_hWnd, uMsg, wParam, lParam, &theResult); - if (SUCCEEDED(hResult)) - return theResult; - bHandled = FALSE; - return 0; + hResult = fNavigationBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + hResult = winEventHandler->OnWinEvent(m_hWnd, uMsg, wParam, lParam, &theResult); + if (SUCCEEDED(hResult)) + return theResult; + bHandled = FALSE; + return 0; } LRESULT CInternetToolbar::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - HMENU contextMenuBar; - HMENU contextMenu; - POINT clickLocation; - int command; - RBHITTESTINFO hitTestInfo; - REBARBANDINFOW rebarBandInfo; - int bandID; + HMENU contextMenuBar; + HMENU contextMenu; + POINT clickLocation; + int command; + RBHITTESTINFO hitTestInfo; + REBARBANDINFOW rebarBandInfo; + int bandID; - clickLocation.x = LOWORD(lParam); - clickLocation.y = HIWORD(lParam); - hitTestInfo.pt = clickLocation; - ScreenToClient(&hitTestInfo.pt); - SendMessage(fMainReBar, RB_HITTEST, 0, (LPARAM)&hitTestInfo); - if (hitTestInfo.iBand == -1) - return 0; - rebarBandInfo.cbSize = sizeof(rebarBandInfo); - rebarBandInfo.fMask = RBBIM_ID; - SendMessage(fMainReBar, RB_GETBANDINFOW, hitTestInfo.iBand, (LPARAM)&rebarBandInfo); - bandID = rebarBandInfo.wID; - contextMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU)); - contextMenu = GetSubMenu(contextMenuBar, 0); - switch (bandID) - { - case ITBBID_MENUBAND: // menu band - DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); - break; - case ITBBID_BRANDBAND: // brand band - DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); - break; - case ITBBID_TOOLSBAND: // tools band - DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); - break; - case ITBBID_ADDRESSBAND: // navigation band - DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); - DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); - break; - default: - break; - } - // TODO: use GetSystemMetrics(SM_MENUDROPALIGNMENT) to determine menu alignment - command = TrackPopupMenu(contextMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, - clickLocation.x, clickLocation.y, 0, m_hWnd, NULL); - switch (command) - { - case IDM_TOOLBARS_STANDARDBUTTONS: // standard buttons - break; - case IDM_TOOLBARS_ADDRESSBAR: // address bar - break; - case IDM_TOOLBARS_LINKSBAR: // links - break; - case IDM_TOOLBARS_LOCKTOOLBARS: // lock the toolbars - LockUnlockToolbars(!fLocked); - break; - case IDM_TOOLBARS_CUSTOMIZE: // customize - SendMessage(fToolbarWindow, TB_CUSTOMIZE, 0, 0); - break; - } - return 1; + clickLocation.x = LOWORD(lParam); + clickLocation.y = HIWORD(lParam); + hitTestInfo.pt = clickLocation; + ScreenToClient(&hitTestInfo.pt); + SendMessage(fMainReBar, RB_HITTEST, 0, (LPARAM)&hitTestInfo); + if (hitTestInfo.iBand == -1) + return 0; + rebarBandInfo.cbSize = sizeof(rebarBandInfo); + rebarBandInfo.fMask = RBBIM_ID; + SendMessage(fMainReBar, RB_GETBANDINFOW, hitTestInfo.iBand, (LPARAM)&rebarBandInfo); + bandID = rebarBandInfo.wID; + contextMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU)); + contextMenu = GetSubMenu(contextMenuBar, 0); + switch (bandID) + { + case ITBBID_MENUBAND: // menu band + DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); + break; + case ITBBID_BRANDBAND: // brand band + DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); + break; + case ITBBID_TOOLSBAND: // tools band + DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); + break; + case ITBBID_ADDRESSBAND: // navigation band + DeleteMenu(contextMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); + DeleteMenu(contextMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); + break; + default: + break; + } + // TODO: use GetSystemMetrics(SM_MENUDROPALIGNMENT) to determine menu alignment + command = TrackPopupMenu(contextMenu, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, + clickLocation.x, clickLocation.y, 0, m_hWnd, NULL); + switch (command) + { + case IDM_TOOLBARS_STANDARDBUTTONS: // standard buttons + break; + case IDM_TOOLBARS_ADDRESSBAR: // address bar + break; + case IDM_TOOLBARS_LINKSBAR: // links + break; + case IDM_TOOLBARS_LOCKTOOLBARS: // lock the toolbars + LockUnlockToolbars(!fLocked); + break; + case IDM_TOOLBARS_CUSTOMIZE: // customize + SendMessage(fToolbarWindow, TB_CUSTOMIZE, 0, 0); + break; + } + return 1; } LRESULT CInternetToolbar::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if (wParam != SIZE_MINIMIZED) - { - ::SetWindowPos(fMainReBar, NULL, 0, 0, LOWORD(lParam), HIWORD(lParam), - SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE); - } - return 1; + if (wParam != SIZE_MINIMIZED) + { + ::SetWindowPos(fMainReBar, NULL, 0, 0, LOWORD(lParam), HIWORD(lParam), + SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE); + } + return 1; } LRESULT CInternetToolbar::OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd) - { - bHandled = FALSE; - return 0; - } - SetCursor(LoadCursor(NULL, IDC_SIZENS)); - return 1; + if ((short)lParam != HTCLIENT || (HWND)wParam != m_hWnd) + { + bHandled = FALSE; + return 0; + } + SetCursor(LoadCursor(NULL, IDC_SIZENS)); + return 1; } LRESULT CInternetToolbar::OnTipText(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled) { - CComPtr browserService; - CComPtr travelLog; - TOOLTIPTEXTW *pTTTW; - UINT nID; - wchar_t tempString[300]; - HRESULT hResult; + CComPtr browserService; + CComPtr travelLog; + TOOLTIPTEXTW *pTTTW; + UINT nID; + wchar_t tempString[300]; + HRESULT hResult; - pTTTW = reinterpret_cast(pNMHDR); - if ((pTTTW->uFlags & TTF_IDISHWND) != 0) - nID = ::GetDlgCtrlID((HWND)pNMHDR->idFrom); - else - nID = (UINT)pNMHDR->idFrom; + pTTTW = reinterpret_cast(pNMHDR); + if ((pTTTW->uFlags & TTF_IDISHWND) != 0) + nID = ::GetDlgCtrlID((HWND)pNMHDR->idFrom); + else + nID = (UINT)pNMHDR->idFrom; - if (nID != 0) - { - if (nID == (UINT)gBackCommandID || nID == (UINT)gForwardCommandID) - { - // TODO: Should this call QueryService? - hResult = fSite->QueryInterface(IID_IBrowserService, reinterpret_cast(&browserService)); - hResult = browserService->GetTravelLog(&travelLog); - hResult = travelLog->GetToolTipText(browserService, - (nID == (UINT)gBackCommandID) ? TLOG_BACK : TLOG_FORE, - 0, tempString, 299); - if (FAILED(hResult)) - { - bHandled = FALSE; - return 0; - } - } - else - tempString[0] = 0; - wcsncpy (pTTTW->szText, tempString, sizeof (pTTTW->szText) / sizeof (wchar_t)); - ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0, - SWP_NOOWNERZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); - return 0; - } - return 0; + if (nID != 0) + { + if (nID == (UINT)gBackCommandID || nID == (UINT)gForwardCommandID) + { + // TODO: Should this call QueryService? + hResult = fSite->QueryInterface(IID_IBrowserService, reinterpret_cast(&browserService)); + hResult = browserService->GetTravelLog(&travelLog); + hResult = travelLog->GetToolTipText(browserService, + (nID == (UINT)gBackCommandID) ? TLOG_BACK : TLOG_FORE, + 0, tempString, 299); + if (FAILED(hResult)) + { + bHandled = FALSE; + return 0; + } + } + else + tempString[0] = 0; + wcsncpy (pTTTW->szText, tempString, sizeof (pTTTW->szText) / sizeof (wchar_t)); + ::SetWindowPos(pNMHDR->hwndFrom, HWND_TOP, 0, 0, 0, 0, + SWP_NOOWNERZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); + return 0; + } + return 0; } LRESULT CInternetToolbar::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - NMHDR *notifyHeader; - CComPtr menuWinEventHandler; - LRESULT theResult; - HRESULT hResult; + NMHDR *notifyHeader; + CComPtr menuWinEventHandler; + LRESULT theResult; + HRESULT hResult; - notifyHeader = (NMHDR *)lParam; - if (fMenuBar.p != NULL && notifyHeader->hwndFrom == fMenuBandWindow) - { - hResult = fMenuBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); - hResult = menuWinEventHandler->OnWinEvent(fMenuBandWindow, uMsg, wParam, lParam, &theResult); - return theResult; - } - if (fNavigationBar.p != NULL && notifyHeader->hwndFrom == fNavigationWindow) - { - hResult = fNavigationBar->QueryInterface( - IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); - hResult = menuWinEventHandler->OnWinEvent(m_hWnd, uMsg, wParam, lParam, &theResult); - return theResult; - } - return 0; + notifyHeader = (NMHDR *)lParam; + if (fMenuBar.p != NULL && notifyHeader->hwndFrom == fMenuBandWindow) + { + hResult = fMenuBar->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); + hResult = menuWinEventHandler->OnWinEvent(fMenuBandWindow, uMsg, wParam, lParam, &theResult); + return theResult; + } + if (fNavigationBar.p != NULL && notifyHeader->hwndFrom == fNavigationWindow) + { + hResult = fNavigationBar->QueryInterface( + IID_IWinEventHandler, reinterpret_cast(&menuWinEventHandler)); + hResult = menuWinEventHandler->OnWinEvent(m_hWnd, uMsg, wParam, lParam, &theResult); + return theResult; + } + return 0; } HRESULT CreateInternetToolbar(REFIID riid, void **ppv) { - CComObject *theToolbar; - HRESULT hResult; + CComObject *theToolbar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theToolbar = new CComObject); - if (theToolbar == NULL) - return E_OUTOFMEMORY; - hResult = theToolbar->QueryInterface (riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theToolbar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theToolbar = new CComObject); + if (theToolbar == NULL) + return E_OUTOFMEMORY; + hResult = theToolbar->QueryInterface (riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theToolbar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/internettoolbar.h b/reactos/dll/win32/browseui/internettoolbar.h index b7f2efabd6b..71520e30287 100644 --- a/reactos/dll/win32/browseui/internettoolbar.h +++ b/reactos/dll/win32/browseui/internettoolbar.h @@ -45,196 +45,196 @@ static const int gPasteCommandID = 0x701a; static const int gFolderOptionsCommandID = 41251; class CMenuCallback : - public CComObjectRootEx, - public IShellMenuCallback + public CComObjectRootEx, + public IShellMenuCallback { private: - CComPtr fFavoritesMenu; + CComPtr fFavoritesMenu; public: - CMenuCallback(); - ~CMenuCallback(); + CMenuCallback(); + ~CMenuCallback(); - HRESULT STDMETHODCALLTYPE GetObject(LPSMDATA psmd, REFIID riid, void **ppvObject); + HRESULT STDMETHODCALLTYPE GetObject(LPSMDATA psmd, REFIID riid, void **ppvObject); public: - // *** IShellMenuCallback methods *** - virtual HRESULT STDMETHODCALLTYPE CallbackSM(LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam); + // *** IShellMenuCallback methods *** + virtual HRESULT STDMETHODCALLTYPE CallbackSM(LPSMDATA psmd, UINT uMsg, WPARAM wParam, LPARAM lParam); BEGIN_COM_MAP(CMenuCallback) - COM_INTERFACE_ENTRY_IID(IID_IShellMenuCallback, IShellMenuCallback) + COM_INTERFACE_ENTRY_IID(IID_IShellMenuCallback, IShellMenuCallback) END_COM_MAP() }; class CInternetToolbar : - public CWindowImpl, - public CComCoClass, - public CComObjectRootEx, - public IInputObject, - public IDockingWindow, - public IPersistStreamInit, - public IOleCommandTarget, - public IDispatch, - public IExplorerToolbar, - public IShellChangeNotify, - public IObjectWithSite, - public IServiceProvider, - public IWinEventHandler, - public IBandSite + public CWindowImpl, + public CComCoClass, + public CComObjectRootEx, + public IInputObject, + public IDockingWindow, + public IPersistStreamInit, + public IOleCommandTarget, + public IDispatch, + public IExplorerToolbar, + public IShellChangeNotify, + public IObjectWithSite, + public IServiceProvider, + public IWinEventHandler, + public IBandSite { public: - CComPtr fSite; // our site - HWND fMainReBar; // rebar for top of window - bool fLocked; // is bar locked to prevent changes? - CComPtr fMenuBar; // the menu rebar - HWND fMenuBandWindow; - HWND fNavigationWindow; - CComPtr fLogoBar; // the reactos logo - CComPtr fControlsBar; // navigation controls - CComPtr fNavigationBar; // address bar - CComObject fMenuCallback; - CComPtr fCommandTarget; - GUID fCommandCategory; - HWND fToolbarWindow; - DWORD fAdviseCookie; - CComPtr fBandProxy; + CComPtr fSite; // our site + HWND fMainReBar; // rebar for top of window + bool fLocked; // is bar locked to prevent changes? + CComPtr fMenuBar; // the menu rebar + HWND fMenuBandWindow; + HWND fNavigationWindow; + CComPtr fLogoBar; // the reactos logo + CComPtr fControlsBar; // navigation controls + CComPtr fNavigationBar; // address bar + CComObject fMenuCallback; + CComPtr fCommandTarget; + GUID fCommandCategory; + HWND fToolbarWindow; + DWORD fAdviseCookie; + CComPtr fBandProxy; public: - CInternetToolbar(); - ~CInternetToolbar(); - void AddDockItem(IUnknown *newItem, int bandID, int flags); - HRESULT ReserveBorderSpace(); - HRESULT CreateMenuBar(IShellMenu **menuBar); - HRESULT CreateBrandBand(IUnknown **logoBar); - HRESULT CreateToolsBar(IUnknown **toolsBar); - HRESULT CreateAddressBand(IUnknown **toolsBar); - HRESULT LockUnlockToolbars(bool locked); - HRESULT CommandStateChanged(bool newValue, int commandID); - HRESULT CreateAndInitBandProxy(); + CInternetToolbar(); + ~CInternetToolbar(); + void AddDockItem(IUnknown *newItem, int bandID, int flags); + HRESULT ReserveBorderSpace(); + HRESULT CreateMenuBar(IShellMenu **menuBar); + HRESULT CreateBrandBand(IUnknown **logoBar); + HRESULT CreateToolsBar(IUnknown **toolsBar); + HRESULT CreateAddressBand(IUnknown **toolsBar); + HRESULT LockUnlockToolbars(bool locked); + HRESULT CommandStateChanged(bool newValue, int commandID); + HRESULT CreateAndInitBandProxy(); public: // *** IInputObject specific methods *** virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); - virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); - virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStreamInit methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - virtual HRESULT STDMETHODCALLTYPE InitNew(); + // *** IPersistStreamInit methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + virtual HRESULT STDMETHODCALLTYPE InitNew(); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IDispatch methods *** - virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); - virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); - virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); - virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); + // *** IDispatch methods *** + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); + virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); - // *** IExplorerToolbar methods *** - virtual HRESULT STDMETHODCALLTYPE SetCommandTarget(IUnknown *theTarget, GUID *category, long param14); - virtual HRESULT STDMETHODCALLTYPE Unknown1(); - virtual HRESULT STDMETHODCALLTYPE AddButtons(const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons); - virtual HRESULT STDMETHODCALLTYPE AddString(const GUID *pguidCmdGroup, HINSTANCE param10, LPCTSTR param14, long *param18); - virtual HRESULT STDMETHODCALLTYPE GetButton(const GUID *pguidCmdGroup, long param10, long param14); - virtual HRESULT STDMETHODCALLTYPE GetState(const GUID *pguidCmdGroup, long commandID, long *theState); - virtual HRESULT STDMETHODCALLTYPE SetState(const GUID *pguidCmdGroup, long commandID, long theState); - virtual HRESULT STDMETHODCALLTYPE AddBitmap(const GUID *pguidCmdGroup, long param10, long buttonCount, TBADDBITMAP *lParam, long *newIndex, COLORREF param20); - virtual HRESULT STDMETHODCALLTYPE GetBitmapSize(long *paramC); - virtual HRESULT STDMETHODCALLTYPE SendToolbarMsg(const GUID *pguidCmdGroup, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *result); - virtual HRESULT STDMETHODCALLTYPE SetImageList(const GUID *pguidCmdGroup, HIMAGELIST param10, HIMAGELIST param14, HIMAGELIST param18); - virtual HRESULT STDMETHODCALLTYPE ModifyButton(const GUID *pguidCmdGroup, long param10, long param14); + // *** IExplorerToolbar methods *** + virtual HRESULT STDMETHODCALLTYPE SetCommandTarget(IUnknown *theTarget, GUID *category, long param14); + virtual HRESULT STDMETHODCALLTYPE Unknown1(); + virtual HRESULT STDMETHODCALLTYPE AddButtons(const GUID *pguidCmdGroup, long buttonCount, TBBUTTON *buttons); + virtual HRESULT STDMETHODCALLTYPE AddString(const GUID *pguidCmdGroup, HINSTANCE param10, LPCTSTR param14, long *param18); + virtual HRESULT STDMETHODCALLTYPE GetButton(const GUID *pguidCmdGroup, long param10, long param14); + virtual HRESULT STDMETHODCALLTYPE GetState(const GUID *pguidCmdGroup, long commandID, long *theState); + virtual HRESULT STDMETHODCALLTYPE SetState(const GUID *pguidCmdGroup, long commandID, long theState); + virtual HRESULT STDMETHODCALLTYPE AddBitmap(const GUID *pguidCmdGroup, long param10, long buttonCount, TBADDBITMAP *lParam, long *newIndex, COLORREF param20); + virtual HRESULT STDMETHODCALLTYPE GetBitmapSize(long *paramC); + virtual HRESULT STDMETHODCALLTYPE SendToolbarMsg(const GUID *pguidCmdGroup, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *result); + virtual HRESULT STDMETHODCALLTYPE SetImageList(const GUID *pguidCmdGroup, HIMAGELIST param10, HIMAGELIST param14, HIMAGELIST param18); + virtual HRESULT STDMETHODCALLTYPE ModifyButton(const GUID *pguidCmdGroup, long param10, long param14); // *** IShellChangeNotify methods *** virtual HRESULT STDMETHODCALLTYPE OnChange(LONG lEvent, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IWinEventHandler methods *** - virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); - virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); + // *** IWinEventHandler methods *** + virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); + virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); - // *** IBandSite specific methods *** - virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); - virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName); - virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); - virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); - virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); - virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); + // *** IBandSite specific methods *** + virtual HRESULT STDMETHODCALLTYPE AddBand(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE EnumBands(UINT uBand, DWORD *pdwBandID); + virtual HRESULT STDMETHODCALLTYPE QueryBand(DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName); + virtual HRESULT STDMETHODCALLTYPE SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState); + virtual HRESULT STDMETHODCALLTYPE RemoveBand(DWORD dwBandID); + virtual HRESULT STDMETHODCALLTYPE GetBandObject(DWORD dwBandID, REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(const BANDSITEINFO *pbsinfo); + virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(BANDSITEINFO *pbsinfo); - // message handlers - LRESULT OnTravelBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnTravelForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnSearch(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnFolders(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnForwardToCommandTarget(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnMenuDropDown(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); - LRESULT OnQueryInsert(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); - LRESULT OnQueryDelete(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); - LRESULT OnNavigateCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnTipText(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); - LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnTravelBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnTravelForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnSearch(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnFolders(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnForwardToCommandTarget(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnMenuDropDown(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); + LRESULT OnQueryInsert(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); + LRESULT OnQueryDelete(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); + LRESULT OnNavigateCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSetCursor(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnTipText(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); + LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - BEGIN_MSG_MAP(CInternetToolbar) - COMMAND_ID_HANDLER(gBackCommandID, OnTravelBack) - COMMAND_ID_HANDLER(gForwardCommandID, OnTravelForward) - COMMAND_ID_HANDLER(gUpLevelCommandID, OnUpLevel) - COMMAND_ID_HANDLER(gSearchCommandID, OnSearch) - COMMAND_ID_HANDLER(gFoldersCommandID, OnFolders) - COMMAND_RANGE_HANDLER(0x7000, 0x7fff, OnForwardToCommandTarget) - NOTIFY_HANDLER(0, TBN_DROPDOWN, OnMenuDropDown) - NOTIFY_HANDLER(0, TBN_QUERYINSERT, OnQueryInsert) - NOTIFY_HANDLER(0, TBN_QUERYDELETE, OnQueryDelete) - MESSAGE_HANDLER(WM_COMMAND, OnNavigateCommand) - MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu) - MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_SETCURSOR, OnSetCursor) - NOTIFY_CODE_HANDLER(TTN_NEEDTEXTW, OnTipText) - MESSAGE_HANDLER(WM_NOTIFY, OnNotify) - END_MSG_MAP() + BEGIN_MSG_MAP(CInternetToolbar) + COMMAND_ID_HANDLER(gBackCommandID, OnTravelBack) + COMMAND_ID_HANDLER(gForwardCommandID, OnTravelForward) + COMMAND_ID_HANDLER(gUpLevelCommandID, OnUpLevel) + COMMAND_ID_HANDLER(gSearchCommandID, OnSearch) + COMMAND_ID_HANDLER(gFoldersCommandID, OnFolders) + COMMAND_RANGE_HANDLER(0x7000, 0x7fff, OnForwardToCommandTarget) + NOTIFY_HANDLER(0, TBN_DROPDOWN, OnMenuDropDown) + NOTIFY_HANDLER(0, TBN_QUERYINSERT, OnQueryInsert) + NOTIFY_HANDLER(0, TBN_QUERYDELETE, OnQueryDelete) + MESSAGE_HANDLER(WM_COMMAND, OnNavigateCommand) + MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu) + MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_SETCURSOR, OnSetCursor) + NOTIFY_CODE_HANDLER(TTN_NEEDTEXTW, OnTipText) + MESSAGE_HANDLER(WM_NOTIFY, OnNotify) + END_MSG_MAP() - DECLARE_REGISTRY_RESOURCEID(IDR_INTERNETTOOLBAR) - DECLARE_NOT_AGGREGATABLE(CInternetToolbar) + DECLARE_REGISTRY_RESOURCEID(IDR_INTERNETTOOLBAR) + DECLARE_NOT_AGGREGATABLE(CInternetToolbar) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CInternetToolbar) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - // COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) - COM_INTERFACE_ENTRY_IID(IID_IPersistStreamInit, IPersistStreamInit) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) - COM_INTERFACE_ENTRY_IID(IID_IExplorerToolbar, IExplorerToolbar) - COM_INTERFACE_ENTRY_IID(IID_IShellChangeNotify, IShellChangeNotify) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) - COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) - END_COM_MAP() + BEGIN_COM_MAP(CInternetToolbar) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) +// COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IPersistStreamInit, IPersistStreamInit) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) + COM_INTERFACE_ENTRY_IID(IID_IExplorerToolbar, IExplorerToolbar) + COM_INTERFACE_ENTRY_IID(IID_IShellChangeNotify, IShellChangeNotify) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) + COM_INTERFACE_ENTRY_IID(IID_IBandSite, IBandSite) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/newatlinterfaces.h b/reactos/dll/win32/browseui/newatlinterfaces.h index 6b9c2ee6c9d..c052e361455 100644 --- a/reactos/dll/win32/browseui/newatlinterfaces.h +++ b/reactos/dll/win32/browseui/newatlinterfaces.h @@ -24,20 +24,20 @@ template class IProfferServiceImpl : public IProfferService { public: - STDMETHODIMP ProfferService(REFGUID rguidService, IServiceProvider *psp, DWORD *pdwCookie) - { - return E_NOTIMPL; - } + STDMETHODIMP ProfferService(REFGUID rguidService, IServiceProvider *psp, DWORD *pdwCookie) + { + return E_NOTIMPL; + } - STDMETHODIMP RevokeService(DWORD dwCookie) - { - return E_NOTIMPL; - } + STDMETHODIMP RevokeService(DWORD dwCookie) + { + return E_NOTIMPL; + } - HRESULT QueryService(REFGUID guidService, REFIID riid, void **ppvObject) - { - return E_FAIL; - } + HRESULT QueryService(REFGUID guidService, REFIID riid, void **ppvObject) + { + return E_FAIL; + } }; /* @@ -50,38 +50,38 @@ template class MyIConnectionPointImpl : public IConnectionPointImpl { public: - STDMETHODIMP Advise(IUnknown *pUnkSink, DWORD *pdwCookie) - { - IConnectionPointImpl *pThisCPImpl; - T *pThis; - IUnknown *adviseSink; - DWORD newCookie; - HRESULT hResult; + STDMETHODIMP Advise(IUnknown *pUnkSink, DWORD *pdwCookie) + { + IConnectionPointImpl *pThisCPImpl; + T *pThis; + IUnknown *adviseSink; + DWORD newCookie; + HRESULT hResult; - pThis = static_cast(this); - pThisCPImpl = static_cast *>(this); - if (pdwCookie != NULL) - *pdwCookie = 0; - if (pUnkSink == NULL || pdwCookie == NULL) - return E_POINTER; - hResult = pUnkSink->QueryInterface(IID_IDispatch, reinterpret_cast(&adviseSink)); - if (FAILED(hResult)) - { - if (hResult == E_NOINTERFACE) - return CONNECT_E_CANNOTCONNECT; - return hResult; - } - pThis->Lock(); - newCookie = pThisCPImpl->m_vec.Add(adviseSink); - pThis->Unlock(); - *pdwCookie = newCookie; - if (newCookie != 0) - hResult = S_OK; - else - { - adviseSink->Release(); - hResult = CONNECT_E_ADVISELIMIT; - } - return hResult; - } + pThis = static_cast(this); + pThisCPImpl = static_cast *>(this); + if (pdwCookie != NULL) + *pdwCookie = 0; + if (pUnkSink == NULL || pdwCookie == NULL) + return E_POINTER; + hResult = pUnkSink->QueryInterface(IID_IDispatch, reinterpret_cast(&adviseSink)); + if (FAILED(hResult)) + { + if (hResult == E_NOINTERFACE) + return CONNECT_E_CANNOTCONNECT; + return hResult; + } + pThis->Lock(); + newCookie = pThisCPImpl->m_vec.Add(adviseSink); + pThis->Unlock(); + *pdwCookie = newCookie; + if (newCookie != 0) + hResult = S_OK; + else + { + adviseSink->Release(); + hResult = CONNECT_E_ADVISELIMIT; + } + return hResult; + } }; diff --git a/reactos/dll/win32/browseui/regtreeoptions.cpp b/reactos/dll/win32/browseui/regtreeoptions.cpp index a9ae73c6399..8e2ea1b796c 100644 --- a/reactos/dll/win32/browseui/regtreeoptions.cpp +++ b/reactos/dll/win32/browseui/regtreeoptions.cpp @@ -30,30 +30,30 @@ CRegTreeOptions::~CRegTreeOptions() HRESULT STDMETHODCALLTYPE CRegTreeOptions::InitTree(HWND paramC, HKEY param10, char const *param14, char const *param18) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CRegTreeOptions::WalkTree(WALK_TREE_CMD paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CRegTreeOptions::ToggleItem(HTREEITEM paramC) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CRegTreeOptions::ShowHelp(HTREEITEM paramC, unsigned long param10) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CRegTreeOptions::SetSite(IUnknown *pUnkSite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CRegTreeOptions::GetSite(REFIID riid, void **ppvSite) { - return E_NOTIMPL; + return E_NOTIMPL; } diff --git a/reactos/dll/win32/browseui/regtreeoptions.h b/reactos/dll/win32/browseui/regtreeoptions.h index bf26ed179c2..634e5da1df9 100644 --- a/reactos/dll/win32/browseui/regtreeoptions.h +++ b/reactos/dll/win32/browseui/regtreeoptions.h @@ -21,33 +21,33 @@ #pragma once class CRegTreeOptions : - public CComCoClass, - public CComObjectRootEx, - public IRegTreeOptions, - public IObjectWithSite + public CComCoClass, + public CComObjectRootEx, + public IRegTreeOptions, + public IObjectWithSite { private: public: - CRegTreeOptions(); - ~CRegTreeOptions(); + CRegTreeOptions(); + ~CRegTreeOptions(); - // *** IRegTreeOptions methods *** - virtual HRESULT STDMETHODCALLTYPE InitTree(HWND paramC, HKEY param10, char const *param14, char const *param18); - virtual HRESULT STDMETHODCALLTYPE WalkTree(WALK_TREE_CMD paramC); - virtual HRESULT STDMETHODCALLTYPE ToggleItem(HTREEITEM paramC); - virtual HRESULT STDMETHODCALLTYPE ShowHelp(HTREEITEM paramC, unsigned long param10); + // *** IRegTreeOptions methods *** + virtual HRESULT STDMETHODCALLTYPE InitTree(HWND paramC, HKEY param10, char const *param14, char const *param18); + virtual HRESULT STDMETHODCALLTYPE WalkTree(WALK_TREE_CMD paramC); + virtual HRESULT STDMETHODCALLTYPE ToggleItem(HTREEITEM paramC); + virtual HRESULT STDMETHODCALLTYPE ShowHelp(HTREEITEM paramC, unsigned long param10); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - DECLARE_REGISTRY_RESOURCEID(IDR_REGTREEOPTIONS) - DECLARE_NOT_AGGREGATABLE(CRegTreeOptions) + DECLARE_REGISTRY_RESOURCEID(IDR_REGTREEOPTIONS) + DECLARE_NOT_AGGREGATABLE(CRegTreeOptions) - DECLARE_PROTECT_FINAL_CONSTRUCT() + DECLARE_PROTECT_FINAL_CONSTRUCT() - BEGIN_COM_MAP(CRegTreeOptions) - COM_INTERFACE_ENTRY_IID(IID_IRegTreeOptions, IRegTreeOptions) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - END_COM_MAP() + BEGIN_COM_MAP(CRegTreeOptions) + COM_INTERFACE_ENTRY_IID(IID_IRegTreeOptions, IRegTreeOptions) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + END_COM_MAP() }; diff --git a/reactos/dll/win32/browseui/resource.h b/reactos/dll/win32/browseui/resource.h index 5a214cf9bb2..d78747b6fec 100644 --- a/reactos/dll/win32/browseui/resource.h +++ b/reactos/dll/win32/browseui/resource.h @@ -20,83 +20,83 @@ #pragma once -#define IDM_FILE_CLOSE 0xA021 -#define IDM_FILE_EXPLORE_MENU 0xA027 -#define IDM_EXPLORE_ITEM_FIRST 0xA470 -#define IDM_EXPLORE_ITEM_LAST 0xA570 -#define IDM_FILE_EXPLORE_SEP 0xA028 -#define IDM_VIEW_TOOLBARS 0xA201 -#define IDM_TOOLBARS_STANDARDBUTTONS 0xA204 -#define IDM_TOOLBARS_ADDRESSBAR 0xA205 -#define IDM_TOOLBARS_LINKSBAR 0xA206 -#define IDM_TOOLBARS_LOCKTOOLBARS 0xA20C -#define IDM_TOOLBARS_CUSTOMIZE 0xA21D -#define IDM_TOOLBARS_TEXTLABELS 0xA207 -#define IDM_TOOLBARS_GOBUTTON 0xA20B -#define IDM_VIEW_STATUSBAR 0xA202 -#define IDM_VIEW_EXPLORERBAR 0xA230 -#define IDM_EXPLORERBAR_SEARCH 0xA231 -#define IDM_EXPLORERBAR_FAVORITES 0xA232 -#define IDM_EXPLORERBAR_MEDIA 0xA237 -#define IDM_EXPLORERBAR_HISTORY 0xA233 -#define IDM_EXPLORERBAR_FOLDERS 0xA235 -#define IDM_EXPLORERBAR_SEPARATOR 0xA23B -#define IDM_GOTO_BACK 0xA121 -#define IDM_GOTO_FORWARD 0xA122 -#define IDM_GOTO_UPONELEVEL 0xA022 -#define IDM_GOTO_HOMEPAGE 0xA125 -#define IDM_VIEW_REFRESH 0xA220 -#define IDM_FAVORITES_ADDTOFAVORITES 0xA173 -#define IDM_FAVORITES_ORGANIZEFAVORITES 0xA172 -#define IDM_FAVORITES_EMPTY 0xA17E -#define IDM_TOOLS_MAPNETWORKDRIVE 0xA081 -#define IDM_TOOLS_DISCONNECTNETWORKDRIVE 0xA082 -#define IDM_TOOLS_SYNCHRONIZE 0xA176 -#define IDM_TOOLS_FOLDEROPTIONS 0xA123 -#define IDM_HELP_ISTHISCOPYLEGAL 0xA104 -#define IDM_HELP_ABOUT 0xA102 +#define IDM_FILE_CLOSE 0xA021 +#define IDM_FILE_EXPLORE_MENU 0xA027 +#define IDM_EXPLORE_ITEM_FIRST 0xA470 +#define IDM_EXPLORE_ITEM_LAST 0xA570 +#define IDM_FILE_EXPLORE_SEP 0xA028 +#define IDM_VIEW_TOOLBARS 0xA201 +#define IDM_TOOLBARS_STANDARDBUTTONS 0xA204 +#define IDM_TOOLBARS_ADDRESSBAR 0xA205 +#define IDM_TOOLBARS_LINKSBAR 0xA206 +#define IDM_TOOLBARS_LOCKTOOLBARS 0xA20C +#define IDM_TOOLBARS_CUSTOMIZE 0xA21D +#define IDM_TOOLBARS_TEXTLABELS 0xA207 +#define IDM_TOOLBARS_GOBUTTON 0xA20B +#define IDM_VIEW_STATUSBAR 0xA202 +#define IDM_VIEW_EXPLORERBAR 0xA230 +#define IDM_EXPLORERBAR_SEARCH 0xA231 +#define IDM_EXPLORERBAR_FAVORITES 0xA232 +#define IDM_EXPLORERBAR_MEDIA 0xA237 +#define IDM_EXPLORERBAR_HISTORY 0xA233 +#define IDM_EXPLORERBAR_FOLDERS 0xA235 +#define IDM_EXPLORERBAR_SEPARATOR 0xA23B +#define IDM_GOTO_BACK 0xA121 +#define IDM_GOTO_FORWARD 0xA122 +#define IDM_GOTO_UPONELEVEL 0xA022 +#define IDM_GOTO_HOMEPAGE 0xA125 +#define IDM_VIEW_REFRESH 0xA220 +#define IDM_FAVORITES_ADDTOFAVORITES 0xA173 +#define IDM_FAVORITES_ORGANIZEFAVORITES 0xA172 +#define IDM_FAVORITES_EMPTY 0xA17E +#define IDM_TOOLS_MAPNETWORKDRIVE 0xA081 +#define IDM_TOOLS_DISCONNECTNETWORKDRIVE 0xA082 +#define IDM_TOOLS_SYNCHRONIZE 0xA176 +#define IDM_TOOLS_FOLDEROPTIONS 0xA123 +#define IDM_HELP_ISTHISCOPYLEGAL 0xA104 +#define IDM_HELP_ABOUT 0xA102 -#define IDM_GOTO_TRAVEL_FIRST 0xA141 -#define IDM_GOTO_TRAVEL_LAST 0xA151 -#define IDM_GOTO_TRAVEL_SEP IDM_GOTO_TRAVEL_FIRST -#define IDM_GOTO_TRAVEL_FIRSTTARGET IDM_GOTO_TRAVEL_FIRST+1 -#define IDM_GOTO_TRAVEL_LASTTARGET IDM_GOTO_TRAVEL_LAST +#define IDM_GOTO_TRAVEL_FIRST 0xA141 +#define IDM_GOTO_TRAVEL_LAST 0xA151 +#define IDM_GOTO_TRAVEL_SEP IDM_GOTO_TRAVEL_FIRST +#define IDM_GOTO_TRAVEL_FIRSTTARGET IDM_GOTO_TRAVEL_FIRST+1 +#define IDM_GOTO_TRAVEL_LASTTARGET IDM_GOTO_TRAVEL_LAST -#define IDM_CABINET_CONTEXTMENU 103 -#define IDM_CABINET_MAINMENU 104 +#define IDM_CABINET_CONTEXTMENU 103 +#define IDM_CABINET_MAINMENU 104 -#define IDR_ACLMULTI 128 -#define IDR_ADDRESSBAND 129 -#define IDR_ADDRESSEDITBOX 130 -#define IDR_BANDPROXY 131 -#define IDR_BANDSITE 132 -#define IDR_BANDSITEMENU 133 -#define IDR_BRANDBAND 134 -#define IDR_COMMONBROWSER 135 -#define IDR_INTERNETTOOLBAR 136 -#define IDR_GLOBALFOLDERSETTINGS 137 -#define IDR_REGTREEOPTIONS 138 +#define IDR_ACLMULTI 128 +#define IDR_ADDRESSBAND 129 +#define IDR_ADDRESSEDITBOX 130 +#define IDR_BANDPROXY 131 +#define IDR_BANDSITE 132 +#define IDR_BANDSITEMENU 133 +#define IDR_BRANDBAND 134 +#define IDR_COMMONBROWSER 135 +#define IDR_INTERNETTOOLBAR 136 +#define IDR_GLOBALFOLDERSETTINGS 137 +#define IDR_REGTREEOPTIONS 138 -#define IDS_SMALLICONS 12301 -#define IDS_LARGEICONS 12302 -#define IDS_SHOWTEXTLABELS 12303 -#define IDS_NOTEXTLABELS 12304 -#define IDS_SELECTIVETEXTONRIGHT 12305 -#define IDS_GOBUTTONLABEL 12656 -#define IDS_GOBUTTONTIPTEMPLATE 12657 -#define IDS_SEARCHLABEL 12897 -#define IDS_ADDRESSBANDLABEL 12902 -#define IDS_FOLDERSLABEL 12919 -#define IDS_HISTORYTEXT 13169 -#define IDS_UP 58434 -#define IDS_BACK 58689 -#define IDS_FORWARD 58690 +#define IDS_SMALLICONS 12301 +#define IDS_LARGEICONS 12302 +#define IDS_SHOWTEXTLABELS 12303 +#define IDS_NOTEXTLABELS 12304 +#define IDS_SELECTIVETEXTONRIGHT 12305 +#define IDS_GOBUTTONLABEL 12656 +#define IDS_GOBUTTONTIPTEMPLATE 12657 +#define IDS_SEARCHLABEL 12897 +#define IDS_ADDRESSBANDLABEL 12902 +#define IDS_FOLDERSLABEL 12919 +#define IDS_HISTORYTEXT 13169 +#define IDS_UP 58434 +#define IDS_BACK 58689 +#define IDS_FORWARD 58690 -#define IDR_ACCELERATORS 256 +#define IDR_ACCELERATORS 256 -#define IDI_CABINET 103 +#define IDI_CABINET 103 -#define IDD_CUSTOMIZETOOLBAREX 256 +#define IDD_CUSTOMIZETOOLBAREX 256 -#define IDC_TEXTOPTIONS 4096 -#define IDC_ICONOPTIONS 4097 +#define IDC_TEXTOPTIONS 4096 +#define IDC_ICONOPTIONS 4097 diff --git a/reactos/dll/win32/browseui/shellbrowser.cpp b/reactos/dll/win32/browseui/shellbrowser.cpp index e5f784b98aa..1b8d9383bd0 100644 --- a/reactos/dll/win32/browseui/shellbrowser.cpp +++ b/reactos/dll/win32/browseui/shellbrowser.cpp @@ -24,12 +24,12 @@ TODO: **Provide implementation of new and delete that use LocalAlloc **Persist history for shell view isn't working correctly, possibly because of the mismatch between traveling and updating the travel log. The - view doesn't restore the selection correctly. + view doesn't restore the selection correctly. **Build explorer.exe, browseui.dll, comctl32.dll, shdocvw.dll, shell32.dll, shlwapi.dll into a directory and run them for testing... **Add brand band bitmaps to shell32.dll **If Go button on address bar is clicked, each time a new duplicate entry is added to travel log ****The current entry is updated in travel log before doing the travel, which means when traveling back the update of the - current state overwrites the wrong entry's contents. This needs to be changed. + current state overwrites the wrong entry's contents. This needs to be changed. ****Fix close of browser window to release all objects ****Given only a GUID in ShowBrowserBar, what is the correct way to determine if the bar is vertical or horizontal? **When a new bar is added to base bar site, how is base bar told so it can resize? @@ -52,49 +52,49 @@ TODO: **When a new bar is shown, re-fire the navigate event. This makes the explorer band select the correct folder **Implement support for refresh. Forward refresh to explorer bar (refresh on toolbar and in menu is dispatched different) Make folders toolbar item update state appropriately - Read list of bands from registry on launch - Read list of bars from registry on launch + Read list of bands from registry on launch + Read list of bars from registry on launch If the folders or search bars don't exist, disable the toolbar buttons If the favorites or history bars don't exist, disable the toolbar butons - Fix Apply to all Folders in Folder Options - Implement close command + Fix Apply to all Folders in Folder Options + Implement close command Add explorer band context menu to file menu Add code to allow restore of internet toolbar from registry - Fix code that calls FireNavigateComplete to pass the correct new path + Fix code that calls FireNavigateComplete to pass the correct new path What are the other command ids for QueryStatus/FireCommandStateChange? - Add handler for cabinet settings change - Add handler for system metrics change (renegotiate border space?) - Add handler for theme change and forward to contained windows + Add handler for cabinet settings change + Add handler for system metrics change (renegotiate border space?) + Add handler for theme change and forward to contained windows When folders are shown, the status bar text should change - Add code to save/restore shell view settings - Implement tabbing between frames + Add code to save/restore shell view settings + Implement tabbing between frames Fix handling of focus everywhere - Most keyboard shortcuts don't work, such as F2 for rename, F5 for refresh (see list in "explorer keyboard shortcuts") + Most keyboard shortcuts don't work, such as F2 for rename, F5 for refresh (see list in "explorer keyboard shortcuts") The status bar doesn't show help text for items owned by frame during menu tracking Stub out frame command handlers - "Arrange icons by" group is not checked properly + "Arrange icons by" group is not checked properly - When folders are hidden, icon is the same as the current shell object being displayed. When folders are shown, - the icon is always an open folder with magnifying glass - Fix bars to calculate height correctly - Hookup policies for everything... - Investigate toolbar message WM_USER+93 - Investigate toolbar message WM_USER+100 (Adds extra padding between parts of buttons with BTNS_DROPDOWN | BTNS_SHOWTEXT style + When folders are hidden, icon is the same as the current shell object being displayed. When folders are shown, + the icon is always an open folder with magnifying glass + Fix bars to calculate height correctly + Hookup policies for everything... + Investigate toolbar message WM_USER+93 + Investigate toolbar message WM_USER+100 (Adds extra padding between parts of buttons with BTNS_DROPDOWN | BTNS_SHOWTEXT style - Vertical Explorer Bar CATID_InfoBand - Horizontal Explorer Bar CATID_CommBand - Desk Band CATID_DeskBand + Vertical Explorer Bar CATID_InfoBand + Horizontal Explorer Bar CATID_CommBand + Desk Band CATID_DeskBand - cache of bars - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021493-0000-0000-C000-000000000046}\Enum - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021494-0000-0000-C000-000000000046}\Enum + cache of bars + HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021493-0000-0000-C000-000000000046}\Enum + HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\Component Categories\{00021494-0000-0000-C000-000000000046}\Enum - create key here with CLSID of bar to register tool band - HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Toolbar + create key here with CLSID of bar to register tool band + HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Toolbar */ @@ -110,17 +110,17 @@ TODO: struct categoryCacheHeader { - long dwSize; // size of header only - long version; // currently 1 - SYSTEMTIME writeTime; // time we were written to registry - long classCount; // number of classes following + long dwSize; // size of header only + long version; // currently 1 + SYSTEMTIME writeTime; // time we were written to registry + long classCount; // number of classes following }; -static const unsigned int folderOptionsPageCountMax = 20; -static const long BTP_UPDATE_CUR_HISTORY = 1; -static const long BTP_UPDATE_NEXT_HISTORY = 2; +static const unsigned int folderOptionsPageCountMax = 20; +static const long BTP_UPDATE_CUR_HISTORY = 1; +static const long BTP_UPDATE_NEXT_HISTORY = 2; -BOOL createNewStuff = false; +BOOL createNewStuff = false; // this class is private to browseui.dll and is not registered externally? @@ -156,68 +156,68 @@ inline LONG_PTR GetWindowLongPtr(HWND hWnd, int nIndex) HMENU SHGetMenuFromID(HMENU topMenu, int theID) { - MENUITEMINFO menuItemInfo; + MENUITEMINFO menuItemInfo; - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_SUBMENU; - if (!GetMenuItemInfo(topMenu, theID, FALSE, &menuItemInfo)) - return NULL; - return menuItemInfo.hSubMenu; + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_SUBMENU; + if (!GetMenuItemInfo(topMenu, theID, FALSE, &menuItemInfo)) + return NULL; + return menuItemInfo.hSubMenu; } void SHCheckMenuItem(HMENU theMenu, int theID, BOOL checked) { - MENUITEMINFO menuItemInfo; + MENUITEMINFO menuItemInfo; - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_STATE; - if (GetMenuItemInfo(theMenu, theID, FALSE, &menuItemInfo)) - { - if (checked) - menuItemInfo.fState |= MF_CHECKED; - else - menuItemInfo.fState &= ~MF_CHECKED; - SetMenuItemInfo(theMenu, theID, FALSE, &menuItemInfo); - } + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_STATE; + if (GetMenuItemInfo(theMenu, theID, FALSE, &menuItemInfo)) + { + if (checked) + menuItemInfo.fState |= MF_CHECKED; + else + menuItemInfo.fState &= ~MF_CHECKED; + SetMenuItemInfo(theMenu, theID, FALSE, &menuItemInfo); + } } void DeleteMenuItems(HMENU theMenu, unsigned int firstIDToDelete, unsigned int lastIDToDelete) { - MENUITEMINFO menuItemInfo; - int menuItemCount; - int curIndex; + MENUITEMINFO menuItemInfo; + int menuItemCount; + int curIndex; - menuItemCount = GetMenuItemCount(theMenu); - curIndex = 0; - while (curIndex < menuItemCount) - { - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_ID; - if (GetMenuItemInfo(theMenu, curIndex, TRUE, &menuItemInfo) && - menuItemInfo.wID >= firstIDToDelete && menuItemInfo.wID <= lastIDToDelete) - { - DeleteMenu(theMenu, curIndex, MF_BYPOSITION); - menuItemCount--; - } - else - curIndex++; - } + menuItemCount = GetMenuItemCount(theMenu); + curIndex = 0; + while (curIndex < menuItemCount) + { + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_ID; + if (GetMenuItemInfo(theMenu, curIndex, TRUE, &menuItemInfo) && + menuItemInfo.wID >= firstIDToDelete && menuItemInfo.wID <= lastIDToDelete) + { + DeleteMenu(theMenu, curIndex, MF_BYPOSITION); + menuItemCount--; + } + else + curIndex++; + } } HRESULT WINAPI SHBindToFolder(LPITEMIDLIST path, IShellFolder **newFolder) { - CComPtr desktop; + CComPtr desktop; - ::SHGetDesktopFolder(&desktop); - if (desktop == NULL) - return E_FAIL; - if (path == NULL || path->mkid.cb == 0) - { - *newFolder = desktop; - desktop.p->AddRef (); - return S_OK; - } - return desktop->BindToObject (path, NULL, IID_IShellFolder, reinterpret_cast(newFolder)); + ::SHGetDesktopFolder(&desktop); + if (desktop == NULL) + return E_FAIL; + if (path == NULL || path->mkid.cb == 0) + { + *newFolder = desktop; + desktop.p->AddRef (); + return S_OK; + } + return desktop->BindToObject (path, NULL, IID_IShellFolder, reinterpret_cast(newFolder)); } static const TCHAR szCabinetWndClass[] = TEXT("CabinetWClassX"); @@ -227,181 +227,181 @@ class CDockManager; class CShellBrowser; class CToolbarProxy : - public CWindowImpl + public CWindowImpl { private: - CComPtr fExplorerToolbar; + CComPtr fExplorerToolbar; public: - void Initialize(HWND parent, IUnknown *explorerToolbar); - -private: - - // message handlers - LRESULT OnAddBitmap(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnForwardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + void Initialize(HWND parent, IUnknown *explorerToolbar); - BEGIN_MSG_MAP(CToolbarProxy) - MESSAGE_HANDLER(TB_ADDBITMAP, OnAddBitmap) - MESSAGE_RANGE_HANDLER(WM_USER, 0x7fff, OnForwardMessage) - END_MSG_MAP() +private: + + // message handlers + LRESULT OnAddBitmap(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnForwardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + + BEGIN_MSG_MAP(CToolbarProxy) + MESSAGE_HANDLER(TB_ADDBITMAP, OnAddBitmap) + MESSAGE_RANGE_HANDLER(WM_USER, 0x7fff, OnForwardMessage) + END_MSG_MAP() }; void CToolbarProxy::Initialize(HWND parent, IUnknown *explorerToolbar) { - HWND myWindow; - HRESULT hResult; + HWND myWindow; + HRESULT hResult; - myWindow = SHCreateWorkerWindowW(0, parent, 0, WS_CHILD, NULL, 0); - if (myWindow != NULL) - { - SubclassWindow(myWindow); - SetWindowPos(NULL, -32000, -32000, 0, 0, SWP_NOOWNERZORDER | SWP_NOZORDER); - hResult = explorerToolbar->QueryInterface( - IID_IExplorerToolbar, reinterpret_cast(&fExplorerToolbar)); - } + myWindow = SHCreateWorkerWindowW(0, parent, 0, WS_CHILD, NULL, 0); + if (myWindow != NULL) + { + SubclassWindow(myWindow); + SetWindowPos(NULL, -32000, -32000, 0, 0, SWP_NOOWNERZORDER | SWP_NOZORDER); + hResult = explorerToolbar->QueryInterface( + IID_IExplorerToolbar, reinterpret_cast(&fExplorerToolbar)); + } } LRESULT CToolbarProxy::OnAddBitmap(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - long int result; - HRESULT hResult; + long int result; + HRESULT hResult; - result = 0; - if (fExplorerToolbar.p != NULL) - { - hResult = fExplorerToolbar->AddBitmap(&CGID_ShellBrowser, 1, (long)wParam, - reinterpret_cast(lParam), &result, RGB(192, 192, 192)); - hResult = fExplorerToolbar->AddBitmap(&CGID_ShellBrowser, 2, (long)wParam, - reinterpret_cast(lParam), &result, RGB(192, 192, 192)); - } - return result; + result = 0; + if (fExplorerToolbar.p != NULL) + { + hResult = fExplorerToolbar->AddBitmap(&CGID_ShellBrowser, 1, (long)wParam, + reinterpret_cast(lParam), &result, RGB(192, 192, 192)); + hResult = fExplorerToolbar->AddBitmap(&CGID_ShellBrowser, 2, (long)wParam, + reinterpret_cast(lParam), &result, RGB(192, 192, 192)); + } + return result; } LRESULT CToolbarProxy::OnForwardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - LRESULT result; - HRESULT hResult; + LRESULT result; + HRESULT hResult; - result = 0; - if (fExplorerToolbar.p != NULL) - hResult = fExplorerToolbar->SendToolbarMsg(&CGID_ShellBrowser, uMsg, wParam, lParam, &result); - return result; + result = 0; + if (fExplorerToolbar.p != NULL) + hResult = fExplorerToolbar->SendToolbarMsg(&CGID_ShellBrowser, uMsg, wParam, lParam, &result); + return result; } /* Switch to a new bar when it receives an Exec(CGID_IDeskBand, 1, 1, vaIn, NULL); - where vaIn will be a VT_UNKNOWN with the new bar. It also sends a RB_SHOWBAND to the - rebar + where vaIn will be a VT_UNKNOWN with the new bar. It also sends a RB_SHOWBAND to the + rebar */ class CShellBrowser : - public CWindowImpl, - public CComObjectRootEx, - public IShellBrowser, - public IDropTarget, - public IServiceProvider, - public IProfferServiceImpl, - public IShellBrowserService, - public IWebBrowser2, - public ITravelLogClient, - public IPersistHistory, - public IDockingWindowSite, - public IOleCommandTarget, - public IBrowserService2, - public IConnectionPointContainerImpl, - public MyIConnectionPointImpl, - public MyIConnectionPointImpl + public CWindowImpl, + public CComObjectRootEx, + public IShellBrowser, + public IDropTarget, + public IServiceProvider, + public IProfferServiceImpl, + public IShellBrowserService, + public IWebBrowser2, + public ITravelLogClient, + public IPersistHistory, + public IDockingWindowSite, + public IOleCommandTarget, + public IBrowserService2, + public IConnectionPointContainerImpl, + public MyIConnectionPointImpl, + public MyIConnectionPointImpl { private: - class barInfo - { - public: - RECT borderSpace; - CComPtr clientBar; - HWND hwnd; - }; - static const int BIInternetToolbar = 0; - static const int BIVerticalBaseBar = 1; - static const int BIHorizontalBaseBar = 2; + class barInfo + { + public: + RECT borderSpace; + CComPtr clientBar; + HWND hwnd; + }; + static const int BIInternetToolbar = 0; + static const int BIVerticalBaseBar = 1; + static const int BIHorizontalBaseBar = 2; - HWND fCurrentShellViewWindow; // our currently hosted shell view window - CComPtr fCurrentShellFolder; // - CComPtr fCurrentShellView; // - LPITEMIDLIST fCurrentDirectoryPIDL; // - HWND fStatusBar; - bool fStatusBarVisible; - CToolbarProxy fToolbarProxy; - barInfo fClientBars[3]; - CComPtr fTravelLog; - HMENU fCurrentMenuBar; - CABINETSTATE fCabinetState; - // The next three fields support persisted history for shell views. - // They do not need to be reference counted. - IOleObject *fHistoryObject; - IStream *fHistoryStream; - IBindCtx *fHistoryBindContext; + HWND fCurrentShellViewWindow; // our currently hosted shell view window + CComPtr fCurrentShellFolder; // + CComPtr fCurrentShellView; // + LPITEMIDLIST fCurrentDirectoryPIDL; // + HWND fStatusBar; + bool fStatusBarVisible; + CToolbarProxy fToolbarProxy; + barInfo fClientBars[3]; + CComPtr fTravelLog; + HMENU fCurrentMenuBar; + CABINETSTATE fCabinetState; + // The next three fields support persisted history for shell views. + // They do not need to be reference counted. + IOleObject *fHistoryObject; + IStream *fHistoryStream; + IBindCtx *fHistoryBindContext; public: #if 0 - ULONG InternalAddRef() - { - OutputDebugString(_T("AddRef\n")); - return CComObjectRootEx::InternalAddRef(); - } - ULONG InternalRelease() - { - OutputDebugString(_T("Release\n")); - return CComObjectRootEx::InternalRelease(); - } + ULONG InternalAddRef() + { + OutputDebugString(_T("AddRef\n")); + return CComObjectRootEx::InternalAddRef(); + } + ULONG InternalRelease() + { + OutputDebugString(_T("Release\n")); + return CComObjectRootEx::InternalRelease(); + } #endif - CShellBrowser(); - ~CShellBrowser(); - HRESULT Initialize(LPITEMIDLIST pidl, long b, long c, long d); + CShellBrowser(); + ~CShellBrowser(); + HRESULT Initialize(LPITEMIDLIST pidl, long b, long c, long d); public: - HRESULT BrowseToPIDL(LPCITEMIDLIST pidl, long flags); - HRESULT BrowseToPath(IShellFolder *newShellFolder, LPITEMIDLIST absolutePIDL, - FOLDERSETTINGS *folderSettings, long flags); - HRESULT GetMenuBand(REFIID riid, void **shellMenu); - HRESULT GetBaseBar(bool vertical, IUnknown **theBaseBar); - HRESULT ShowBand(const CLSID &classID, bool vertical); - HRESULT NavigateToParent(); - HRESULT DoFolderOptions(); - static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); - void RepositionBars(); - virtual WNDPROC GetWindowProc() - { - return WindowProc; - } - HRESULT FireEvent(DISPID dispIdMember, int argCount, VARIANT *arguments); - HRESULT FireNavigateComplete(const wchar_t *newDirectory); - HRESULT FireCommandStateChange(bool newState, int commandID); - HRESULT FireCommandStateChangeAll(); - HRESULT UpdateForwardBackState(); - void UpdateGotoMenu(HMENU theMenu); - void UpdateViewMenu(HMENU theMenu); + HRESULT BrowseToPIDL(LPCITEMIDLIST pidl, long flags); + HRESULT BrowseToPath(IShellFolder *newShellFolder, LPITEMIDLIST absolutePIDL, + FOLDERSETTINGS *folderSettings, long flags); + HRESULT GetMenuBand(REFIID riid, void **shellMenu); + HRESULT GetBaseBar(bool vertical, IUnknown **theBaseBar); + HRESULT ShowBand(const CLSID &classID, bool vertical); + HRESULT NavigateToParent(); + HRESULT DoFolderOptions(); + static LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); + void RepositionBars(); + virtual WNDPROC GetWindowProc() + { + return WindowProc; + } + HRESULT FireEvent(DISPID dispIdMember, int argCount, VARIANT *arguments); + HRESULT FireNavigateComplete(const wchar_t *newDirectory); + HRESULT FireCommandStateChange(bool newState, int commandID); + HRESULT FireCommandStateChangeAll(); + HRESULT UpdateForwardBackState(); + void UpdateGotoMenu(HMENU theMenu); + void UpdateViewMenu(HMENU theMenu); -/* // *** IDockingWindowFrame methods *** - virtual HRESULT STDMETHODCALLTYPE AddToolbar(IUnknown *punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); - virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(IUnknown *punkSrc, DWORD dwRemoveFlags); - virtual HRESULT STDMETHODCALLTYPE FindToolbar(LPCWSTR pwszItem, REFIID riid, void **ppv); - */ +/* // *** IDockingWindowFrame methods *** + virtual HRESULT STDMETHODCALLTYPE AddToolbar(IUnknown *punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags); + virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(IUnknown *punkSrc, DWORD dwRemoveFlags); + virtual HRESULT STDMETHODCALLTYPE FindToolbar(LPCWSTR pwszItem, REFIID riid, void **ppv); + */ - // *** IDockingWindowSite methods *** - virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); - virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + // *** IDockingWindowSite methods *** + virtual HRESULT STDMETHODCALLTYPE GetBorderDW(IUnknown* punkObj, LPRECT prcBorder); + virtual HRESULT STDMETHODCALLTYPE RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); + virtual HRESULT STDMETHODCALLTYPE SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw); - // *** IOleCommandTarget methods *** - virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, - OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); - virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); + // *** IOleCommandTarget methods *** + virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, + OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); + virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IShellBrowser methods *** + // *** IShellBrowser methods *** virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths); virtual HRESULT STDMETHODCALLTYPE SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject); virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(HMENU hmenuShared); @@ -416,331 +416,331 @@ public: virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(IShellView *ppshv); virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags); - // *** IDropTarget methods *** - virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - virtual HRESULT STDMETHODCALLTYPE DragLeave(); - virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + // *** IDropTarget methods *** + virtual HRESULT STDMETHODCALLTYPE DragEnter(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); + virtual HRESULT STDMETHODCALLTYPE DragLeave(); + virtual HRESULT STDMETHODCALLTYPE Drop(IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect); - // *** IServiceProvider methods *** - virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); + // *** IServiceProvider methods *** + virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); - // *** IShellBowserService methods *** - virtual HRESULT STDMETHODCALLTYPE GetPropertyBag(long flags, REFIID riid, void **ppvObject); + // *** IShellBowserService methods *** + virtual HRESULT STDMETHODCALLTYPE GetPropertyBag(long flags, REFIID riid, void **ppvObject); - // *** IDispatch methods *** - virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); - virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); - virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( - REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); - virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, - DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); + // *** IDispatch methods *** + virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); + virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); + virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames( + REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); + virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, + DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); - // *** IBrowserService methods *** - virtual HRESULT STDMETHODCALLTYPE GetParentSite(IOleInPlaceSite **ppipsite); - virtual HRESULT STDMETHODCALLTYPE SetTitle(IShellView *psv, LPCWSTR pszName); - virtual HRESULT STDMETHODCALLTYPE GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName); - virtual HRESULT STDMETHODCALLTYPE GetOleObject(IOleObject **ppobjv); - virtual HRESULT STDMETHODCALLTYPE GetTravelLog(ITravelLog **pptl); - virtual HRESULT STDMETHODCALLTYPE ShowControlWindow(UINT id, BOOL fShow); - virtual HRESULT STDMETHODCALLTYPE IsControlWindowShown(UINT id, BOOL *pfShown); - virtual HRESULT STDMETHODCALLTYPE IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags); - virtual HRESULT STDMETHODCALLTYPE IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut); - virtual HRESULT STDMETHODCALLTYPE DisplayParseError(HRESULT hres, LPCWSTR pwszPath); - virtual HRESULT STDMETHODCALLTYPE NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF); - virtual HRESULT STDMETHODCALLTYPE SetNavigateState(BNSTATE bnstate); - virtual HRESULT STDMETHODCALLTYPE GetNavigateState(BNSTATE *pbnstate); - virtual HRESULT STDMETHODCALLTYPE NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse); - virtual HRESULT STDMETHODCALLTYPE UpdateWindowList(); - virtual HRESULT STDMETHODCALLTYPE UpdateBackForwardState(); - virtual HRESULT STDMETHODCALLTYPE SetFlags(DWORD dwFlags, DWORD dwFlagMask); - virtual HRESULT STDMETHODCALLTYPE GetFlags(DWORD *pdwFlags); - virtual HRESULT STDMETHODCALLTYPE CanNavigateNow( void); - virtual HRESULT STDMETHODCALLTYPE GetPidl(LPCITEMIDLIST *ppidl); - virtual HRESULT STDMETHODCALLTYPE SetReferrer(LPCITEMIDLIST pidl); - virtual DWORD STDMETHODCALLTYPE GetBrowserIndex(); - virtual HRESULT STDMETHODCALLTYPE GetBrowserByIndex(DWORD dwID, IUnknown **ppunk); - virtual HRESULT STDMETHODCALLTYPE GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc); - virtual HRESULT STDMETHODCALLTYPE SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor); - virtual HRESULT STDMETHODCALLTYPE CacheOLEServer(IOleObject *pole); - virtual HRESULT STDMETHODCALLTYPE GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut); - virtual HRESULT STDMETHODCALLTYPE OnHttpEquiv(IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut); - virtual HRESULT STDMETHODCALLTYPE GetPalette(HPALETTE *hpal); - virtual HRESULT STDMETHODCALLTYPE RegisterWindow(BOOL fForceRegister, int swc); + // *** IBrowserService methods *** + virtual HRESULT STDMETHODCALLTYPE GetParentSite(IOleInPlaceSite **ppipsite); + virtual HRESULT STDMETHODCALLTYPE SetTitle(IShellView *psv, LPCWSTR pszName); + virtual HRESULT STDMETHODCALLTYPE GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName); + virtual HRESULT STDMETHODCALLTYPE GetOleObject(IOleObject **ppobjv); + virtual HRESULT STDMETHODCALLTYPE GetTravelLog(ITravelLog **pptl); + virtual HRESULT STDMETHODCALLTYPE ShowControlWindow(UINT id, BOOL fShow); + virtual HRESULT STDMETHODCALLTYPE IsControlWindowShown(UINT id, BOOL *pfShown); + virtual HRESULT STDMETHODCALLTYPE IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags); + virtual HRESULT STDMETHODCALLTYPE IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut); + virtual HRESULT STDMETHODCALLTYPE DisplayParseError(HRESULT hres, LPCWSTR pwszPath); + virtual HRESULT STDMETHODCALLTYPE NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF); + virtual HRESULT STDMETHODCALLTYPE SetNavigateState(BNSTATE bnstate); + virtual HRESULT STDMETHODCALLTYPE GetNavigateState(BNSTATE *pbnstate); + virtual HRESULT STDMETHODCALLTYPE NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse); + virtual HRESULT STDMETHODCALLTYPE UpdateWindowList(); + virtual HRESULT STDMETHODCALLTYPE UpdateBackForwardState(); + virtual HRESULT STDMETHODCALLTYPE SetFlags(DWORD dwFlags, DWORD dwFlagMask); + virtual HRESULT STDMETHODCALLTYPE GetFlags(DWORD *pdwFlags); + virtual HRESULT STDMETHODCALLTYPE CanNavigateNow( void); + virtual HRESULT STDMETHODCALLTYPE GetPidl(LPCITEMIDLIST *ppidl); + virtual HRESULT STDMETHODCALLTYPE SetReferrer(LPCITEMIDLIST pidl); + virtual DWORD STDMETHODCALLTYPE GetBrowserIndex(); + virtual HRESULT STDMETHODCALLTYPE GetBrowserByIndex(DWORD dwID, IUnknown **ppunk); + virtual HRESULT STDMETHODCALLTYPE GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc); + virtual HRESULT STDMETHODCALLTYPE SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor); + virtual HRESULT STDMETHODCALLTYPE CacheOLEServer(IOleObject *pole); + virtual HRESULT STDMETHODCALLTYPE GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut); + virtual HRESULT STDMETHODCALLTYPE OnHttpEquiv(IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut); + virtual HRESULT STDMETHODCALLTYPE GetPalette(HPALETTE *hpal); + virtual HRESULT STDMETHODCALLTYPE RegisterWindow(BOOL fForceRegister, int swc); - // *** IBrowserService2 methods *** - virtual LRESULT STDMETHODCALLTYPE WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE SetAsDefFolderSettings(); - virtual HRESULT STDMETHODCALLTYPE GetViewRect(RECT *prc); - virtual HRESULT STDMETHODCALLTYPE OnSize(WPARAM wParam); - virtual HRESULT STDMETHODCALLTYPE OnCreate(struct tagCREATESTRUCTW *pcs); - virtual LRESULT STDMETHODCALLTYPE OnCommand(WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE OnDestroy(); - virtual LRESULT STDMETHODCALLTYPE OnNotify(struct tagNMHDR *pnm); - virtual HRESULT STDMETHODCALLTYPE OnSetFocus(); - virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivateBS(BOOL fActive); - virtual HRESULT STDMETHODCALLTYPE ReleaseShellView(); - virtual HRESULT STDMETHODCALLTYPE ActivatePendingView(); - virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd); - virtual HRESULT STDMETHODCALLTYPE CreateBrowserPropSheetExt(REFIID riid, void **ppv); - virtual HRESULT STDMETHODCALLTYPE GetViewWindow(HWND *phwndView); - virtual HRESULT STDMETHODCALLTYPE GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd); - virtual LPBASEBROWSERDATA STDMETHODCALLTYPE PutBaseBrowserData( void); - virtual HRESULT STDMETHODCALLTYPE InitializeTravelLog(ITravelLog *ptl, DWORD dw); - virtual HRESULT STDMETHODCALLTYPE SetTopBrowser(); - virtual HRESULT STDMETHODCALLTYPE Offline(int iCmd); - virtual HRESULT STDMETHODCALLTYPE AllowViewResize(BOOL f); - virtual HRESULT STDMETHODCALLTYPE SetActivateState(UINT u); - virtual HRESULT STDMETHODCALLTYPE UpdateSecureLockIcon(int eSecureLock); - virtual HRESULT STDMETHODCALLTYPE InitializeDownloadManager(); - virtual HRESULT STDMETHODCALLTYPE InitializeTransitionSite(); - virtual HRESULT STDMETHODCALLTYPE _Initialize(HWND hwnd, IUnknown *pauto); - virtual HRESULT STDMETHODCALLTYPE _CancelPendingNavigationAsync( void); - virtual HRESULT STDMETHODCALLTYPE _CancelPendingView(); - virtual HRESULT STDMETHODCALLTYPE _MaySaveChanges(); - virtual HRESULT STDMETHODCALLTYPE _PauseOrResumeView(BOOL fPaused); - virtual HRESULT STDMETHODCALLTYPE _DisableModeless(); - virtual HRESULT STDMETHODCALLTYPE _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags); - virtual HRESULT STDMETHODCALLTYPE _TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew); - virtual HRESULT STDMETHODCALLTYPE _SwitchActivationNow(); - virtual HRESULT STDMETHODCALLTYPE _ExecChildren(IUnknown *punkBar, BOOL fBroadcast, const GUID *pguidCmdGroup, - DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut); - virtual HRESULT STDMETHODCALLTYPE _SendChildren( - HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE GetFolderSetData(struct tagFolderSetData *pfsd); - virtual HRESULT STDMETHODCALLTYPE _OnFocusChange(UINT itb); - virtual HRESULT STDMETHODCALLTYPE v_ShowHideChildWindows(BOOL fChildOnly); - virtual UINT STDMETHODCALLTYPE _get_itbLastFocus(); - virtual HRESULT STDMETHODCALLTYPE _put_itbLastFocus(UINT itbLastFocus); - virtual HRESULT STDMETHODCALLTYPE _UIActivateView(UINT uState); - virtual HRESULT STDMETHODCALLTYPE _GetViewBorderRect(RECT *prc); - virtual HRESULT STDMETHODCALLTYPE _UpdateViewRectSize(); - virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorder(UINT itb); - virtual HRESULT STDMETHODCALLTYPE _ResizeView(); - virtual HRESULT STDMETHODCALLTYPE _GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon); - virtual IStream *STDMETHODCALLTYPE v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName); - virtual LRESULT STDMETHODCALLTYPE ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); - virtual HRESULT STDMETHODCALLTYPE SetAcceleratorMenu(HACCEL hacc); - virtual int STDMETHODCALLTYPE _GetToolbarCount(); - virtual LPTOOLBARITEM STDMETHODCALLTYPE _GetToolbarItem(int itb); - virtual HRESULT STDMETHODCALLTYPE _SaveToolbars(IStream *pstm); - virtual HRESULT STDMETHODCALLTYPE _LoadToolbars(IStream *pstm); - virtual HRESULT STDMETHODCALLTYPE _CloseAndReleaseToolbars(BOOL fClose); - virtual HRESULT STDMETHODCALLTYPE v_MayGetNextToolbarFocus(LPMSG lpMsg, UINT itbNext, - int citb, LPTOOLBARITEM *pptbi, HWND *phwnd); - virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor); - virtual UINT STDMETHODCALLTYPE _FindTBar(IUnknown *punkSrc); - virtual HRESULT STDMETHODCALLTYPE _SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE v_MayTranslateAccelerator(MSG *pmsg); - virtual HRESULT STDMETHODCALLTYPE _GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor); - virtual HRESULT STDMETHODCALLTYPE v_CheckZoneCrossing(LPCITEMIDLIST pidl); + // *** IBrowserService2 methods *** + virtual LRESULT STDMETHODCALLTYPE WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE SetAsDefFolderSettings(); + virtual HRESULT STDMETHODCALLTYPE GetViewRect(RECT *prc); + virtual HRESULT STDMETHODCALLTYPE OnSize(WPARAM wParam); + virtual HRESULT STDMETHODCALLTYPE OnCreate(struct tagCREATESTRUCTW *pcs); + virtual LRESULT STDMETHODCALLTYPE OnCommand(WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE OnDestroy(); + virtual LRESULT STDMETHODCALLTYPE OnNotify(struct tagNMHDR *pnm); + virtual HRESULT STDMETHODCALLTYPE OnSetFocus(); + virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivateBS(BOOL fActive); + virtual HRESULT STDMETHODCALLTYPE ReleaseShellView(); + virtual HRESULT STDMETHODCALLTYPE ActivatePendingView(); + virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd); + virtual HRESULT STDMETHODCALLTYPE CreateBrowserPropSheetExt(REFIID riid, void **ppv); + virtual HRESULT STDMETHODCALLTYPE GetViewWindow(HWND *phwndView); + virtual HRESULT STDMETHODCALLTYPE GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd); + virtual LPBASEBROWSERDATA STDMETHODCALLTYPE PutBaseBrowserData( void); + virtual HRESULT STDMETHODCALLTYPE InitializeTravelLog(ITravelLog *ptl, DWORD dw); + virtual HRESULT STDMETHODCALLTYPE SetTopBrowser(); + virtual HRESULT STDMETHODCALLTYPE Offline(int iCmd); + virtual HRESULT STDMETHODCALLTYPE AllowViewResize(BOOL f); + virtual HRESULT STDMETHODCALLTYPE SetActivateState(UINT u); + virtual HRESULT STDMETHODCALLTYPE UpdateSecureLockIcon(int eSecureLock); + virtual HRESULT STDMETHODCALLTYPE InitializeDownloadManager(); + virtual HRESULT STDMETHODCALLTYPE InitializeTransitionSite(); + virtual HRESULT STDMETHODCALLTYPE _Initialize(HWND hwnd, IUnknown *pauto); + virtual HRESULT STDMETHODCALLTYPE _CancelPendingNavigationAsync( void); + virtual HRESULT STDMETHODCALLTYPE _CancelPendingView(); + virtual HRESULT STDMETHODCALLTYPE _MaySaveChanges(); + virtual HRESULT STDMETHODCALLTYPE _PauseOrResumeView(BOOL fPaused); + virtual HRESULT STDMETHODCALLTYPE _DisableModeless(); + virtual HRESULT STDMETHODCALLTYPE _NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE _TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew); + virtual HRESULT STDMETHODCALLTYPE _SwitchActivationNow(); + virtual HRESULT STDMETHODCALLTYPE _ExecChildren(IUnknown *punkBar, BOOL fBroadcast, const GUID *pguidCmdGroup, + DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut); + virtual HRESULT STDMETHODCALLTYPE _SendChildren( + HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE GetFolderSetData(struct tagFolderSetData *pfsd); + virtual HRESULT STDMETHODCALLTYPE _OnFocusChange(UINT itb); + virtual HRESULT STDMETHODCALLTYPE v_ShowHideChildWindows(BOOL fChildOnly); + virtual UINT STDMETHODCALLTYPE _get_itbLastFocus(); + virtual HRESULT STDMETHODCALLTYPE _put_itbLastFocus(UINT itbLastFocus); + virtual HRESULT STDMETHODCALLTYPE _UIActivateView(UINT uState); + virtual HRESULT STDMETHODCALLTYPE _GetViewBorderRect(RECT *prc); + virtual HRESULT STDMETHODCALLTYPE _UpdateViewRectSize(); + virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorder(UINT itb); + virtual HRESULT STDMETHODCALLTYPE _ResizeView(); + virtual HRESULT STDMETHODCALLTYPE _GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon); + virtual IStream *STDMETHODCALLTYPE v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName); + virtual LRESULT STDMETHODCALLTYPE ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); + virtual HRESULT STDMETHODCALLTYPE SetAcceleratorMenu(HACCEL hacc); + virtual int STDMETHODCALLTYPE _GetToolbarCount(); + virtual LPTOOLBARITEM STDMETHODCALLTYPE _GetToolbarItem(int itb); + virtual HRESULT STDMETHODCALLTYPE _SaveToolbars(IStream *pstm); + virtual HRESULT STDMETHODCALLTYPE _LoadToolbars(IStream *pstm); + virtual HRESULT STDMETHODCALLTYPE _CloseAndReleaseToolbars(BOOL fClose); + virtual HRESULT STDMETHODCALLTYPE v_MayGetNextToolbarFocus(LPMSG lpMsg, UINT itbNext, + int citb, LPTOOLBARITEM *pptbi, HWND *phwnd); + virtual HRESULT STDMETHODCALLTYPE _ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor); + virtual UINT STDMETHODCALLTYPE _FindTBar(IUnknown *punkSrc); + virtual HRESULT STDMETHODCALLTYPE _SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE v_MayTranslateAccelerator(MSG *pmsg); + virtual HRESULT STDMETHODCALLTYPE _GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor); + virtual HRESULT STDMETHODCALLTYPE v_CheckZoneCrossing(LPCITEMIDLIST pidl); - // *** IWebBrowser methods *** - virtual HRESULT STDMETHODCALLTYPE GoBack(); - virtual HRESULT STDMETHODCALLTYPE GoForward(); - virtual HRESULT STDMETHODCALLTYPE GoHome(); - virtual HRESULT STDMETHODCALLTYPE GoSearch(); - virtual HRESULT STDMETHODCALLTYPE Navigate(BSTR URL, VARIANT *Flags, VARIANT *TargetFrameName, - VARIANT *PostData, VARIANT *Headers); - virtual HRESULT STDMETHODCALLTYPE Refresh(); - virtual HRESULT STDMETHODCALLTYPE Refresh2(VARIANT *Level); - virtual HRESULT STDMETHODCALLTYPE Stop(); - virtual HRESULT STDMETHODCALLTYPE get_Application(IDispatch **ppDisp); - virtual HRESULT STDMETHODCALLTYPE get_Parent(IDispatch **ppDisp); - virtual HRESULT STDMETHODCALLTYPE get_Container(IDispatch **ppDisp); - virtual HRESULT STDMETHODCALLTYPE get_Document(IDispatch **ppDisp); - virtual HRESULT STDMETHODCALLTYPE get_TopLevelContainer(VARIANT_BOOL *pBool); - virtual HRESULT STDMETHODCALLTYPE get_Type(BSTR *Type); + // *** IWebBrowser methods *** + virtual HRESULT STDMETHODCALLTYPE GoBack(); + virtual HRESULT STDMETHODCALLTYPE GoForward(); + virtual HRESULT STDMETHODCALLTYPE GoHome(); + virtual HRESULT STDMETHODCALLTYPE GoSearch(); + virtual HRESULT STDMETHODCALLTYPE Navigate(BSTR URL, VARIANT *Flags, VARIANT *TargetFrameName, + VARIANT *PostData, VARIANT *Headers); + virtual HRESULT STDMETHODCALLTYPE Refresh(); + virtual HRESULT STDMETHODCALLTYPE Refresh2(VARIANT *Level); + virtual HRESULT STDMETHODCALLTYPE Stop(); + virtual HRESULT STDMETHODCALLTYPE get_Application(IDispatch **ppDisp); + virtual HRESULT STDMETHODCALLTYPE get_Parent(IDispatch **ppDisp); + virtual HRESULT STDMETHODCALLTYPE get_Container(IDispatch **ppDisp); + virtual HRESULT STDMETHODCALLTYPE get_Document(IDispatch **ppDisp); + virtual HRESULT STDMETHODCALLTYPE get_TopLevelContainer(VARIANT_BOOL *pBool); + virtual HRESULT STDMETHODCALLTYPE get_Type(BSTR *Type); // WIDL temp hack : when the interface contains 'long' WIDL writes it out as a 'LONG' -// Setting the prototype to LONG in this class breaks building with MSVC so we use +// Setting the prototype to LONG in this class breaks building with MSVC so we use // the correct 'long' type here and temp hack it for WIDL generated prototypes. #ifdef __exdisp_h__ #define long LONG #endif - virtual HRESULT STDMETHODCALLTYPE get_Left(long *pl); - virtual HRESULT STDMETHODCALLTYPE put_Left(long Left); - virtual HRESULT STDMETHODCALLTYPE get_Top(long *pl); - virtual HRESULT STDMETHODCALLTYPE put_Top(long Top); - virtual HRESULT STDMETHODCALLTYPE get_Width(long *pl); - virtual HRESULT STDMETHODCALLTYPE put_Width(long Width); - virtual HRESULT STDMETHODCALLTYPE get_Height(long *pl); - virtual HRESULT STDMETHODCALLTYPE put_Height(long Height); + virtual HRESULT STDMETHODCALLTYPE get_Left(long *pl); + virtual HRESULT STDMETHODCALLTYPE put_Left(long Left); + virtual HRESULT STDMETHODCALLTYPE get_Top(long *pl); + virtual HRESULT STDMETHODCALLTYPE put_Top(long Top); + virtual HRESULT STDMETHODCALLTYPE get_Width(long *pl); + virtual HRESULT STDMETHODCALLTYPE put_Width(long Width); + virtual HRESULT STDMETHODCALLTYPE get_Height(long *pl); + virtual HRESULT STDMETHODCALLTYPE put_Height(long Height); #ifdef __exdisp_h__ #undef long #endif - virtual HRESULT STDMETHODCALLTYPE get_LocationName(BSTR *LocationName); - virtual HRESULT STDMETHODCALLTYPE get_LocationURL(BSTR *LocationURL); - virtual HRESULT STDMETHODCALLTYPE get_Busy(VARIANT_BOOL *pBool); + virtual HRESULT STDMETHODCALLTYPE get_LocationName(BSTR *LocationName); + virtual HRESULT STDMETHODCALLTYPE get_LocationURL(BSTR *LocationURL); + virtual HRESULT STDMETHODCALLTYPE get_Busy(VARIANT_BOOL *pBool); - // *** IWebBrowserApp methods *** - virtual HRESULT STDMETHODCALLTYPE Quit(); - virtual HRESULT STDMETHODCALLTYPE ClientToWindow(int *pcx, int *pcy); - virtual HRESULT STDMETHODCALLTYPE PutProperty(BSTR Property, VARIANT vtValue); - virtual HRESULT STDMETHODCALLTYPE GetProperty(BSTR Property, VARIANT *pvtValue); - virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR *Name); - virtual HRESULT STDMETHODCALLTYPE get_HWND(SHANDLE_PTR *pHWND); - virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR *FullName); - virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR *Path); - virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL *pBool); - virtual HRESULT STDMETHODCALLTYPE put_Visible(VARIANT_BOOL Value); - virtual HRESULT STDMETHODCALLTYPE get_StatusBar(VARIANT_BOOL *pBool); - virtual HRESULT STDMETHODCALLTYPE put_StatusBar(VARIANT_BOOL Value); - virtual HRESULT STDMETHODCALLTYPE get_StatusText(BSTR *StatusText); - virtual HRESULT STDMETHODCALLTYPE put_StatusText(BSTR StatusText); - virtual HRESULT STDMETHODCALLTYPE get_ToolBar(int *Value); - virtual HRESULT STDMETHODCALLTYPE put_ToolBar(int Value); - virtual HRESULT STDMETHODCALLTYPE get_MenuBar(VARIANT_BOOL *Value); - virtual HRESULT STDMETHODCALLTYPE put_MenuBar(VARIANT_BOOL Value); - virtual HRESULT STDMETHODCALLTYPE get_FullScreen(VARIANT_BOOL *pbFullScreen); - virtual HRESULT STDMETHODCALLTYPE put_FullScreen(VARIANT_BOOL bFullScreen); + // *** IWebBrowserApp methods *** + virtual HRESULT STDMETHODCALLTYPE Quit(); + virtual HRESULT STDMETHODCALLTYPE ClientToWindow(int *pcx, int *pcy); + virtual HRESULT STDMETHODCALLTYPE PutProperty(BSTR Property, VARIANT vtValue); + virtual HRESULT STDMETHODCALLTYPE GetProperty(BSTR Property, VARIANT *pvtValue); + virtual HRESULT STDMETHODCALLTYPE get_Name(BSTR *Name); + virtual HRESULT STDMETHODCALLTYPE get_HWND(SHANDLE_PTR *pHWND); + virtual HRESULT STDMETHODCALLTYPE get_FullName(BSTR *FullName); + virtual HRESULT STDMETHODCALLTYPE get_Path(BSTR *Path); + virtual HRESULT STDMETHODCALLTYPE get_Visible(VARIANT_BOOL *pBool); + virtual HRESULT STDMETHODCALLTYPE put_Visible(VARIANT_BOOL Value); + virtual HRESULT STDMETHODCALLTYPE get_StatusBar(VARIANT_BOOL *pBool); + virtual HRESULT STDMETHODCALLTYPE put_StatusBar(VARIANT_BOOL Value); + virtual HRESULT STDMETHODCALLTYPE get_StatusText(BSTR *StatusText); + virtual HRESULT STDMETHODCALLTYPE put_StatusText(BSTR StatusText); + virtual HRESULT STDMETHODCALLTYPE get_ToolBar(int *Value); + virtual HRESULT STDMETHODCALLTYPE put_ToolBar(int Value); + virtual HRESULT STDMETHODCALLTYPE get_MenuBar(VARIANT_BOOL *Value); + virtual HRESULT STDMETHODCALLTYPE put_MenuBar(VARIANT_BOOL Value); + virtual HRESULT STDMETHODCALLTYPE get_FullScreen(VARIANT_BOOL *pbFullScreen); + virtual HRESULT STDMETHODCALLTYPE put_FullScreen(VARIANT_BOOL bFullScreen); - // *** IWebBrowser2 methods *** - virtual HRESULT STDMETHODCALLTYPE Navigate2(VARIANT *URL, VARIANT *Flags, VARIANT *TargetFrameName, - VARIANT *PostData, VARIANT *Headers); - virtual HRESULT STDMETHODCALLTYPE QueryStatusWB(OLECMDID cmdID, OLECMDF *pcmdf); - virtual HRESULT STDMETHODCALLTYPE ExecWB(OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, - VARIANT *pvaIn, VARIANT *pvaOut); - virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(VARIANT *pvaClsid, VARIANT *pvarShow, VARIANT *pvarSize); - virtual HRESULT STDMETHODCALLTYPE get_ReadyState(READYSTATE *plReadyState); - virtual HRESULT STDMETHODCALLTYPE get_Offline(VARIANT_BOOL *pbOffline); - virtual HRESULT STDMETHODCALLTYPE put_Offline(VARIANT_BOOL bOffline); - virtual HRESULT STDMETHODCALLTYPE get_Silent(VARIANT_BOOL *pbSilent); - virtual HRESULT STDMETHODCALLTYPE put_Silent(VARIANT_BOOL bSilent); - virtual HRESULT STDMETHODCALLTYPE get_RegisterAsBrowser(VARIANT_BOOL *pbRegister); - virtual HRESULT STDMETHODCALLTYPE put_RegisterAsBrowser(VARIANT_BOOL bRegister); - virtual HRESULT STDMETHODCALLTYPE get_RegisterAsDropTarget(VARIANT_BOOL *pbRegister); - virtual HRESULT STDMETHODCALLTYPE put_RegisterAsDropTarget(VARIANT_BOOL bRegister); - virtual HRESULT STDMETHODCALLTYPE get_TheaterMode(VARIANT_BOOL *pbRegister); - virtual HRESULT STDMETHODCALLTYPE put_TheaterMode(VARIANT_BOOL bRegister); - virtual HRESULT STDMETHODCALLTYPE get_AddressBar(VARIANT_BOOL *Value); - virtual HRESULT STDMETHODCALLTYPE put_AddressBar(VARIANT_BOOL Value); - virtual HRESULT STDMETHODCALLTYPE get_Resizable(VARIANT_BOOL *Value); - virtual HRESULT STDMETHODCALLTYPE put_Resizable(VARIANT_BOOL Value); + // *** IWebBrowser2 methods *** + virtual HRESULT STDMETHODCALLTYPE Navigate2(VARIANT *URL, VARIANT *Flags, VARIANT *TargetFrameName, + VARIANT *PostData, VARIANT *Headers); + virtual HRESULT STDMETHODCALLTYPE QueryStatusWB(OLECMDID cmdID, OLECMDF *pcmdf); + virtual HRESULT STDMETHODCALLTYPE ExecWB(OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, + VARIANT *pvaIn, VARIANT *pvaOut); + virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(VARIANT *pvaClsid, VARIANT *pvarShow, VARIANT *pvarSize); + virtual HRESULT STDMETHODCALLTYPE get_ReadyState(READYSTATE *plReadyState); + virtual HRESULT STDMETHODCALLTYPE get_Offline(VARIANT_BOOL *pbOffline); + virtual HRESULT STDMETHODCALLTYPE put_Offline(VARIANT_BOOL bOffline); + virtual HRESULT STDMETHODCALLTYPE get_Silent(VARIANT_BOOL *pbSilent); + virtual HRESULT STDMETHODCALLTYPE put_Silent(VARIANT_BOOL bSilent); + virtual HRESULT STDMETHODCALLTYPE get_RegisterAsBrowser(VARIANT_BOOL *pbRegister); + virtual HRESULT STDMETHODCALLTYPE put_RegisterAsBrowser(VARIANT_BOOL bRegister); + virtual HRESULT STDMETHODCALLTYPE get_RegisterAsDropTarget(VARIANT_BOOL *pbRegister); + virtual HRESULT STDMETHODCALLTYPE put_RegisterAsDropTarget(VARIANT_BOOL bRegister); + virtual HRESULT STDMETHODCALLTYPE get_TheaterMode(VARIANT_BOOL *pbRegister); + virtual HRESULT STDMETHODCALLTYPE put_TheaterMode(VARIANT_BOOL bRegister); + virtual HRESULT STDMETHODCALLTYPE get_AddressBar(VARIANT_BOOL *Value); + virtual HRESULT STDMETHODCALLTYPE put_AddressBar(VARIANT_BOOL Value); + virtual HRESULT STDMETHODCALLTYPE get_Resizable(VARIANT_BOOL *Value); + virtual HRESULT STDMETHODCALLTYPE put_Resizable(VARIANT_BOOL Value); - // *** ITravelLogClient methods *** - virtual HRESULT STDMETHODCALLTYPE FindWindowByIndex(DWORD dwID, IUnknown **ppunk); - virtual HRESULT STDMETHODCALLTYPE GetWindowData(LPWINDOWDATA pWinData); - virtual HRESULT STDMETHODCALLTYPE LoadHistoryPosition(LPWSTR pszUrlLocation, DWORD dwPosition); + // *** ITravelLogClient methods *** + virtual HRESULT STDMETHODCALLTYPE FindWindowByIndex(DWORD dwID, IUnknown **ppunk); + virtual HRESULT STDMETHODCALLTYPE GetWindowData(LPWINDOWDATA pWinData); + virtual HRESULT STDMETHODCALLTYPE LoadHistoryPosition(LPWSTR pszUrlLocation, DWORD dwPosition); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistHistory methods *** - virtual HRESULT STDMETHODCALLTYPE LoadHistory(IStream *pStream, IBindCtx *pbc); - virtual HRESULT STDMETHODCALLTYPE SaveHistory(IStream *pStream); - virtual HRESULT STDMETHODCALLTYPE SetPositionCookie(DWORD dwPositioncookie); - virtual HRESULT STDMETHODCALLTYPE GetPositionCookie(DWORD *pdwPositioncookie); + // *** IPersistHistory methods *** + virtual HRESULT STDMETHODCALLTYPE LoadHistory(IStream *pStream, IBindCtx *pbc); + virtual HRESULT STDMETHODCALLTYPE SaveHistory(IStream *pStream); + virtual HRESULT STDMETHODCALLTYPE SetPositionCookie(DWORD dwPositioncookie); + virtual HRESULT STDMETHODCALLTYPE GetPositionCookie(DWORD *pdwPositioncookie); - // *** IBrowserService2 methods *** + // *** IBrowserService2 methods *** - // message handlers - LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnInitMenuPopup(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT RelayMsgToShellView(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - LRESULT OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnFolderOptions(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnMapNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnDisconnectNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnAboutReactOS(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnGoBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnGoForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnGoUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnGoHome(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnIsThisLegal(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleToolbarLock(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleToolbarBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleAddressBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleLinksBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToggleTextLabels(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnToolbarCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT OnGoTravel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); - LRESULT RelayCommands(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + // message handlers + LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnInitMenuPopup(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT RelayMsgToShellView(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnFolderOptions(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnMapNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnDisconnectNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnAboutReactOS(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnGoBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnGoForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnGoUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnGoHome(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnIsThisLegal(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleToolbarLock(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleToolbarBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleAddressBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleLinksBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToggleTextLabels(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnToolbarCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT OnGoTravel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); + LRESULT RelayCommands(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); - static ATL::CWndClassInfo& GetWndClassInfo() - { - static ATL::CWndClassInfo wc = - { - { sizeof(WNDCLASSEX), CS_DBLCLKS, StartWindowProc, - 0, 0, NULL, LoadIcon(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_CABINET)), - LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, szCabinetWndClass, NULL }, - NULL, NULL, IDC_ARROW, TRUE, 0, _T("") - }; - return wc; - } + static ATL::CWndClassInfo& GetWndClassInfo() + { + static ATL::CWndClassInfo wc = + { + { sizeof(WNDCLASSEX), CS_DBLCLKS, StartWindowProc, + 0, 0, NULL, LoadIcon(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_CABINET)), + LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW + 1), NULL, szCabinetWndClass, NULL }, + NULL, NULL, IDC_ARROW, TRUE, 0, _T("") + }; + return wc; + } - BEGIN_MSG_MAP(CShellBrowser) - MESSAGE_HANDLER(WM_DESTROY, OnDestroy) - MESSAGE_HANDLER(WM_SIZE, OnSize) - MESSAGE_HANDLER(WM_INITMENUPOPUP, OnInitMenuPopup) - MESSAGE_HANDLER(WM_MEASUREITEM, RelayMsgToShellView) - MESSAGE_HANDLER(WM_DRAWITEM, RelayMsgToShellView) - MESSAGE_HANDLER(WM_MENUSELECT, RelayMsgToShellView) - COMMAND_ID_HANDLER(IDM_FILE_CLOSE, OnClose) - COMMAND_ID_HANDLER(IDM_TOOLS_FOLDEROPTIONS, OnFolderOptions) - COMMAND_ID_HANDLER(IDM_TOOLS_MAPNETWORKDRIVE, OnMapNetworkDrive) - COMMAND_ID_HANDLER(IDM_TOOLS_DISCONNECTNETWORKDRIVE, OnDisconnectNetworkDrive) - COMMAND_ID_HANDLER(IDM_HELP_ABOUT, OnAboutReactOS) - COMMAND_ID_HANDLER(IDM_GOTO_BACK, OnGoBack) - COMMAND_ID_HANDLER(IDM_GOTO_FORWARD, OnGoForward) - COMMAND_ID_HANDLER(IDM_GOTO_UPONELEVEL, OnGoUpLevel) - COMMAND_ID_HANDLER(IDM_GOTO_HOMEPAGE, OnGoHome) - COMMAND_ID_HANDLER(IDM_HELP_ISTHISCOPYLEGAL, OnIsThisLegal) - COMMAND_ID_HANDLER(IDM_VIEW_STATUSBAR, OnToggleStatusBarVisible) - COMMAND_ID_HANDLER(IDM_TOOLBARS_LOCKTOOLBARS, OnToggleToolbarLock) - COMMAND_ID_HANDLER(IDM_TOOLBARS_STANDARDBUTTONS, OnToggleToolbarBandVisible) - COMMAND_ID_HANDLER(IDM_TOOLBARS_ADDRESSBAR, OnToggleAddressBandVisible) - COMMAND_ID_HANDLER(IDM_TOOLBARS_LINKSBAR, OnToggleLinksBandVisible) - COMMAND_ID_HANDLER(IDM_TOOLBARS_TEXTLABELS, OnToggleTextLabels) - COMMAND_ID_HANDLER(IDM_TOOLBARS_CUSTOMIZE, OnToolbarCustomize) - COMMAND_RANGE_HANDLER(IDM_GOTO_TRAVEL_FIRSTTARGET, IDM_GOTO_TRAVEL_LASTTARGET, OnGoTravel) - MESSAGE_HANDLER(WM_COMMAND, RelayCommands) - END_MSG_MAP() + BEGIN_MSG_MAP(CShellBrowser) + MESSAGE_HANDLER(WM_DESTROY, OnDestroy) + MESSAGE_HANDLER(WM_SIZE, OnSize) + MESSAGE_HANDLER(WM_INITMENUPOPUP, OnInitMenuPopup) + MESSAGE_HANDLER(WM_MEASUREITEM, RelayMsgToShellView) + MESSAGE_HANDLER(WM_DRAWITEM, RelayMsgToShellView) + MESSAGE_HANDLER(WM_MENUSELECT, RelayMsgToShellView) + COMMAND_ID_HANDLER(IDM_FILE_CLOSE, OnClose) + COMMAND_ID_HANDLER(IDM_TOOLS_FOLDEROPTIONS, OnFolderOptions) + COMMAND_ID_HANDLER(IDM_TOOLS_MAPNETWORKDRIVE, OnMapNetworkDrive) + COMMAND_ID_HANDLER(IDM_TOOLS_DISCONNECTNETWORKDRIVE, OnDisconnectNetworkDrive) + COMMAND_ID_HANDLER(IDM_HELP_ABOUT, OnAboutReactOS) + COMMAND_ID_HANDLER(IDM_GOTO_BACK, OnGoBack) + COMMAND_ID_HANDLER(IDM_GOTO_FORWARD, OnGoForward) + COMMAND_ID_HANDLER(IDM_GOTO_UPONELEVEL, OnGoUpLevel) + COMMAND_ID_HANDLER(IDM_GOTO_HOMEPAGE, OnGoHome) + COMMAND_ID_HANDLER(IDM_HELP_ISTHISCOPYLEGAL, OnIsThisLegal) + COMMAND_ID_HANDLER(IDM_VIEW_STATUSBAR, OnToggleStatusBarVisible) + COMMAND_ID_HANDLER(IDM_TOOLBARS_LOCKTOOLBARS, OnToggleToolbarLock) + COMMAND_ID_HANDLER(IDM_TOOLBARS_STANDARDBUTTONS, OnToggleToolbarBandVisible) + COMMAND_ID_HANDLER(IDM_TOOLBARS_ADDRESSBAR, OnToggleAddressBandVisible) + COMMAND_ID_HANDLER(IDM_TOOLBARS_LINKSBAR, OnToggleLinksBandVisible) + COMMAND_ID_HANDLER(IDM_TOOLBARS_TEXTLABELS, OnToggleTextLabels) + COMMAND_ID_HANDLER(IDM_TOOLBARS_CUSTOMIZE, OnToolbarCustomize) + COMMAND_RANGE_HANDLER(IDM_GOTO_TRAVEL_FIRSTTARGET, IDM_GOTO_TRAVEL_LASTTARGET, OnGoTravel) + MESSAGE_HANDLER(WM_COMMAND, RelayCommands) + END_MSG_MAP() - BEGIN_CONNECTION_POINT_MAP(CShellBrowser) - CONNECTION_POINT_ENTRY(DIID_DWebBrowserEvents2) - CONNECTION_POINT_ENTRY(DIID_DWebBrowserEvents) - END_CONNECTION_POINT_MAP() + BEGIN_CONNECTION_POINT_MAP(CShellBrowser) + CONNECTION_POINT_ENTRY(DIID_DWebBrowserEvents2) + CONNECTION_POINT_ENTRY(DIID_DWebBrowserEvents) + END_CONNECTION_POINT_MAP() - BEGIN_COM_MAP(CShellBrowser) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) - COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindowSite) - COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) - COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) - COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) - COM_INTERFACE_ENTRY_IID(IID_IProfferService, IProfferService) - COM_INTERFACE_ENTRY_IID(IID_IShellBrowserService, IShellBrowserService) - COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) - COM_INTERFACE_ENTRY_IID(IID_IConnectionPointContainer, IConnectionPointContainer) - COM_INTERFACE_ENTRY_IID(IID_IWebBrowser, IWebBrowser) - COM_INTERFACE_ENTRY_IID(IID_IWebBrowserApp, IWebBrowserApp) - COM_INTERFACE_ENTRY_IID(IID_IWebBrowser2, IWebBrowser2) - COM_INTERFACE_ENTRY_IID(IID_ITravelLogClient, ITravelLogClient) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistHistory, IPersistHistory) - COM_INTERFACE_ENTRY_IID(IID_IBrowserService, IBrowserService) - COM_INTERFACE_ENTRY_IID(IID_IBrowserService2, IBrowserService2) - END_COM_MAP() + BEGIN_COM_MAP(CShellBrowser) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindowSite, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) + COM_INTERFACE_ENTRY2_IID(IID_IOleWindow, IOleWindow, IDockingWindowSite) + COM_INTERFACE_ENTRY_IID(IID_IShellBrowser, IShellBrowser) + COM_INTERFACE_ENTRY_IID(IID_IDropTarget, IDropTarget) + COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) + COM_INTERFACE_ENTRY_IID(IID_IProfferService, IProfferService) + COM_INTERFACE_ENTRY_IID(IID_IShellBrowserService, IShellBrowserService) + COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) + COM_INTERFACE_ENTRY_IID(IID_IConnectionPointContainer, IConnectionPointContainer) + COM_INTERFACE_ENTRY_IID(IID_IWebBrowser, IWebBrowser) + COM_INTERFACE_ENTRY_IID(IID_IWebBrowserApp, IWebBrowserApp) + COM_INTERFACE_ENTRY_IID(IID_IWebBrowser2, IWebBrowser2) + COM_INTERFACE_ENTRY_IID(IID_ITravelLogClient, ITravelLogClient) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistHistory, IPersistHistory) + COM_INTERFACE_ENTRY_IID(IID_IBrowserService, IBrowserService) + COM_INTERFACE_ENTRY_IID(IID_IBrowserService2, IBrowserService2) + END_COM_MAP() }; extern HRESULT CreateProgressDialog(REFIID riid, void **ppv); CShellBrowser::CShellBrowser() { - fCurrentShellViewWindow = NULL; - fCurrentDirectoryPIDL = NULL; - fStatusBar = NULL; - fStatusBarVisible = true; - for (INT x = 0; x < 3; x++) - fClientBars[x].hwnd = NULL; - fCurrentMenuBar = NULL; - fHistoryObject = NULL; - fHistoryStream = NULL; - fHistoryBindContext = NULL; + fCurrentShellViewWindow = NULL; + fCurrentDirectoryPIDL = NULL; + fStatusBar = NULL; + fStatusBarVisible = true; + for (INT x = 0; x < 3; x++) + fClientBars[x].hwnd = NULL; + fCurrentMenuBar = NULL; + fHistoryObject = NULL; + fHistoryStream = NULL; + fHistoryBindContext = NULL; } CShellBrowser::~CShellBrowser() @@ -749,2569 +749,2569 @@ CShellBrowser::~CShellBrowser() HRESULT CShellBrowser::Initialize(LPITEMIDLIST pidl, long b, long c, long d) { - CComPtr dockingWindow; - CComPtr settingsStream; - CComPtr persistStreamInit; - CComPtr commandTarget; - CComPtr objectSite; - RECT bounds = {0, 0, 800, 591}; - HRESULT hResult; + CComPtr dockingWindow; + CComPtr settingsStream; + CComPtr persistStreamInit; + CComPtr commandTarget; + CComPtr objectSite; + RECT bounds = {0, 0, 800, 591}; + HRESULT hResult; - _AtlInitialConstruct(); + _AtlInitialConstruct(); - fCabinetState.cLength = sizeof(fCabinetState); - if (ReadCabinetState(&fCabinetState, sizeof(fCabinetState)) == FALSE) - { - } + fCabinetState.cLength = sizeof(fCabinetState); + if (ReadCabinetState(&fCabinetState, sizeof(fCabinetState)) == FALSE) + { + } - // create window - Create(HWND_DESKTOP, bounds, NULL, WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0U); - if (m_hWnd == NULL) - return E_FAIL; + // create window + Create(HWND_DESKTOP, bounds, NULL, WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0, 0U); + if (m_hWnd == NULL) + return E_FAIL; #if 0 - hResult = CoCreateInstance(CLSID_InternetToolbar, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void **)&fClientBars[BIInternetToolbar].clientBar); - if (FAILED(hResult)) - return hResult; + hResult = CoCreateInstance(CLSID_InternetToolbar, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (void **)&fClientBars[BIInternetToolbar].clientBar); + if (FAILED(hResult)) + return hResult; #else - hResult = CreateInternetToolbar(IID_IUnknown, (void **)&fClientBars[BIInternetToolbar].clientBar); - if (FAILED(hResult)) - return hResult; + hResult = CreateInternetToolbar(IID_IUnknown, (void **)&fClientBars[BIInternetToolbar].clientBar); + if (FAILED(hResult)) + return hResult; #endif - // create interfaces - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IDockingWindow, reinterpret_cast(&dockingWindow)); - if (FAILED(hResult)) - return hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IPersistStreamInit, reinterpret_cast(&persistStreamInit)); - if (FAILED(hResult)) - return hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IObjectWithSite, reinterpret_cast(&objectSite)); - if (FAILED(hResult)) - return hResult; + // create interfaces + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IDockingWindow, reinterpret_cast(&dockingWindow)); + if (FAILED(hResult)) + return hResult; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IPersistStreamInit, reinterpret_cast(&persistStreamInit)); + if (FAILED(hResult)) + return hResult; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return hResult; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IObjectWithSite, reinterpret_cast(&objectSite)); + if (FAILED(hResult)) + return hResult; - hResult = objectSite->SetSite(static_cast(this)); - if (FAILED(hResult)) - return hResult; + hResult = objectSite->SetSite(static_cast(this)); + if (FAILED(hResult)) + return hResult; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, 1, 1 /* or 0 */, NULL, NULL); - if (FAILED(hResult)) - return hResult; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, 1, 1 /* or 0 */, NULL, NULL); + if (FAILED(hResult)) + return hResult; - // TODO: create settingsStream from registry entry - if (settingsStream.p == NULL) - { - hResult = persistStreamInit->InitNew(); - if (FAILED(hResult)) - return hResult; - } - else - { - hResult = persistStreamInit->Load(settingsStream); - if (FAILED(hResult)) - return hResult; - } - hResult = dockingWindow->ShowDW(TRUE); - if (FAILED(hResult)) - return hResult; + // TODO: create settingsStream from registry entry + if (settingsStream.p == NULL) + { + hResult = persistStreamInit->InitNew(); + if (FAILED(hResult)) + return hResult; + } + else + { + hResult = persistStreamInit->Load(settingsStream); + if (FAILED(hResult)) + return hResult; + } + hResult = dockingWindow->ShowDW(TRUE); + if (FAILED(hResult)) + return hResult; - fToolbarProxy.Initialize(m_hWnd, fClientBars[BIInternetToolbar].clientBar); + fToolbarProxy.Initialize(m_hWnd, fClientBars[BIInternetToolbar].clientBar); - // create status bar - fStatusBar = CreateWindow(STATUSCLASSNAMEW, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | - SBT_NOBORDERS | SBT_TOOLTIPS, 0, 0, 500, 20, m_hWnd, (HMENU)0xa001, - _AtlBaseModule.GetModuleInstance(), 0); - fStatusBarVisible = true; + // create status bar + fStatusBar = CreateWindow(STATUSCLASSNAMEW, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | + SBT_NOBORDERS | SBT_TOOLTIPS, 0, 0, 500, 20, m_hWnd, (HMENU)0xa001, + _AtlBaseModule.GetModuleInstance(), 0); + fStatusBarVisible = true; - LPITEMIDLIST desktopPIDL; - FOLDERSETTINGS newFolderSettings; + LPITEMIDLIST desktopPIDL; + FOLDERSETTINGS newFolderSettings; - // browse desktop - hResult = SHGetFolderLocation(NULL, CSIDL_DESKTOP, NULL, 0, &desktopPIDL); - if (FAILED(hResult)) - return hResult; - newFolderSettings.ViewMode = FVM_LIST; - newFolderSettings.fFlags = 0; - hResult = BrowseToPIDL(desktopPIDL, BTP_UPDATE_NEXT_HISTORY); - ILFree(desktopPIDL); - if (FAILED(hResult)) - return hResult; + // browse desktop + hResult = SHGetFolderLocation(NULL, CSIDL_DESKTOP, NULL, 0, &desktopPIDL); + if (FAILED(hResult)) + return hResult; + newFolderSettings.ViewMode = FVM_LIST; + newFolderSettings.fFlags = 0; + hResult = BrowseToPIDL(desktopPIDL, BTP_UPDATE_NEXT_HISTORY); + ILFree(desktopPIDL); + if (FAILED(hResult)) + return hResult; - ShowWindow(SW_SHOWNORMAL); + ShowWindow(SW_SHOWNORMAL); - // test code to make brand band animate - { - CComPtr oleCommandTarget; - CComPtr serviceProvider; - CComPtr bandSite; - CComPtr deskBand; - CComPtr winEventHandler; - HRESULT hResult; + // test code to make brand band animate + { + CComPtr oleCommandTarget; + CComPtr serviceProvider; + CComPtr bandSite; + CComPtr deskBand; + CComPtr winEventHandler; + HRESULT hResult; - if (fClientBars[BIInternetToolbar].clientBar.p == NULL) - return 0; - hResult = fClientBars[BIInternetToolbar].clientBar-> - QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - hResult = serviceProvider->QueryService(SID_IBandSite, IID_IBandSite, reinterpret_cast(&bandSite)); - hResult = bandSite->QueryBand(5, &deskBand, NULL, NULL, 0); - deskBand->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); - winEventHandler->IsWindowOwner(NULL); - deskBand->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - oleCommandTarget->QueryStatus(&CGID_BrandCmdGroup, 0, NULL, NULL); - oleCommandTarget->Exec(&CGID_BrandCmdGroup, BBID_STARTANIMATION, 0, NULL, NULL); - } + if (fClientBars[BIInternetToolbar].clientBar.p == NULL) + return 0; + hResult = fClientBars[BIInternetToolbar].clientBar-> + QueryInterface(IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + hResult = serviceProvider->QueryService(SID_IBandSite, IID_IBandSite, reinterpret_cast(&bandSite)); + hResult = bandSite->QueryBand(5, &deskBand, NULL, NULL, 0); + deskBand->QueryInterface(IID_IWinEventHandler, reinterpret_cast(&winEventHandler)); + winEventHandler->IsWindowOwner(NULL); + deskBand->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + oleCommandTarget->QueryStatus(&CGID_BrandCmdGroup, 0, NULL, NULL); + oleCommandTarget->Exec(&CGID_BrandCmdGroup, BBID_STARTANIMATION, 0, NULL, NULL); + } - return S_OK; + return S_OK; } HRESULT CShellBrowser::BrowseToPIDL(LPCITEMIDLIST pidl, long flags) { - CComPtr newFolder; - FOLDERSETTINGS newFolderSettings; - HRESULT hResult; + CComPtr newFolder; + FOLDERSETTINGS newFolderSettings; + HRESULT hResult; - // called by shell view to browse to new folder - // also called by explorer band to navigate to new folder - hResult = SHBindToFolder(const_cast(pidl), &newFolder); - newFolderSettings.ViewMode = FVM_LIST; - newFolderSettings.fFlags = 0; - hResult = BrowseToPath(newFolder, const_cast(pidl), &newFolderSettings, flags); - if (FAILED(hResult)) - return hResult; - return S_OK; + // called by shell view to browse to new folder + // also called by explorer band to navigate to new folder + hResult = SHBindToFolder(const_cast(pidl), &newFolder); + newFolderSettings.ViewMode = FVM_LIST; + newFolderSettings.fFlags = 0; + hResult = BrowseToPath(newFolder, const_cast(pidl), &newFolderSettings, flags); + if (FAILED(hResult)) + return hResult; + return S_OK; } BOOL WINAPI _ILIsDesktop(LPCITEMIDLIST pidl) { - return (pidl == NULL || pidl->mkid.cb == 0); + return (pidl == NULL || pidl->mkid.cb == 0); } BOOL WINAPI _ILIsPidlSimple(LPCITEMIDLIST pidl) { - LPCITEMIDLIST pidlnext; - WORD length; - BOOL ret; + LPCITEMIDLIST pidlnext; + WORD length; + BOOL ret; - ret = TRUE; - if (!_ILIsDesktop(pidl)) - { - length = pidl->mkid.cb; - pidlnext = - reinterpret_cast( - reinterpret_cast(pidl) + length); - if (pidlnext->mkid.cb != 0) - ret = FALSE; - } - return ret; + ret = TRUE; + if (! _ILIsDesktop(pidl)) + { + length = pidl->mkid.cb; + pidlnext = + reinterpret_cast( + reinterpret_cast(pidl) + length); + if (pidlnext->mkid.cb != 0) + ret = FALSE; + } + return ret; } HRESULT WINAPI SHBindToFolderIDListParent(IShellFolder *unused, LPCITEMIDLIST pidl, - const IID *riid, LPVOID *ppv, LPITEMIDLIST *ppidlLast) + const IID *riid, LPVOID *ppv, LPITEMIDLIST *ppidlLast) { - CComPtr psf; - LPITEMIDLIST pidlChild; - LPITEMIDLIST pidlParent; - HRESULT hResult; + CComPtr psf; + LPITEMIDLIST pidlChild; + LPITEMIDLIST pidlParent; + HRESULT hResult; - hResult = E_FAIL; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - if (ppidlLast != NULL) - *ppidlLast = NULL; - if (_ILIsPidlSimple(pidl)) - { - if (ppidlLast != NULL) - *ppidlLast = ILClone(pidl); - hResult = SHGetDesktopFolder((IShellFolder **)ppv); - } - else - { - pidlChild = ILClone(ILFindLastID(pidl)); - pidlParent = ILClone(pidl); - ILRemoveLastID(pidlParent); - hResult = SHGetDesktopFolder(&psf); - if (SUCCEEDED(hResult)) - hResult = psf->BindToObject(pidlParent, NULL, *riid, ppv); - if (SUCCEEDED(hResult) && ppidlLast != NULL) - *ppidlLast = pidlChild; - else - ILFree(pidlChild); - ILFree(pidlParent); - } - return hResult; + hResult = E_FAIL; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + if (ppidlLast != NULL) + *ppidlLast = NULL; + if (_ILIsPidlSimple(pidl)) + { + if (ppidlLast != NULL) + *ppidlLast = ILClone(pidl); + hResult = SHGetDesktopFolder((IShellFolder **)ppv); + } + else + { + pidlChild = ILClone(ILFindLastID(pidl)); + pidlParent = ILClone(pidl); + ILRemoveLastID(pidlParent); + hResult = SHGetDesktopFolder(&psf); + if (SUCCEEDED(hResult)) + hResult = psf->BindToObject(pidlParent, NULL, *riid, ppv); + if (SUCCEEDED(hResult) && ppidlLast != NULL) + *ppidlLast = pidlChild; + else + ILFree(pidlChild); + ILFree(pidlParent); + } + return hResult; } HRESULT IEGetNameAndFlagsEx(LPITEMIDLIST pidl, SHGDNF uFlags, long param10, - LPWSTR pszBuf, UINT cchBuf, SFGAOF *rgfInOut) + LPWSTR pszBuf, UINT cchBuf, SFGAOF *rgfInOut) { - CComPtr parentFolder; - LPITEMIDLIST childPIDL; - STRRET L108; - HRESULT hResult; + CComPtr parentFolder; + LPITEMIDLIST childPIDL; + STRRET L108; + HRESULT hResult; - hResult = SHBindToFolderIDListParent(NULL, pidl, &IID_IShellFolder, - reinterpret_cast(&parentFolder), &childPIDL); - hResult = parentFolder->GetDisplayNameOf(childPIDL, uFlags, &L108); - StrRetToBufW(&L108, childPIDL, pszBuf, cchBuf); - if (rgfInOut) - hResult = parentFolder->GetAttributesOf(1, const_cast(&childPIDL), rgfInOut); - ILFree(childPIDL); - return S_OK; + hResult = SHBindToFolderIDListParent(NULL, pidl, &IID_IShellFolder, + reinterpret_cast(&parentFolder), &childPIDL); + hResult = parentFolder->GetDisplayNameOf(childPIDL, uFlags, &L108); + StrRetToBufW(&L108, childPIDL, pszBuf, cchBuf); + if (rgfInOut) + hResult = parentFolder->GetAttributesOf(1, const_cast(&childPIDL), rgfInOut); + ILFree(childPIDL); + return S_OK; } long IEGetNameAndFlags(LPITEMIDLIST pidl, SHGDNF uFlags, LPWSTR pszBuf, UINT cchBuf, SFGAOF *rgfInOut) { - return IEGetNameAndFlagsEx(pidl, uFlags, 0, pszBuf, cchBuf, rgfInOut); + return IEGetNameAndFlagsEx(pidl, uFlags, 0, pszBuf, cchBuf, rgfInOut); } HRESULT CShellBrowser::BrowseToPath(IShellFolder *newShellFolder, - LPITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags) + LPITEMIDLIST absolutePIDL, FOLDERSETTINGS *folderSettings, long flags) { - CComPtr oleCommandTarget; - CComPtr objectWithSite; - CComPtr saveCurrentShellFolder; - CComPtr saveCurrentShellView; - CComPtr newShellView; - CComPtr travelLog; - HWND newShellViewWindow; - BOOL windowUpdateIsLocked; - RECT shellViewWindowBounds; - HWND previousView; - HCURSOR saveCursor; - wchar_t newTitle[MAX_PATH]; - SHGDNF nameFlags; - HRESULT hResult; + CComPtr oleCommandTarget; + CComPtr objectWithSite; + CComPtr saveCurrentShellFolder; + CComPtr saveCurrentShellView; + CComPtr newShellView; + CComPtr travelLog; + HWND newShellViewWindow; + BOOL windowUpdateIsLocked; + RECT shellViewWindowBounds; + HWND previousView; + HCURSOR saveCursor; + wchar_t newTitle[MAX_PATH]; + SHGDNF nameFlags; + HRESULT hResult; - if (newShellFolder == NULL) - return E_INVALIDARG; + if (newShellFolder == NULL) + return E_INVALIDARG; - hResult = GetTravelLog(&travelLog); - if (FAILED(hResult)) - return hResult; + hResult = GetTravelLog(&travelLog); + if (FAILED(hResult)) + return hResult; - // update history - if (flags & BTP_UPDATE_CUR_HISTORY) - { - if (travelLog->CountEntries(static_cast(this)) > 0) - hResult = travelLog->UpdateEntry(static_cast(this), FALSE); - // what to do with error? Do we want to halt browse because state save failed? - } + // update history + if (flags & BTP_UPDATE_CUR_HISTORY) + { + if (travelLog->CountEntries(static_cast(this)) > 0) + hResult = travelLog->UpdateEntry(static_cast(this), FALSE); + // what to do with error? Do we want to halt browse because state save failed? + } - // create view object - hResult = newShellFolder->CreateViewObject(m_hWnd, IID_IShellView, reinterpret_cast(&newShellView)); - if (FAILED(hResult)) - return hResult; - previousView = fCurrentShellViewWindow; + // create view object + hResult = newShellFolder->CreateViewObject(m_hWnd, IID_IShellView, reinterpret_cast(&newShellView)); + if (FAILED(hResult)) + return hResult; + previousView = fCurrentShellViewWindow; - // enter updating section - saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT)); - windowUpdateIsLocked = LockWindowUpdate(TRUE); - if (fCurrentShellView != NULL) - ::SendMessage(fCurrentShellViewWindow, WM_SETREDRAW, 0, 0); + // enter updating section + saveCursor = SetCursor(LoadCursor(NULL, IDC_WAIT)); + windowUpdateIsLocked = LockWindowUpdate(TRUE); + if (fCurrentShellView != NULL) + ::SendMessage(fCurrentShellViewWindow, WM_SETREDRAW, 0, 0); - // set site - hResult = newShellView->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); - if (SUCCEEDED(hResult) && objectWithSite.p != NULL) - hResult = objectWithSite->SetSite(static_cast(this)); + // set site + hResult = newShellView->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); + if (SUCCEEDED(hResult) && objectWithSite.p != NULL) + hResult = objectWithSite->SetSite(static_cast(this)); - // update folder and view - saveCurrentShellFolder = fCurrentShellFolder; - saveCurrentShellView = fCurrentShellView; - fCurrentShellFolder = newShellFolder; - fCurrentShellView = newShellView; + // update folder and view + saveCurrentShellFolder = fCurrentShellFolder; + saveCurrentShellView = fCurrentShellView; + fCurrentShellFolder = newShellFolder; + fCurrentShellView = newShellView; - // get boundary - if (previousView != NULL) - ::GetWindowRect(previousView, &shellViewWindowBounds); - else - ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds)); - ::MapWindowPoints(0, m_hWnd, reinterpret_cast(&shellViewWindowBounds), 2); + // get boundary + if (previousView != NULL) + ::GetWindowRect(previousView, &shellViewWindowBounds); + else + ZeroMemory(&shellViewWindowBounds, sizeof(shellViewWindowBounds)); + ::MapWindowPoints(0, m_hWnd, reinterpret_cast(&shellViewWindowBounds), 2); - // create view window - hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings, - this, &shellViewWindowBounds, &newShellViewWindow); - if (FAILED(hResult) || newShellViewWindow == NULL) - { - fCurrentShellView = saveCurrentShellView; - fCurrentShellFolder = saveCurrentShellFolder; - ::SendMessage(fCurrentShellViewWindow, WM_SETREDRAW, 1, 0); - if (windowUpdateIsLocked) - LockWindowUpdate(FALSE); - SetCursor(saveCursor); - return hResult; - } + // create view window + hResult = newShellView->CreateViewWindow(saveCurrentShellView, folderSettings, + this, &shellViewWindowBounds, &newShellViewWindow); + if (FAILED(hResult) || newShellViewWindow == NULL) + { + fCurrentShellView = saveCurrentShellView; + fCurrentShellFolder = saveCurrentShellFolder; + ::SendMessage(fCurrentShellViewWindow, WM_SETREDRAW, 1, 0); + if (windowUpdateIsLocked) + LockWindowUpdate(FALSE); + SetCursor(saveCursor); + return hResult; + } - if (objectWithSite.p != NULL) - hResult = objectWithSite->SetSite(NULL); + if (objectWithSite.p != NULL) + hResult = objectWithSite->SetSite(NULL); - // update current pidl - ILFree(fCurrentDirectoryPIDL); - fCurrentDirectoryPIDL = ILClone(absolutePIDL); + // update current pidl + ILFree(fCurrentDirectoryPIDL); + fCurrentDirectoryPIDL = ILClone(absolutePIDL); - // update view window - if (saveCurrentShellView != NULL) - saveCurrentShellView->DestroyViewWindow(); - fCurrentShellViewWindow = newShellViewWindow; + // update view window + if (saveCurrentShellView != NULL) + saveCurrentShellView->DestroyViewWindow(); + fCurrentShellViewWindow = newShellViewWindow; - // get command target - oleCommandTarget.Release(); - hResult = newShellView->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + // get command target + oleCommandTarget.Release(); + hResult = newShellView->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - // no use - saveCurrentShellView.Release(); - saveCurrentShellFolder.Release(); + // no use + saveCurrentShellView.Release(); + saveCurrentShellFolder.Release(); - hResult = newShellView->UIActivate(SVUIA_ACTIVATE_FOCUS); + hResult = newShellView->UIActivate(SVUIA_ACTIVATE_FOCUS); - // leave updating section - if (windowUpdateIsLocked) - LockWindowUpdate(FALSE); - SetCursor(saveCursor); + // leave updating section + if (windowUpdateIsLocked) + LockWindowUpdate(FALSE); + SetCursor(saveCursor); - // update history - if (flags & BTP_UPDATE_NEXT_HISTORY) - { - hResult = travelLog->AddEntry(static_cast(this), FALSE); - hResult = travelLog->UpdateEntry(static_cast(this), FALSE); - } + // update history + if (flags & BTP_UPDATE_NEXT_HISTORY) + { + hResult = travelLog->AddEntry(static_cast(this), FALSE); + hResult = travelLog->UpdateEntry(static_cast(this), FALSE); + } - // completed - FireNavigateComplete(L"c:\\temp"); // TODO: use real path here - if (fCabinetState.fFullPathTitle) - nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING; - else - nameFlags = SHGDN_FORADDRESSBAR; - hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle, - sizeof(newTitle) / sizeof(wchar_t), NULL); - if (SUCCEEDED(hResult)) - SetWindowText(newTitle); + // completed + FireNavigateComplete(L"c:\\temp"); // TODO: use real path here + if (fCabinetState.fFullPathTitle) + nameFlags = SHGDN_FORADDRESSBAR | SHGDN_FORPARSING; + else + nameFlags = SHGDN_FORADDRESSBAR; + hResult = IEGetNameAndFlags(fCurrentDirectoryPIDL, nameFlags, newTitle, + sizeof(newTitle) / sizeof(wchar_t), NULL); + if (SUCCEEDED(hResult)) + SetWindowText(newTitle); - // TODO: Update the window icon + // TODO: Update the window icon - FireCommandStateChangeAll(); - hResult = UpdateForwardBackState(); - return S_OK; + FireCommandStateChangeAll(); + hResult = UpdateForwardBackState(); + return S_OK; } HRESULT CShellBrowser::GetMenuBand(REFIID riid, void **shellMenu) { - CComPtr serviceProvider; - CComPtr bandSite; - CComPtr deskBand; - HRESULT hResult; + CComPtr serviceProvider; + CComPtr bandSite; + CComPtr deskBand; + HRESULT hResult; - if (fClientBars[BIInternetToolbar].clientBar.p == NULL) - return E_FAIL; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IServiceProvider, reinterpret_cast(&serviceProvider)); - if (FAILED(hResult)) - return hResult; - hResult = serviceProvider->QueryService(SID_IBandSite, IID_IBandSite, reinterpret_cast(&bandSite)); - if (FAILED(hResult)) - return hResult; - hResult = bandSite->QueryBand(1, &deskBand, NULL, NULL, 0); - if (FAILED(hResult)) - return hResult; - return deskBand->QueryInterface(riid, shellMenu); + if (fClientBars[BIInternetToolbar].clientBar.p == NULL) + return E_FAIL; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IServiceProvider, reinterpret_cast(&serviceProvider)); + if (FAILED(hResult)) + return hResult; + hResult = serviceProvider->QueryService(SID_IBandSite, IID_IBandSite, reinterpret_cast(&bandSite)); + if (FAILED(hResult)) + return hResult; + hResult = bandSite->QueryBand(1, &deskBand, NULL, NULL, 0); + if (FAILED(hResult)) + return hResult; + return deskBand->QueryInterface(riid, shellMenu); } HRESULT CShellBrowser::GetBaseBar(bool vertical, IUnknown **theBaseBar) { - CComPtr newBaseBar; - CComPtr deskBar; - CComPtr newBaseBarSite; - CComPtr objectWithSite; - CComPtr deskBarClient; - IUnknown **cache; - HRESULT hResult; + CComPtr newBaseBar; + CComPtr deskBar; + CComPtr newBaseBarSite; + CComPtr objectWithSite; + CComPtr deskBarClient; + IUnknown **cache; + HRESULT hResult; - if (vertical) - cache = &fClientBars[BIVerticalBaseBar].clientBar.p; - else - cache = &fClientBars[BIHorizontalBaseBar].clientBar.p; - if (*cache == NULL) - { - hResult = CreateBaseBar(IID_IUnknown, reinterpret_cast(&newBaseBar)); - if (FAILED(hResult)) - return hResult; - hResult = CreateBaseBarSite(IID_IUnknown, reinterpret_cast(&newBaseBarSite)); - if (FAILED(hResult)) - return hResult; + if (vertical) + cache = &fClientBars[BIVerticalBaseBar].clientBar.p; + else + cache = &fClientBars[BIHorizontalBaseBar].clientBar.p; + if (*cache == NULL) + { + hResult = CreateBaseBar(IID_IUnknown, reinterpret_cast(&newBaseBar)); + if (FAILED(hResult)) + return hResult; + hResult = CreateBaseBarSite(IID_IUnknown, reinterpret_cast(&newBaseBarSite)); + if (FAILED(hResult)) + return hResult; - // tell the new base bar about the shell browser - hResult = newBaseBar->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); - if (FAILED(hResult)) - return hResult; - hResult = objectWithSite->SetSite(static_cast(this)); - if (FAILED(hResult)) - return hResult; + // tell the new base bar about the shell browser + hResult = newBaseBar->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); + if (FAILED(hResult)) + return hResult; + hResult = objectWithSite->SetSite(static_cast(this)); + if (FAILED(hResult)) + return hResult; - // tell the new base bar about the new base bar site - hResult = newBaseBar->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); - if (FAILED(hResult)) - return hResult; - hResult = deskBar->SetClient(newBaseBarSite); - if (FAILED(hResult)) - return hResult; + // tell the new base bar about the new base bar site + hResult = newBaseBar->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); + if (FAILED(hResult)) + return hResult; + hResult = deskBar->SetClient(newBaseBarSite); + if (FAILED(hResult)) + return hResult; - // tell the new base bar site about the new base bar - hResult = newBaseBarSite->QueryInterface(IID_IDeskBarClient, reinterpret_cast(&deskBarClient)); - if (FAILED(hResult)) - return hResult; - hResult = deskBarClient->SetDeskBarSite(newBaseBar); - if (FAILED(hResult)) - return hResult; + // tell the new base bar site about the new base bar + hResult = newBaseBarSite->QueryInterface(IID_IDeskBarClient, reinterpret_cast(&deskBarClient)); + if (FAILED(hResult)) + return hResult; + hResult = deskBarClient->SetDeskBarSite(newBaseBar); + if (FAILED(hResult)) + return hResult; - *cache = newBaseBar.Detach(); - } - return (*cache)->QueryInterface(IID_IUnknown, reinterpret_cast(theBaseBar)); + *cache = newBaseBar.Detach(); + } + return (*cache)->QueryInterface(IID_IUnknown, reinterpret_cast(theBaseBar)); } HRESULT CShellBrowser::ShowBand(const CLSID &classID, bool vertical) { - CComPtr dockingWindow; - CComPtr oleCommandTarget; - CComPtr baseBarSite; - CComPtr newBand; - CComPtr theBaseBar; - CComPtr deskBar; - VARIANT vaIn; - HRESULT hResult; + CComPtr dockingWindow; + CComPtr oleCommandTarget; + CComPtr baseBarSite; + CComPtr newBand; + CComPtr theBaseBar; + CComPtr deskBar; + VARIANT vaIn; + HRESULT hResult; - hResult = GetBaseBar(vertical, (IUnknown **)&theBaseBar); - if (FAILED(hResult)) - return hResult; - hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, - reinterpret_cast(&newBand)); - if (FAILED(hResult)) - return hResult; - hResult = theBaseBar->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); - if (FAILED(hResult)) - return hResult; - hResult = deskBar->GetClient(&baseBarSite); - if (FAILED(hResult)) - return hResult; - hResult = theBaseBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); - if (FAILED(hResult)) - return hResult; - hResult = baseBarSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (FAILED(hResult)) - return hResult; - V_VT(&vaIn) = VT_UNKNOWN; - V_UNKNOWN(&vaIn) = newBand.p; - hResult = oleCommandTarget->Exec(&CGID_IDeskBand, 1, 1, &vaIn, NULL); - if (FAILED(hResult)) - return hResult; - hResult = dockingWindow->ShowDW(TRUE); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = GetBaseBar(vertical, (IUnknown **)&theBaseBar); + if (FAILED(hResult)) + return hResult; + hResult = CoCreateInstance(classID, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, + reinterpret_cast(&newBand)); + if (FAILED(hResult)) + return hResult; + hResult = theBaseBar->QueryInterface(IID_IDeskBar, reinterpret_cast(&deskBar)); + if (FAILED(hResult)) + return hResult; + hResult = deskBar->GetClient(&baseBarSite); + if (FAILED(hResult)) + return hResult; + hResult = theBaseBar->QueryInterface(IID_IDockingWindow, reinterpret_cast(&dockingWindow)); + if (FAILED(hResult)) + return hResult; + hResult = baseBarSite->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (FAILED(hResult)) + return hResult; + V_VT(&vaIn) = VT_UNKNOWN; + V_UNKNOWN(&vaIn) = newBand.p; + hResult = oleCommandTarget->Exec(&CGID_IDeskBand, 1, 1, &vaIn, NULL); + if (FAILED(hResult)) + return hResult; + hResult = dockingWindow->ShowDW(TRUE); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT CShellBrowser::NavigateToParent() { - LPITEMIDLIST newDirectory; - HRESULT hResult; + LPITEMIDLIST newDirectory; + HRESULT hResult; - newDirectory = ILClone(fCurrentDirectoryPIDL); - if (newDirectory == NULL) - return E_OUTOFMEMORY; - ILRemoveLastID(newDirectory); - hResult = BrowseToPIDL(newDirectory, BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); - ILFree(newDirectory); - if (FAILED(hResult)) - return hResult; - return S_OK; + newDirectory = ILClone(fCurrentDirectoryPIDL); + if (newDirectory == NULL) + return E_OUTOFMEMORY; + ILRemoveLastID(newDirectory); + hResult = BrowseToPIDL(newDirectory, BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); + ILFree(newDirectory); + if (FAILED(hResult)) + return hResult; + return S_OK; } BOOL CALLBACK AddFolderOptionsPage(HPROPSHEETPAGE thePage, LPARAM lParam) { - PROPSHEETHEADER *sheetInfo; + PROPSHEETHEADER *sheetInfo; - sheetInfo = (PROPSHEETHEADER *)lParam; - if (sheetInfo->nPages >= folderOptionsPageCountMax) - return FALSE; - sheetInfo->phpage[sheetInfo->nPages] = thePage; - sheetInfo->nPages++; - return TRUE; + sheetInfo = (PROPSHEETHEADER *)lParam; + if (sheetInfo->nPages >= folderOptionsPageCountMax) + return FALSE; + sheetInfo->phpage[sheetInfo->nPages] = thePage; + sheetInfo->nPages++; + return TRUE; } HRESULT CShellBrowser::DoFolderOptions() { - CComPtr folderOptionsSheet; - CComPtr objectWithSite; - PROPSHEETHEADER m_PropSheet; - HPROPSHEETPAGE m_psp[folderOptionsPageCountMax]; -// CComPtr globalSettings; -// SHELLSTATE2 shellState; - HRESULT hResult; + CComPtr folderOptionsSheet; + CComPtr objectWithSite; + PROPSHEETHEADER m_PropSheet; + HPROPSHEETPAGE m_psp[folderOptionsPageCountMax]; +// CComPtr globalSettings; +// SHELLSTATE2 shellState; + HRESULT hResult; - memset(m_psp, 0, sizeof(m_psp)); + memset(m_psp, 0, sizeof(m_psp)); memset(&m_PropSheet, 0, sizeof(m_PropSheet)); - // create sheet object - hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER, - IID_IShellPropSheetExt, reinterpret_cast(&folderOptionsSheet)); - if (FAILED(hResult)) - return E_FAIL; + // create sheet object + hResult = CoCreateInstance(CLSID_ShellFldSetExt, NULL, CLSCTX_INPROC_SERVER, + IID_IShellPropSheetExt, reinterpret_cast(&folderOptionsSheet)); + if (FAILED(hResult)) + return E_FAIL; - // must set site in order for Apply to all Folders on Advanced page to be enabled - hResult = folderOptionsSheet->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); - if (SUCCEEDED(hResult) && objectWithSite.p != NULL) - hResult = objectWithSite->SetSite(static_cast(this)); - m_PropSheet.phpage = m_psp; + // must set site in order for Apply to all Folders on Advanced page to be enabled + hResult = folderOptionsSheet->QueryInterface(IID_IObjectWithSite, reinterpret_cast(&objectWithSite)); + if (SUCCEEDED(hResult) && objectWithSite.p != NULL) + hResult = objectWithSite->SetSite(static_cast(this)); + m_PropSheet.phpage = m_psp; #if 0 - hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_IGlobalFolderSettings, (void **)&globalSettings); - if (FAILED(hResult)) - return E_FAIL; - hResult = globalSettings->Get(&shellState, sizeof(shellState)); - if (FAILED(hResult)) - return E_FAIL; + hResult = CoCreateInstance(CLSID_GlobalFolderSettings, NULL, CLSCTX_INPROC_SERVER, IID_IGlobalFolderSettings, (void **)&globalSettings); + if (FAILED(hResult)) + return E_FAIL; + hResult = globalSettings->Get(&shellState, sizeof(shellState)); + if (FAILED(hResult)) + return E_FAIL; #endif - // add pages - hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); - if (FAILED(hResult)) - return E_FAIL; + // add pages + hResult = folderOptionsSheet->AddPages(AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); + if (FAILED(hResult)) + return E_FAIL; - if (fCurrentShellView != NULL) - { + if (fCurrentShellView != NULL) + { hResult = fCurrentShellView->AddPropertySheetPages( 0, AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); - if (FAILED(hResult)) - return E_FAIL; - } + if (FAILED(hResult)) + return E_FAIL; + } - // show sheet - m_PropSheet.dwSize = sizeof(PROPSHEETHEADER); - m_PropSheet.dwFlags = 0; - m_PropSheet.hwndParent = m_hWnd; - m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance(); - m_PropSheet.pszCaption = _T("Folder Options"); - m_PropSheet.nStartPage = 0; + // show sheet + m_PropSheet.dwSize = sizeof(PROPSHEETHEADER); + m_PropSheet.dwFlags = 0; + m_PropSheet.hwndParent = m_hWnd; + m_PropSheet.hInstance = _AtlBaseModule.GetResourceInstance(); + m_PropSheet.pszCaption = _T("Folder Options"); + m_PropSheet.nStartPage = 0; PropertySheet(&m_PropSheet); - return S_OK; + return S_OK; } LRESULT CALLBACK CShellBrowser::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - CShellBrowser *pThis = reinterpret_cast(hWnd); - _ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam); - LRESULT lResult; - CComPtr menuBand; - const _ATL_MSG *previousMessage; - BOOL handled; - WNDPROC saveWindowProc; - HRESULT hResult; + CShellBrowser *pThis = reinterpret_cast(hWnd); + _ATL_MSG msg(pThis->m_hWnd, uMsg, wParam, lParam); + LRESULT lResult; + CComPtr menuBand; + const _ATL_MSG *previousMessage; + BOOL handled; + WNDPROC saveWindowProc; + HRESULT hResult; - hWnd = pThis->m_hWnd; - previousMessage = pThis->m_pCurrentMsg; - pThis->m_pCurrentMsg = &msg; + hWnd = pThis->m_hWnd; + previousMessage = pThis->m_pCurrentMsg; + pThis->m_pCurrentMsg = &msg; - hResult = pThis->GetMenuBand(IID_IMenuBand, reinterpret_cast(&menuBand)); - if (SUCCEEDED(hResult) && menuBand.p != NULL) - { - hResult = menuBand->TranslateMenuMessage(&msg, &lResult); - if (hResult == S_OK) - return lResult; - uMsg = msg.message; - wParam = msg.wParam; - lParam = msg.lParam; - } + hResult = pThis->GetMenuBand(IID_IMenuBand, reinterpret_cast(&menuBand)); + if (SUCCEEDED(hResult) && menuBand.p != NULL) + { + hResult = menuBand->TranslateMenuMessage(&msg, &lResult); + if (hResult == S_OK) + return lResult; + uMsg = msg.message; + wParam = msg.wParam; + lParam = msg.lParam; + } - handled = pThis->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, 0); - ATLASSERT(pThis->m_pCurrentMsg == &msg); - if (handled == FALSE) - { - if (uMsg == WM_NCDESTROY) - { - saveWindowProc = reinterpret_cast(GetWindowLongPtr(hWnd, GWL_WNDPROC)); - lResult = pThis->DefWindowProc(uMsg, wParam, lParam); - if (saveWindowProc == reinterpret_cast(GetWindowLongPtr(hWnd, GWL_WNDPROC))) - SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)pThis->m_pfnSuperWindowProc); - pThis->m_dwState |= WINSTATE_DESTROYED; - } - else - lResult = pThis->DefWindowProc(uMsg, wParam, lParam); - } - pThis->m_pCurrentMsg = previousMessage; - if (previousMessage == NULL && (pThis->m_dwState & WINSTATE_DESTROYED) != 0) - { - pThis->m_dwState &= ~WINSTATE_DESTROYED; - pThis->m_hWnd = NULL; - pThis->OnFinalMessage(hWnd); - } - return lResult; + handled = pThis->ProcessWindowMessage(hWnd, uMsg, wParam, lParam, lResult, 0); + ATLASSERT(pThis->m_pCurrentMsg == &msg); + if (handled == FALSE) + { + if (uMsg == WM_NCDESTROY) + { + saveWindowProc = reinterpret_cast(GetWindowLongPtr(hWnd, GWL_WNDPROC)); + lResult = pThis->DefWindowProc(uMsg, wParam, lParam); + if (saveWindowProc == reinterpret_cast(GetWindowLongPtr(hWnd, GWL_WNDPROC))) + SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)pThis->m_pfnSuperWindowProc); + pThis->m_dwState |= WINSTATE_DESTROYED; + } + else + lResult = pThis->DefWindowProc(uMsg, wParam, lParam); + } + pThis->m_pCurrentMsg = previousMessage; + if (previousMessage == NULL && (pThis->m_dwState & WINSTATE_DESTROYED) != 0) + { + pThis->m_dwState &= ~WINSTATE_DESTROYED; + pThis->m_hWnd = NULL; + pThis->OnFinalMessage(hWnd); + } + return lResult; } void CShellBrowser::RepositionBars() { - RECT clientRect; - RECT statusRect; - RECT toolbarRect; - int x; - HRESULT hResult; + RECT clientRect; + RECT statusRect; + RECT toolbarRect; + int x; + HRESULT hResult; - GetClientRect(&clientRect); + GetClientRect(&clientRect); - if (fStatusBarVisible) - { - ::GetWindowRect(fStatusBar, &statusRect); - ::SetWindowPos(fStatusBar, NULL, clientRect.left, clientRect.bottom - (statusRect.bottom - statusRect.top), - clientRect.right - clientRect.left, - statusRect.bottom - statusRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); - clientRect.bottom -= statusRect.bottom - statusRect.top; - } + if (fStatusBarVisible) + { + ::GetWindowRect(fStatusBar, &statusRect); + ::SetWindowPos(fStatusBar, NULL, clientRect.left, clientRect.bottom - (statusRect.bottom - statusRect.top), + clientRect.right - clientRect.left, + statusRect.bottom - statusRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); + clientRect.bottom -= statusRect.bottom - statusRect.top; + } - for (x = 0; x < 3; x++) - { - CComPtr oleWindow; + for (x = 0; x < 3; x++) + { + CComPtr oleWindow; - if (fClientBars[x].hwnd == NULL && fClientBars[x].clientBar != NULL) - { - hResult = fClientBars[x].clientBar->QueryInterface( - IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (SUCCEEDED(hResult)) - hResult = oleWindow->GetWindow(&fClientBars[x].hwnd); - } - if (fClientBars[x].hwnd != NULL) - { - toolbarRect = clientRect; - if (fClientBars[x].borderSpace.top != 0) - toolbarRect.bottom = toolbarRect.top + fClientBars[x].borderSpace.top; - else if (fClientBars[x].borderSpace.bottom != 0) - toolbarRect.top = toolbarRect.bottom - fClientBars[x].borderSpace.bottom; - if (fClientBars[x].borderSpace.left != 0) - toolbarRect.right = toolbarRect.left + fClientBars[x].borderSpace.left; - else if (fClientBars[x].borderSpace.right != 0) - toolbarRect.left = toolbarRect.right - fClientBars[x].borderSpace.right; - ::SetWindowPos(fClientBars[x].hwnd, NULL, toolbarRect.left, toolbarRect.top, - toolbarRect.right - toolbarRect.left, - toolbarRect.bottom - toolbarRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); - clientRect.top += fClientBars[x].borderSpace.top; - clientRect.left += fClientBars[x].borderSpace.left; - clientRect.bottom += fClientBars[x].borderSpace.bottom; - clientRect.right += fClientBars[x].borderSpace.right; - } - } - ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top, - clientRect.right - clientRect.left, - clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); + if (fClientBars[x].hwnd == NULL && fClientBars[x].clientBar != NULL) + { + hResult = fClientBars[x].clientBar->QueryInterface( + IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (SUCCEEDED(hResult)) + hResult = oleWindow->GetWindow(&fClientBars[x].hwnd); + } + if (fClientBars[x].hwnd != NULL) + { + toolbarRect = clientRect; + if (fClientBars[x].borderSpace.top != 0) + toolbarRect.bottom = toolbarRect.top + fClientBars[x].borderSpace.top; + else if (fClientBars[x].borderSpace.bottom != 0) + toolbarRect.top = toolbarRect.bottom - fClientBars[x].borderSpace.bottom; + if (fClientBars[x].borderSpace.left != 0) + toolbarRect.right = toolbarRect.left + fClientBars[x].borderSpace.left; + else if (fClientBars[x].borderSpace.right != 0) + toolbarRect.left = toolbarRect.right - fClientBars[x].borderSpace.right; + ::SetWindowPos(fClientBars[x].hwnd, NULL, toolbarRect.left, toolbarRect.top, + toolbarRect.right - toolbarRect.left, + toolbarRect.bottom - toolbarRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); + clientRect.top += fClientBars[x].borderSpace.top; + clientRect.left += fClientBars[x].borderSpace.left; + clientRect.bottom += fClientBars[x].borderSpace.bottom; + clientRect.right += fClientBars[x].borderSpace.right; + } + } + ::SetWindowPos(fCurrentShellViewWindow, NULL, clientRect.left, clientRect.top, + clientRect.right - clientRect.left, + clientRect.bottom - clientRect.top, SWP_NOOWNERZORDER | SWP_NOZORDER); } HRESULT CShellBrowser::FireEvent(DISPID dispIdMember, int argCount, VARIANT *arguments) { - DISPPARAMS params; - CComDynamicUnkArray &vec = IConnectionPointImpl::m_vec; - CComDynamicUnkArray &vec2 = IConnectionPointImpl::m_vec; - HRESULT hResult; + DISPPARAMS params; + CComDynamicUnkArray &vec = IConnectionPointImpl::m_vec; + CComDynamicUnkArray &vec2 = IConnectionPointImpl::m_vec; + HRESULT hResult; - params.rgvarg = arguments; - params.rgdispidNamedArgs = NULL; - params.cArgs = argCount; - params.cNamedArgs = 0; - IUnknown** pp = vec.begin(); - while (pp < vec.end()) - { - if (*pp != NULL) - { - CComPtr theDispatch; + params.rgvarg = arguments; + params.rgdispidNamedArgs = NULL; + params.cArgs = argCount; + params.cNamedArgs = 0; + IUnknown** pp = vec.begin(); + while (pp < vec.end()) + { + if (*pp != NULL) + { + CComPtr theDispatch; - hResult = (*pp)->QueryInterface(IID_IDispatch, reinterpret_cast(&theDispatch)); - hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL); - } - pp++; - } - pp = vec2.begin(); - while (pp < vec2.end()) - { - if (*pp != NULL) - { - CComPtr theDispatch; + hResult = (*pp)->QueryInterface(IID_IDispatch, reinterpret_cast(&theDispatch)); + hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL); + } + pp++; + } + pp = vec2.begin(); + while (pp < vec2.end()) + { + if (*pp != NULL) + { + CComPtr theDispatch; - hResult = (*pp)->QueryInterface(IID_IDispatch, reinterpret_cast(&theDispatch)); - hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL); - } - pp++; - } - return S_OK; + hResult = (*pp)->QueryInterface(IID_IDispatch, reinterpret_cast(&theDispatch)); + hResult = theDispatch->Invoke(dispIdMember, GUID_NULL, 0, DISPATCH_METHOD, ¶ms, NULL, NULL, NULL); + } + pp++; + } + return S_OK; } HRESULT CShellBrowser::FireNavigateComplete(const wchar_t *newDirectory) { - // these two variants intentionally to do use CComVariant because it would double free/release - // or does not need to dispose at all - VARIANT varArg[2]; - VARIANT varArgs; - CComBSTR tempString(newDirectory); + // these two variants intentionally to do use CComVariant because it would double free/release + // or does not need to dispose at all + VARIANT varArg[2]; + VARIANT varArgs; + CComBSTR tempString(newDirectory); - V_VT(&varArgs) = VT_BSTR; - V_BSTR(&varArgs) = tempString.m_str; + V_VT(&varArgs) = VT_BSTR; + V_BSTR(&varArgs) = tempString.m_str; - V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF; - V_VARIANTREF(&varArg[0]) = &varArgs; - V_VT(&varArg[1]) = VT_DISPATCH; - V_DISPATCH(&varArg[1]) = (IDispatch *)this; + V_VT(&varArg[0]) = VT_VARIANT | VT_BYREF; + V_VARIANTREF(&varArg[0]) = &varArgs; + V_VT(&varArg[1]) = VT_DISPATCH; + V_DISPATCH(&varArg[1]) = (IDispatch *)this; - return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg); + return FireEvent(DISPID_NAVIGATECOMPLETE2, 2, varArg); } HRESULT CShellBrowser::FireCommandStateChange(bool newState, int commandID) { - VARIANT varArg[2]; + VARIANT varArg[2]; - V_VT(&varArg[0]) = VT_BOOL; - V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE; - V_VT(&varArg[1]) = VT_I4; - V_I4(&varArg[1]) = commandID; + V_VT(&varArg[0]) = VT_BOOL; + V_BOOL(&varArg[0]) = newState ? VARIANT_TRUE : VARIANT_FALSE; + V_VT(&varArg[1]) = VT_I4; + V_I4(&varArg[1]) = commandID; - return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg); + return FireEvent(DISPID_COMMANDSTATECHANGE, 2, varArg); } HRESULT CShellBrowser::FireCommandStateChangeAll() { - return FireCommandStateChange(false, -1); + return FireCommandStateChange(false, -1); } HRESULT CShellBrowser::UpdateForwardBackState() { - CComPtr travelLog; - CComPtr unusedEntry; - bool canGoBack; - bool canGoForward; - HRESULT hResult; + CComPtr travelLog; + CComPtr unusedEntry; + bool canGoBack; + bool canGoForward; + HRESULT hResult; - canGoBack = false; - canGoForward = false; - hResult = GetTravelLog(&travelLog); - if (FAILED(hResult)) - return hResult; - hResult = travelLog->GetTravelEntry(static_cast(this), TLOG_BACK, &unusedEntry); - if (SUCCEEDED(hResult)) - { - canGoBack = true; - unusedEntry.Release(); - } - hResult = travelLog->GetTravelEntry(static_cast(this), TLOG_FORE, &unusedEntry); - if (SUCCEEDED(hResult)) - { - canGoForward = true; - unusedEntry.Release(); - } - hResult = FireCommandStateChange(canGoBack, 2); - hResult = FireCommandStateChange(canGoForward, 1); - return S_OK; + canGoBack = false; + canGoForward = false; + hResult = GetTravelLog(&travelLog); + if (FAILED(hResult)) + return hResult; + hResult = travelLog->GetTravelEntry(static_cast(this), TLOG_BACK, &unusedEntry); + if (SUCCEEDED(hResult)) + { + canGoBack = true; + unusedEntry.Release(); + } + hResult = travelLog->GetTravelEntry(static_cast(this), TLOG_FORE, &unusedEntry); + if (SUCCEEDED(hResult)) + { + canGoForward = true; + unusedEntry.Release(); + } + hResult = FireCommandStateChange(canGoBack, 2); + hResult = FireCommandStateChange(canGoForward, 1); + return S_OK; } void CShellBrowser::UpdateGotoMenu(HMENU theMenu) { - CComPtr travelLog; - int position; - MENUITEMINFO menuItemInfo; - HRESULT hResult; + CComPtr travelLog; + int position; + MENUITEMINFO menuItemInfo; + HRESULT hResult; - DeleteMenuItems(theMenu, IDM_GOTO_TRAVEL_FIRST, IDM_GOTO_TRAVEL_LAST); + DeleteMenuItems(theMenu, IDM_GOTO_TRAVEL_FIRST, IDM_GOTO_TRAVEL_LAST); - position = GetMenuItemCount(theMenu); - hResult = GetTravelLog(&travelLog); - if (FAILED(hResult)) - return; - hResult = travelLog->InsertMenuEntries(static_cast(this), theMenu, position, - IDM_GOTO_TRAVEL_FIRSTTARGET, IDM_GOTO_TRAVEL_LASTTARGET, TLMENUF_BACKANDFORTH | TLMENUF_CHECKCURRENT); - if (SUCCEEDED(hResult)) - { - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_TYPE | MIIM_ID; - menuItemInfo.fType = MF_SEPARATOR; - menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP; - InsertMenuItem(theMenu, position, TRUE, &menuItemInfo); - } + position = GetMenuItemCount(theMenu); + hResult = GetTravelLog(&travelLog); + if (FAILED(hResult)) + return; + hResult = travelLog->InsertMenuEntries(static_cast(this), theMenu, position, + IDM_GOTO_TRAVEL_FIRSTTARGET, IDM_GOTO_TRAVEL_LASTTARGET, TLMENUF_BACKANDFORTH | TLMENUF_CHECKCURRENT); + if (SUCCEEDED(hResult)) + { + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_TYPE | MIIM_ID; + menuItemInfo.fType = MF_SEPARATOR; + menuItemInfo.wID = IDM_GOTO_TRAVEL_SEP; + InsertMenuItem(theMenu, position, TRUE, &menuItemInfo); + } } void CShellBrowser::UpdateViewMenu(HMENU theMenu) { - CComPtr oleCommandTarget; - CComPtr travelLog; - HMENU gotoMenu; - OLECMD commandList[5]; - HMENU toolbarMenuBar; - HMENU toolbarMenu; - MENUITEMINFO menuItemInfo; - HRESULT hResult; + CComPtr oleCommandTarget; + CComPtr travelLog; + HMENU gotoMenu; + OLECMD commandList[5]; + HMENU toolbarMenuBar; + HMENU toolbarMenu; + MENUITEMINFO menuItemInfo; + HRESULT hResult; - gotoMenu = SHGetMenuFromID(theMenu, FCIDM_MENU_EXPLORE); - if (gotoMenu != NULL) - UpdateGotoMenu(gotoMenu); + gotoMenu = SHGetMenuFromID(theMenu, FCIDM_MENU_EXPLORE); + if (gotoMenu != NULL) + UpdateGotoMenu(gotoMenu); - commandList[0].cmdID = ITID_TOOLBARBANDSHOWN; - commandList[1].cmdID = ITID_ADDRESSBANDSHOWN; - commandList[2].cmdID = ITID_LINKSBANDSHOWN; - commandList[3].cmdID = ITID_TOOLBARLOCKED; - commandList[4].cmdID = ITID_CUSTOMIZEENABLED; + commandList[0].cmdID = ITID_TOOLBARBANDSHOWN; + commandList[1].cmdID = ITID_ADDRESSBANDSHOWN; + commandList[2].cmdID = ITID_LINKSBANDSHOWN; + commandList[3].cmdID = ITID_TOOLBARLOCKED; + commandList[4].cmdID = ITID_CUSTOMIZEENABLED; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (SUCCEEDED(hResult)) - hResult = oleCommandTarget->QueryStatus(&CGID_PrivCITCommands, 5, commandList, NULL); - if (FAILED(hResult)) - DeleteMenu(theMenu, IDM_VIEW_TOOLBARS, MF_BYCOMMAND); - else - { - toolbarMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU)); - toolbarMenu = GetSubMenu(toolbarMenuBar, 0); + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (SUCCEEDED(hResult)) + hResult = oleCommandTarget->QueryStatus(&CGID_PrivCITCommands, 5, commandList, NULL); + if (FAILED(hResult)) + DeleteMenu(theMenu, IDM_VIEW_TOOLBARS, MF_BYCOMMAND); + else + { + toolbarMenuBar = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_CONTEXTMENU)); + toolbarMenu = GetSubMenu(toolbarMenuBar, 0); - SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf); - SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_ENABLED); - SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_ENABLED); - SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LOCKTOOLBARS, commandList[3].cmdf & OLECMDF_ENABLED); - if ((commandList[4].cmdf & OLECMDF_ENABLED) == 0) - DeleteMenu(toolbarMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); - DeleteMenu(toolbarMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); - DeleteMenu(toolbarMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); + SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_STANDARDBUTTONS, commandList[0].cmdf); + SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_ADDRESSBAR, commandList[1].cmdf & OLECMDF_ENABLED); + SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LINKSBAR, commandList[2].cmdf & OLECMDF_ENABLED); + SHCheckMenuItem(toolbarMenu, IDM_TOOLBARS_LOCKTOOLBARS, commandList[3].cmdf & OLECMDF_ENABLED); + if ((commandList[4].cmdf & OLECMDF_ENABLED) == 0) + DeleteMenu(toolbarMenu, IDM_TOOLBARS_CUSTOMIZE, MF_BYCOMMAND); + DeleteMenu(toolbarMenu, IDM_TOOLBARS_TEXTLABELS, MF_BYCOMMAND); + DeleteMenu(toolbarMenu, IDM_TOOLBARS_GOBUTTON, MF_BYCOMMAND); - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_SUBMENU; - menuItemInfo.hSubMenu = toolbarMenu; - SetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo); - } - SHCheckMenuItem(theMenu, IDM_VIEW_STATUSBAR, fStatusBarVisible ? TRUE : FALSE); + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_SUBMENU; + menuItemInfo.hSubMenu = toolbarMenu; + SetMenuItemInfo(theMenu, IDM_VIEW_TOOLBARS, FALSE, &menuItemInfo); + } + SHCheckMenuItem(theMenu, IDM_VIEW_STATUSBAR, fStatusBarVisible ? TRUE : FALSE); } bool IUnknownIsEqual(IUnknown *int1, IUnknown *int2) { - CComPtr int1Retry; - CComPtr int2Retry; - HRESULT hResult; + CComPtr int1Retry; + CComPtr int2Retry; + HRESULT hResult; - if (int1 == int2) - return true; - if (int1 == NULL || int2 == NULL) - return false; - hResult = int1->QueryInterface(IID_IUnknown, reinterpret_cast(&int1Retry)); - if (FAILED(hResult)) - return false; - hResult = int2->QueryInterface(IID_IUnknown, reinterpret_cast(&int2Retry)); - if (FAILED(hResult)) - return false; - if (int1Retry == int2Retry) - return true; - return false; + if (int1 == int2) + return true; + if (int1 == NULL || int2 == NULL) + return false; + hResult = int1->QueryInterface(IID_IUnknown, reinterpret_cast(&int1Retry)); + if (FAILED(hResult)) + return false; + hResult = int2->QueryInterface(IID_IUnknown, reinterpret_cast(&int2Retry)); + if (FAILED(hResult)) + return false; + if (int1Retry == int2Retry) + return true; + return false; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetBorderDW(IUnknown *punkObj, LPRECT prcBorder) { - RECT availableBounds; - static const INT excludeItems[] = {1, 1, 1, 0xa001, 0, 0}; + RECT availableBounds; + static const INT excludeItems[] = {1, 1, 1, 0xa001, 0, 0}; - GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems); - for (INT x = 0; x < 3; x++) - { - if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj)) - { - availableBounds.top += fClientBars[x].borderSpace.top; - availableBounds.left += fClientBars[x].borderSpace.left; - availableBounds.bottom -= fClientBars[x].borderSpace.bottom; - availableBounds.right -= fClientBars[x].borderSpace.right; - } - } - *prcBorder = availableBounds; - return S_OK; + GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems); + for (INT x = 0; x < 3; x++) + { + if (fClientBars[x].clientBar.p != NULL && !IUnknownIsEqual(fClientBars[x].clientBar, punkObj)) + { + availableBounds.top += fClientBars[x].borderSpace.top; + availableBounds.left += fClientBars[x].borderSpace.left; + availableBounds.bottom -= fClientBars[x].borderSpace.bottom; + availableBounds.right -= fClientBars[x].borderSpace.right; + } + } + *prcBorder = availableBounds; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::RequestBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - return S_OK; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetBorderSpaceDW(IUnknown* punkObj, LPCBORDERWIDTHS pbw) { - for (INT x = 0; x < 3; x++) - { - if (IUnknownIsEqual(fClientBars[x].clientBar, punkObj)) - { - fClientBars[x].borderSpace = *pbw; - // if this bar changed size, it cascades and forces all subsequent bars to resize - RepositionBars(); - return S_OK; - } - } - return E_INVALIDARG; + for (INT x = 0; x < 3; x++) + { + if (IUnknownIsEqual(fClientBars[x].clientBar, punkObj)) + { + fClientBars[x].borderSpace = *pbw; + // if this bar changed size, it cascades and forces all subsequent bars to resize + RepositionBars(); + return S_OK; + } + } + return E_INVALIDARG; } HRESULT STDMETHODCALLTYPE CShellBrowser::QueryStatus(const GUID *pguidCmdGroup, - ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) + ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - if (prgCmds == NULL) - return E_INVALIDARG; - if (pguidCmdGroup == NULL) - { - if (fCurrentShellView.p != NULL) - { - hResult = fCurrentShellView->QueryInterface(IID_IOleCommandTarget, - reinterpret_cast(&commandTarget)); - if (SUCCEEDED(hResult) && commandTarget.p != NULL) - return commandTarget->QueryStatus(NULL, 1, prgCmds, pCmdText); - } - while (cCmds != 0) - { - prgCmds->cmdf = 0; - prgCmds++; - cCmds--; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) - { - while (cCmds != 0) - { - switch (prgCmds->cmdID) - { - case 0x1c: // search - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case 0x1d: // history - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case 0x1e: // favorites - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; - break; - case 0x23: // folders - prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED | OLECMDF_LATCHED; - break; - default: - prgCmds->cmdf = 0; - break; - } - prgCmds++; - cCmds--; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser)) - { - while (cCmds != 0) - { - switch (prgCmds->cmdID) - { - case 0xa022: // up level - prgCmds->cmdf = OLECMDF_SUPPORTED; - if (fCurrentDirectoryPIDL->mkid.cb != 0) - prgCmds->cmdf |= OLECMDF_ENABLED; - break; - } - prgCmds++; - cCmds--; - } - } - return S_OK; + if (prgCmds == NULL) + return E_INVALIDARG; + if (pguidCmdGroup == NULL) + { + if (fCurrentShellView.p != NULL) + { + hResult = fCurrentShellView->QueryInterface(IID_IOleCommandTarget, + reinterpret_cast(&commandTarget)); + if (SUCCEEDED(hResult) && commandTarget.p != NULL) + return commandTarget->QueryStatus(NULL, 1, prgCmds, pCmdText); + } + while (cCmds != 0) + { + prgCmds->cmdf = 0; + prgCmds++; + cCmds--; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) + { + while (cCmds != 0) + { + switch (prgCmds->cmdID) + { + case 0x1c: // search + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case 0x1d: // history + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case 0x1e: // favorites + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED; + break; + case 0x23: // folders + prgCmds->cmdf = OLECMDF_SUPPORTED | OLECMDF_ENABLED | OLECMDF_LATCHED; + break; + default: + prgCmds->cmdf = 0; + break; + } + prgCmds++; + cCmds--; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser)) + { + while (cCmds != 0) + { + switch (prgCmds->cmdID) + { + case 0xa022: // up level + prgCmds->cmdf = OLECMDF_SUPPORTED; + if (fCurrentDirectoryPIDL->mkid.cb != 0) + prgCmds->cmdf |= OLECMDF_ENABLED; + break; + } + prgCmds++; + cCmds--; + } + } + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::Exec(const GUID *pguidCmdGroup, DWORD nCmdID, - DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) + DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut) { - HRESULT hResult; + HRESULT hResult; - if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) - { - switch (nCmdID) - { - case 0x23: - hResult = ShowBand(CLSID_ExplorerBand, true); - return S_OK; - case 0x27: - if (nCmdexecopt == 1) - { - // pvaIn is a VT_UNKNOWN with a band that is being hidden - } - else - { - // update zones part of the status bar - } - return S_OK; - case 0x35: // don't do this, and the internet toolbar doesn't create a menu band - V_VT(pvaOut) = VT_INT_PTR; - V_INTREF(pvaOut) = reinterpret_cast( - LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU))); - return S_OK; - case 0x38: - // indicate if this cabinet was opened as a browser - return S_FALSE; - default: - return E_NOTIMPL; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons)) - { - switch (nCmdID) - { - case 0x23: - // placeholder - return S_OK; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_Theater)) - { - switch (nCmdID) - { - case 6: - // what is theater mode and why do we receive this? - return E_NOTIMPL; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand)) - { - switch (nCmdID) - { - case 14: - // initialize favorites menu - return S_OK; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView)) - { - switch (nCmdID) - { - case 0x12: - // refresh on toolbar clicked - return S_OK; - case 0x4d: - // tell the view if it should hide the task pane or not - return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK; - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser)) - { - switch (nCmdID) - { - case 40994: - return NavigateToParent(); - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar)) - { - switch (nCmdID) - { - case 0x7063: - return DoFolderOptions(); - } - } - else if (IsEqualIID(*pguidCmdGroup, CGID_DefView)) - { - switch (nCmdID) - { - case 1: - // Reset All Folders option in Folder Options - break; - } - } - else - { - return E_NOTIMPL; - } - return E_NOTIMPL; + if (IsEqualIID(*pguidCmdGroup, CGID_Explorer)) + { + switch (nCmdID) + { + case 0x23: + hResult = ShowBand(CLSID_ExplorerBand, true); + return S_OK; + case 0x27: + if (nCmdexecopt == 1) + { + // pvaIn is a VT_UNKNOWN with a band that is being hidden + } + else + { + // update zones part of the status bar + } + return S_OK; + case 0x35: // don't do this, and the internet toolbar doesn't create a menu band + V_VT(pvaOut) = VT_INT_PTR; + V_INTREF(pvaOut) = reinterpret_cast( + LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU))); + return S_OK; + case 0x38: + // indicate if this cabinet was opened as a browser + return S_FALSE; + default: + return E_NOTIMPL; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_InternetButtons)) + { + switch (nCmdID) + { + case 0x23: + // placeholder + return S_OK; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_Theater)) + { + switch (nCmdID) + { + case 6: + // what is theater mode and why do we receive this? + return E_NOTIMPL; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_MenuBand)) + { + switch (nCmdID) + { + case 14: + // initialize favorites menu + return S_OK; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_ShellDocView)) + { + switch (nCmdID) + { + case 0x12: + // refresh on toolbar clicked + return S_OK; + case 0x4d: + // tell the view if it should hide the task pane or not + return (fClientBars[BIVerticalBaseBar].clientBar.p == NULL) ? S_FALSE : S_OK; + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_ShellBrowser)) + { + switch (nCmdID) + { + case 40994: + return NavigateToParent(); + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_IExplorerToolbar)) + { + switch (nCmdID) + { + case 0x7063: + return DoFolderOptions(); + } + } + else if (IsEqualIID(*pguidCmdGroup, CGID_DefView)) + { + switch (nCmdID) + { + case 1: + // Reset All Folders option in Folder Options + break; + } + } + else + { + return E_NOTIMPL; + } + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::ContextSensitiveHelp(BOOL fEnterMode) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::InsertMenusSB(HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) { - HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)); - Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS); + HMENU mainMenu = LoadMenu(_AtlBaseModule.GetResourceInstance(), MAKEINTRESOURCE(IDM_CABINET_MAINMENU)); + Shell_MergeMenus(hmenuShared, mainMenu, 0, 0, FCIDM_BROWSERLAST, MM_SUBMENUSHAVEIDS); - int GCCU(itemCount3) = GetMenuItemCount(hmenuShared); - Unused(itemCount3); + int GCCU(itemCount3) = GetMenuItemCount(hmenuShared); + Unused(itemCount3); - lpMenuWidths->width[0] = 2; - lpMenuWidths->width[2] = 3; - lpMenuWidths->width[4] = 1; - return S_OK; + lpMenuWidths->width[0] = 2; + lpMenuWidths->width[2] = 3; + lpMenuWidths->width[4] = 1; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetMenuSB(HMENU hmenuShared, HOLEMENU holemenuRes, HWND hwndActiveObject) { - CComPtr shellMenu; - HRESULT hResult; + CComPtr shellMenu; + HRESULT hResult; - if (IsMenu(hmenuShared) == FALSE) - return E_FAIL; - hResult = GetMenuBand(IID_IShellMenu, reinterpret_cast(&shellMenu)); - if (FAILED(hResult)) - return hResult; - hResult = shellMenu->SetMenu(hmenuShared, NULL, SMSET_DONTOWN); - if (FAILED(hResult)) - return hResult; - fCurrentMenuBar = hmenuShared; - return S_OK; + if (IsMenu(hmenuShared) == FALSE) + return E_FAIL; + hResult = GetMenuBand(IID_IShellMenu, reinterpret_cast(&shellMenu)); + if (FAILED(hResult)) + return hResult; + hResult = shellMenu->SetMenu(hmenuShared, NULL, SMSET_DONTOWN); + if (FAILED(hResult)) + return hResult; + fCurrentMenuBar = hmenuShared; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::RemoveMenusSB(HMENU hmenuShared) { - if (hmenuShared == fCurrentMenuBar) - fCurrentMenuBar = NULL; - return S_OK; + if (hmenuShared == fCurrentMenuBar) + fCurrentMenuBar = NULL; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetStatusTextSB(LPCOLESTR pszStatusText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::EnableModelessSB(BOOL fEnable) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::TranslateAcceleratorSB(MSG *pmsg, WORD wID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::BrowseObject(LPCITEMIDLIST pidl, UINT wFlags) { - return BrowseToPIDL(const_cast(pidl), BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); + return BrowseToPIDL(const_cast(pidl), BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); } HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewStateStream(DWORD grfMode, IStream **ppStrm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetControlWindow(UINT id, HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = NULL; - switch(id) - { - case FCW_TOOLBAR: - *lphwnd = fToolbarProxy.m_hWnd; - return S_OK; - case FCW_STATUS: - *lphwnd = fStatusBar; - return S_OK; - case FCW_TREE: - // find the directory browser and return it - // this should be used only to determine if a tree is present - return S_OK; - case FCW_PROGRESS: - // is this a progress dialog? - return S_OK; - } - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = NULL; + switch(id) + { + case FCW_TOOLBAR: + *lphwnd = fToolbarProxy.m_hWnd; + return S_OK; + case FCW_STATUS: + *lphwnd = fStatusBar; + return S_OK; + case FCW_TREE: + // find the directory browser and return it + // this should be used only to determine if a tree is present + return S_OK; + case FCW_PROGRESS: + // is this a progress dialog? + return S_OK; + } + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SendControlMsg( - UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) + UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pret) { - LPARAM result; + LPARAM result; - if (pret != NULL) - *pret = 0; - switch(id) - { - case FCW_TOOLBAR: - result = fToolbarProxy.SendMessage(uMsg, wParam, lParam); - if (pret != NULL) - *pret = result; - break; - case FCW_STATUS: - result = SendMessage(fStatusBar, uMsg, wParam, lParam); - if (pret != NULL) - *pret = result; - break; - } - return S_OK; + if (pret != NULL) + *pret = 0; + switch(id) + { + case FCW_TOOLBAR: + result = fToolbarProxy.SendMessage(uMsg, wParam, lParam); + if (pret != NULL) + *pret = result; + break; + case FCW_STATUS: + result = SendMessage(fStatusBar, uMsg, wParam, lParam); + if (pret != NULL) + *pret = result; + break; + } + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::QueryActiveShellView(IShellView **ppshv) { - if (ppshv == NULL) - return E_POINTER; - *ppshv = fCurrentShellView; - if (fCurrentShellView.p != NULL) - fCurrentShellView.p->AddRef(); - return S_OK; + if (ppshv == NULL) + return E_POINTER; + *ppshv = fCurrentShellView; + if (fCurrentShellView.p != NULL) + fCurrentShellView.p->AddRef(); + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnViewWindowActive(IShellView *ppshv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetToolbarItems(LPTBBUTTON lpButtons, UINT nButtons, UINT uFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::DragEnter( - IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) + IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::DragOver(DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::DragLeave() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Drop( - IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) + IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::QueryService(REFGUID guidService, REFIID riid, void **ppvObject) { - // view does a query for SID_STopLevelBrowser, IID_IShellBrowserService - // the returned interface has a method GetPropertyBag on it - if (IsEqualIID(guidService, SID_STopLevelBrowser)) - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_SShellBrowser)) - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_ITargetFrame2)) - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_IWebBrowserApp)) // without this, the internet toolbar won't reflect notifications - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_SProxyBrowser)) - return this->QueryInterface(riid, ppvObject); - if (IsEqualIID(guidService, SID_IExplorerToolbar)) - return fClientBars[BIInternetToolbar].clientBar->QueryInterface(riid, ppvObject); - return E_NOINTERFACE; + // view does a query for SID_STopLevelBrowser, IID_IShellBrowserService + // the returned interface has a method GetPropertyBag on it + if (IsEqualIID(guidService, SID_STopLevelBrowser)) + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_SShellBrowser)) + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_ITargetFrame2)) + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_IWebBrowserApp)) // without this, the internet toolbar won't reflect notifications + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_SProxyBrowser)) + return this->QueryInterface(riid, ppvObject); + if (IsEqualIID(guidService, SID_IExplorerToolbar)) + return fClientBars[BIInternetToolbar].clientBar->QueryInterface(riid, ppvObject); + return E_NOINTERFACE; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetPropertyBag(long flags, REFIID riid, void **ppvObject) { - if (ppvObject == NULL) - return E_POINTER; - *ppvObject = NULL; - return E_NOTIMPL; + if (ppvObject == NULL) + return E_POINTER; + *ppvObject = NULL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfoCount(UINT *pctinfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, - UINT cNames, LCID lcid, DISPID *rgDispId) + UINT cNames, LCID lcid, DISPID *rgDispId) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, - WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) + WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetParentSite(IOleInPlaceSite **ppipsite) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetTitle(IShellView *psv, LPCWSTR pszName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetTitle(IShellView *psv, LPWSTR pszName, DWORD cchName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetOleObject(IOleObject **ppobjv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetTravelLog(ITravelLog **pptl) { - HRESULT hResult; + HRESULT hResult; - // called by toolbar when displaying tooltips - if (pptl != NULL) - *pptl = NULL; - if (fTravelLog.p == NULL) - { - hResult = CreateTravelLog(IID_ITravelLog, reinterpret_cast(&fTravelLog)); - if (FAILED(hResult)) - return hResult; - } - *pptl = fTravelLog.p; - fTravelLog.p->AddRef(); - return S_OK; + // called by toolbar when displaying tooltips + if (pptl != NULL) + *pptl = NULL; + if (fTravelLog.p == NULL) + { + hResult = CreateTravelLog(IID_ITravelLog, reinterpret_cast(&fTravelLog)); + if (FAILED(hResult)) + return hResult; + } + *pptl = fTravelLog.p; + fTravelLog.p->AddRef(); + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::ShowControlWindow(UINT id, BOOL fShow) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::IsControlWindowShown(UINT id, BOOL *pfShown) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::IEGetDisplayName(LPCITEMIDLIST pidl, LPWSTR pwszName, UINT uFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::IEParseDisplayName(UINT uiCP, LPCWSTR pwszPath, LPCITEMIDLIST *ppidlOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::DisplayParseError(HRESULT hres, LPCWSTR pwszPath) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetNavigateState(BNSTATE bnstate) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetNavigateState(BNSTATE *pbnstate) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::NotifyRedirect(IShellView *psv, LPCITEMIDLIST pidl, BOOL *pfDidBrowse) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateWindowList() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateBackForwardState() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetFlags(DWORD dwFlags, DWORD dwFlagMask) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetFlags(DWORD *pdwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::CanNavigateNow() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetPidl(LPCITEMIDLIST *ppidl) { - // called by explorer bar to get current pidl - if (ppidl == NULL) - return E_POINTER; - *ppidl = ILClone(fCurrentDirectoryPIDL); - return S_OK; + // called by explorer bar to get current pidl + if (ppidl == NULL) + return E_POINTER; + *ppidl = ILClone(fCurrentDirectoryPIDL); + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetReferrer(LPCITEMIDLIST pidl) { - return E_NOTIMPL; + return E_NOTIMPL; } DWORD STDMETHODCALLTYPE CShellBrowser::GetBrowserIndex() { - return -1; + return -1; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetBrowserByIndex(DWORD dwID, IUnknown **ppunk) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetHistoryObject(IOleObject **ppole, IStream **pstm, IBindCtx **ppbc) { - if (ppole == NULL || pstm == NULL || ppbc == NULL) - return E_INVALIDARG; - *ppole = fHistoryObject; - if (fHistoryObject != NULL) - fHistoryObject->AddRef(); - *pstm = fHistoryStream; - if (fHistoryStream != NULL) - fHistoryStream->AddRef(); - *ppbc = fHistoryBindContext; - if (fHistoryBindContext != NULL) - fHistoryBindContext->AddRef(); - fHistoryObject = NULL; - fHistoryStream = NULL; - fHistoryBindContext = NULL; - if (*ppole == NULL) - return E_FAIL; - return S_OK; + if (ppole == NULL || pstm == NULL || ppbc == NULL) + return E_INVALIDARG; + *ppole = fHistoryObject; + if (fHistoryObject != NULL) + fHistoryObject->AddRef(); + *pstm = fHistoryStream; + if (fHistoryStream != NULL) + fHistoryStream->AddRef(); + *ppbc = fHistoryBindContext; + if (fHistoryBindContext != NULL) + fHistoryBindContext->AddRef(); + fHistoryObject = NULL; + fHistoryStream = NULL; + fHistoryBindContext = NULL; + if (*ppole == NULL) + return E_FAIL; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetHistoryObject(IOleObject *pole, BOOL fIsLocalAnchor) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::CacheOLEServer(IOleObject *pole) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetSetCodePage(VARIANT *pvarIn, VARIANT *pvarOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnHttpEquiv( - IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut) + IShellView *psv, BOOL fDone, VARIANT *pvarargIn, VARIANT *pvarargOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetPalette(HPALETTE *hpal) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::RegisterWindow(BOOL fForceRegister, int swc) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CShellBrowser::WndProcBS(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetAsDefFolderSettings() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewRect(RECT *prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnSize(WPARAM wParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnCreate(struct tagCREATESTRUCTW *pcs) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CShellBrowser::OnCommand(WPARAM wParam, LPARAM lParam) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnDestroy() { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT STDMETHODCALLTYPE CShellBrowser::OnNotify(struct tagNMHDR *pnm) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnSetFocus() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::OnFrameWindowActivateBS(BOOL fActive) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::ReleaseShellView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::ActivatePendingView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::CreateViewWindow( - IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd) + IShellView *psvNew, IShellView *psvOld, LPRECT prcView, HWND *phwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::CreateBrowserPropSheetExt(REFIID riid, void **ppv) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetViewWindow(HWND *phwndView) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetBaseBrowserData(LPCBASEBROWSERDATA *pbbd) { - return E_NOTIMPL; + return E_NOTIMPL; } LPBASEBROWSERDATA STDMETHODCALLTYPE CShellBrowser::PutBaseBrowserData() { - return NULL; + return NULL; } HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTravelLog(ITravelLog *ptl, DWORD dw) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetTopBrowser() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Offline(int iCmd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::AllowViewResize(BOOL f) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetActivateState(UINT u) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::UpdateSecureLockIcon(int eSecureLock) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeDownloadManager() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::InitializeTransitionSite() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_Initialize(HWND hwnd, IUnknown *pauto) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingNavigationAsync() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_CancelPendingView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_MaySaveChanges() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_PauseOrResumeView(BOOL fPaused) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_DisableModeless() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_NavigateToPidl(LPCITEMIDLIST pidl, DWORD grfHLNF, DWORD dwFlags) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_TryShell2Rename(IShellView *psv, LPCITEMIDLIST pidlNew) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_SwitchActivationNow() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_ExecChildren(IUnknown *punkBar, BOOL fBroadcast, - const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut) + const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANTARG *pvarargIn, VARIANTARG *pvarargOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_SendChildren( - HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam) + HWND hwndBar, BOOL fBroadcast, UINT uMsg, WPARAM wParam, LPARAM lParam) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetFolderSetData(struct tagFolderSetData *pfsd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_OnFocusChange(UINT itb) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::v_ShowHideChildWindows(BOOL fChildOnly) { - return E_NOTIMPL; + return E_NOTIMPL; } UINT STDMETHODCALLTYPE CShellBrowser::_get_itbLastFocus() { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CShellBrowser::_put_itbLastFocus(UINT itbLastFocus) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_UIActivateView(UINT uState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_GetViewBorderRect(RECT *prc) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_UpdateViewRectSize() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorder(UINT itb) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeView() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_GetEffectiveClientArea(LPRECT lprectBorder, HMONITOR hmon) { - return E_NOTIMPL; + return E_NOTIMPL; } IStream *STDMETHODCALLTYPE CShellBrowser::v_GetViewStream(LPCITEMIDLIST pidl, DWORD grfMode, LPCWSTR pwszName) { - return NULL; + return NULL; } LRESULT STDMETHODCALLTYPE CShellBrowser::ForwardViewMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetAcceleratorMenu(HACCEL hacc) { - return E_NOTIMPL; + return E_NOTIMPL; } int STDMETHODCALLTYPE CShellBrowser::_GetToolbarCount() { - return 0; + return 0; } LPTOOLBARITEM STDMETHODCALLTYPE CShellBrowser::_GetToolbarItem(int itb) { - return NULL; + return NULL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_SaveToolbars(IStream *pstm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_LoadToolbars(IStream *pstm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_CloseAndReleaseToolbars(BOOL fClose) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayGetNextToolbarFocus( - LPMSG lpMsg, UINT itbNext, int citb, LPTOOLBARITEM *pptbi, HWND *phwnd) + LPMSG lpMsg, UINT itbNext, int citb, LPTOOLBARITEM *pptbi, HWND *phwnd) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_ResizeNextBorderHelper(UINT itb, BOOL bUseHmonitor) { - return E_NOTIMPL; + return E_NOTIMPL; } UINT STDMETHODCALLTYPE CShellBrowser::_FindTBar(IUnknown *punkSrc) { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CShellBrowser::_SetFocus(LPTOOLBARITEM ptbi, HWND hwnd, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::v_MayTranslateAccelerator(MSG *pmsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::_GetBorderDWHelper(IUnknown *punkSrc, LPRECT lprectBorder, BOOL bUseHmonitor) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::v_CheckZoneCrossing(LPCITEMIDLIST pidl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GoBack() { - CComPtr travelLog; - HRESULT hResult; + CComPtr travelLog; + HRESULT hResult; - hResult = GetTravelLog(&travelLog); - if (FAILED(hResult)) - return hResult; - return travelLog->Travel(static_cast(this), TLOG_BACK); + hResult = GetTravelLog(&travelLog); + if (FAILED(hResult)) + return hResult; + return travelLog->Travel(static_cast(this), TLOG_BACK); } HRESULT STDMETHODCALLTYPE CShellBrowser::GoForward() { - CComPtr travelLog; - HRESULT hResult; + CComPtr travelLog; + HRESULT hResult; - hResult = GetTravelLog(&travelLog); - if (FAILED(hResult)) - return hResult; - return travelLog->Travel(static_cast(this), TLOG_FORE); + hResult = GetTravelLog(&travelLog); + if (FAILED(hResult)) + return hResult; + return travelLog->Travel(static_cast(this), TLOG_FORE); } HRESULT STDMETHODCALLTYPE CShellBrowser::GoHome() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GoSearch() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Navigate(BSTR URL, VARIANT *Flags, - VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) + VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh() { - VARIANT level; + VARIANT level; - V_VT(&level) = VT_I4; - V_I4(&level) = 4; - return Refresh2(&level); + V_VT(&level) = VT_I4; + V_I4(&level) = 4; + return Refresh2(&level); } HRESULT STDMETHODCALLTYPE CShellBrowser::Refresh2(VARIANT *Level) { - CComPtr oleCommandTarget; - HRESULT hResult; + CComPtr oleCommandTarget; + HRESULT hResult; - hResult = fCurrentShellView->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); - if (FAILED(hResult)) - return hResult; - return oleCommandTarget->Exec(NULL, 22, 1, Level, NULL); + hResult = fCurrentShellView->QueryInterface(IID_IOleCommandTarget, reinterpret_cast(&oleCommandTarget)); + if (FAILED(hResult)) + return hResult; + return oleCommandTarget->Exec(NULL, 22, 1, Level, NULL); } HRESULT STDMETHODCALLTYPE CShellBrowser::Stop() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Application(IDispatch **ppDisp) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Parent(IDispatch **ppDisp) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Container(IDispatch **ppDisp) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Document(IDispatch **ppDisp) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_TopLevelContainer(VARIANT_BOOL *pBool) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Type(BSTR *Type) { - return E_NOTIMPL; + return E_NOTIMPL; } #ifdef __exdisp_h__ #define long LONG #endif HRESULT STDMETHODCALLTYPE CShellBrowser::get_Left(long *pl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Left(long Left) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Top(long *pl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Top(long Top) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Width(long *pl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Width(long Width) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Height(long *pl) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Height(long Height) { - return E_NOTIMPL; + return E_NOTIMPL; } #ifdef __exdisp_h__ #undef long #endif HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationName(BSTR *LocationName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_LocationURL(BSTR *LocationURL) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Busy(VARIANT_BOOL *pBool) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Quit() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::ClientToWindow(int *pcx, int *pcy) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::PutProperty(BSTR Property, VARIANT vtValue) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetProperty(BSTR Property, VARIANT *pvtValue) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Name(BSTR *Name) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_HWND(SHANDLE_PTR *pHWND) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullName(BSTR *FullName) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Path(BSTR *Path) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Visible(VARIANT_BOOL *pBool) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Visible(VARIANT_BOOL Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusBar(VARIANT_BOOL *pBool) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusBar(VARIANT_BOOL Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_StatusText(BSTR *StatusText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_StatusText(BSTR StatusText) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_ToolBar(int *Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_ToolBar(int Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_MenuBar(VARIANT_BOOL *Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_MenuBar(VARIANT_BOOL Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_FullScreen(VARIANT_BOOL *pbFullScreen) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_FullScreen(VARIANT_BOOL bFullScreen) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::Navigate2(VARIANT *URL, VARIANT *Flags, - VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) + VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers) { - LPITEMIDLIST pidl; - HRESULT hResult; + LPITEMIDLIST pidl; + HRESULT hResult; - // called from drive combo box to navigate to a directory - if (V_VT(URL) != (VT_ARRAY | VT_UI1)) - return E_INVALIDARG; - if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1) - return E_INVALIDARG; - pidl = (LPITEMIDLIST)V_ARRAY(URL)->pvData; - hResult = BrowseToPIDL((LPITEMIDLIST)pidl, BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); - if (FAILED(hResult)) - return hResult; - return S_OK; + // called from drive combo box to navigate to a directory + if (V_VT(URL) != (VT_ARRAY | VT_UI1)) + return E_INVALIDARG; + if (V_ARRAY(URL)->cDims != 1 || V_ARRAY(URL)->cbElements != 1) + return E_INVALIDARG; + pidl = (LPITEMIDLIST)V_ARRAY(URL)->pvData; + hResult = BrowseToPIDL((LPITEMIDLIST)pidl, BTP_UPDATE_CUR_HISTORY | BTP_UPDATE_NEXT_HISTORY); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::QueryStatusWB(OLECMDID cmdID, OLECMDF *pcmdf) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::ExecWB(OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, - VARIANT *pvaIn, VARIANT *pvaOut) + VARIANT *pvaIn, VARIANT *pvaOut) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::ShowBrowserBar(VARIANT *pvaClsid, VARIANT *pvarShow, VARIANT *pvarSize) { - CLSID classID; - bool vertical; + CLSID classID; + bool vertical; - // called to show search bar - if (V_VT(pvaClsid) != VT_BSTR) - return E_INVALIDARG; - CLSIDFromString(V_BSTR(pvaClsid), &classID); - // TODO: properly compute the value of vertical - vertical = true; - return ShowBand(classID, vertical); + // called to show search bar + if (V_VT(pvaClsid) != VT_BSTR) + return E_INVALIDARG; + CLSIDFromString(V_BSTR(pvaClsid), &classID); + // TODO: properly compute the value of vertical + vertical = true; + return ShowBand(classID, vertical); } HRESULT STDMETHODCALLTYPE CShellBrowser::get_ReadyState(READYSTATE *plReadyState) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Offline(VARIANT_BOOL *pbOffline) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Offline(VARIANT_BOOL bOffline) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Silent(VARIANT_BOOL *pbSilent) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Silent(VARIANT_BOOL bSilent) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsBrowser(VARIANT_BOOL *pbRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsBrowser(VARIANT_BOOL bRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_RegisterAsDropTarget(VARIANT_BOOL *pbRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_RegisterAsDropTarget(VARIANT_BOOL bRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_TheaterMode(VARIANT_BOOL *pbRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_TheaterMode(VARIANT_BOOL bRegister) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_AddressBar(VARIANT_BOOL *Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_AddressBar(VARIANT_BOOL Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::get_Resizable(VARIANT_BOOL *Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::put_Resizable(VARIANT_BOOL Value) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::FindWindowByIndex(DWORD dwID, IUnknown **ppunk) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetWindowData(LPWINDOWDATA pWinData) { - if (pWinData == NULL) - return E_POINTER; - - pWinData->dwWindowID = -1; - pWinData->uiCP = 0; - pWinData->pidl = ILClone(fCurrentDirectoryPIDL); - pWinData->lpszUrl = NULL; - pWinData->lpszUrlLocation = NULL; - pWinData->lpszTitle = NULL; - return S_OK; + if (pWinData == NULL) + return E_POINTER; + + pWinData->dwWindowID = -1; + pWinData->uiCP = 0; + pWinData->pidl = ILClone(fCurrentDirectoryPIDL); + pWinData->lpszUrl = NULL; + pWinData->lpszUrlLocation = NULL; + pWinData->lpszTitle = NULL; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::LoadHistoryPosition(LPWSTR pszUrlLocation, DWORD dwPosition) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetClassID(CLSID *pClassID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::LoadHistory(IStream *pStream, IBindCtx *pbc) { - CComPtr viewPersistHistory; - CComPtr viewHistoryObject; - persistState oldState; - ULONG numRead; - LPITEMIDLIST pidl; - HRESULT hResult; + CComPtr viewPersistHistory; + CComPtr viewHistoryObject; + persistState oldState; + ULONG numRead; + LPITEMIDLIST pidl; + HRESULT hResult; - hResult = pStream->Read(&oldState, sizeof(oldState), &numRead); - if (FAILED(hResult)) - return hResult; - if (numRead != sizeof(oldState) || oldState.dwSize != sizeof(oldState)) - return E_FAIL; - if (oldState.browseType != 2) - return E_FAIL; - pidl = (LPITEMIDLIST)SHAlloc(oldState.pidlSize); - if (pidl == NULL) - return E_OUTOFMEMORY; - hResult = pStream->Read(pidl, oldState.pidlSize, &numRead); - if (FAILED(hResult)) - { - ILFree(pidl); - return hResult; - } - if (numRead != oldState.pidlSize) - { - ILFree(pidl); - return E_FAIL; - } - hResult = CoCreateInstance(oldState.persistClass, NULL, CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER, - IID_IOleObject, reinterpret_cast(&viewHistoryObject)); - fHistoryObject = viewHistoryObject; - fHistoryStream = pStream; - fHistoryBindContext = pbc; - hResult = BrowseToPIDL(pidl, BTP_UPDATE_CUR_HISTORY); - fHistoryObject = NULL; - fHistoryStream = NULL; - fHistoryBindContext = NULL; - ILFree(pidl); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = pStream->Read(&oldState, sizeof(oldState), &numRead); + if (FAILED(hResult)) + return hResult; + if (numRead != sizeof(oldState) || oldState.dwSize != sizeof(oldState)) + return E_FAIL; + if (oldState.browseType != 2) + return E_FAIL; + pidl = (LPITEMIDLIST)SHAlloc(oldState.pidlSize); + if (pidl == NULL) + return E_OUTOFMEMORY; + hResult = pStream->Read(pidl, oldState.pidlSize, &numRead); + if (FAILED(hResult)) + { + ILFree(pidl); + return hResult; + } + if (numRead != oldState.pidlSize) + { + ILFree(pidl); + return E_FAIL; + } + hResult = CoCreateInstance(oldState.persistClass, NULL, CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER, + IID_IOleObject, reinterpret_cast(&viewHistoryObject)); + fHistoryObject = viewHistoryObject; + fHistoryStream = pStream; + fHistoryBindContext = pbc; + hResult = BrowseToPIDL(pidl, BTP_UPDATE_CUR_HISTORY); + fHistoryObject = NULL; + fHistoryStream = NULL; + fHistoryBindContext = NULL; + ILFree(pidl); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SaveHistory(IStream *pStream) { - CComPtr viewPersistHistory; - persistState newState; - HRESULT hResult; + CComPtr viewPersistHistory; + persistState newState; + HRESULT hResult; - hResult = fCurrentShellView->GetItemObject( - SVGIO_BACKGROUND, IID_IPersistHistory, reinterpret_cast(&viewPersistHistory)); - memset(&newState, 0, sizeof(newState)); - newState.dwSize = sizeof(newState); - newState.browseType = 2; - newState.browserIndex = GetBrowserIndex(); - if (viewPersistHistory.p != NULL) - { - hResult = viewPersistHistory->GetClassID(&newState.persistClass); - if (FAILED(hResult)) - return hResult; - } - newState.pidlSize = ILGetSize(fCurrentDirectoryPIDL); - hResult = pStream->Write(&newState, sizeof(newState), NULL); - if (FAILED(hResult)) - return hResult; - hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL); - if (FAILED(hResult)) - return hResult; - if (viewPersistHistory.p != NULL) - { - hResult = viewPersistHistory->SaveHistory(pStream); - if (FAILED(hResult)) - return hResult; - } - return S_OK; + hResult = fCurrentShellView->GetItemObject( + SVGIO_BACKGROUND, IID_IPersistHistory, reinterpret_cast(&viewPersistHistory)); + memset(&newState, 0, sizeof(newState)); + newState.dwSize = sizeof(newState); + newState.browseType = 2; + newState.browserIndex = GetBrowserIndex(); + if (viewPersistHistory.p != NULL) + { + hResult = viewPersistHistory->GetClassID(&newState.persistClass); + if (FAILED(hResult)) + return hResult; + } + newState.pidlSize = ILGetSize(fCurrentDirectoryPIDL); + hResult = pStream->Write(&newState, sizeof(newState), NULL); + if (FAILED(hResult)) + return hResult; + hResult = pStream->Write(fCurrentDirectoryPIDL, newState.pidlSize, NULL); + if (FAILED(hResult)) + return hResult; + if (viewPersistHistory.p != NULL) + { + hResult = viewPersistHistory->SaveHistory(pStream); + if (FAILED(hResult)) + return hResult; + } + return S_OK; } HRESULT STDMETHODCALLTYPE CShellBrowser::SetPositionCookie(DWORD dwPositioncookie) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CShellBrowser::GetPositionCookie(DWORD *pdwPositioncookie) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT CShellBrowser::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - // TODO: rip down everything - PostQuitMessage(0); - return 0; + // TODO: rip down everything + PostQuitMessage(0); + return 0; } LRESULT CShellBrowser::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - CComPtr dockingWindow; - RECT availableBounds; - static const INT excludeItems[] = {1, 1, 1, 0xa001, 0, 0}; - HRESULT hResult; + CComPtr dockingWindow; + RECT availableBounds; + static const INT excludeItems[] = {1, 1, 1, 0xa001, 0, 0}; + HRESULT hResult; - if (wParam != SIZE_MINIMIZED) - { - GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems); - for (INT x = 0; x < 3; x++) - { - if (fClientBars[x].clientBar != NULL) - { - hResult = fClientBars[x].clientBar->QueryInterface( - IID_IDockingWindow, reinterpret_cast(&dockingWindow)); - if (SUCCEEDED(hResult) && dockingWindow != NULL) - { - hResult = dockingWindow->ResizeBorderDW( - &availableBounds, static_cast(this), TRUE); - break; - } - } - } - RepositionBars(); - } - return 1; + if (wParam != SIZE_MINIMIZED) + { + GetEffectiveClientRect(m_hWnd, &availableBounds, excludeItems); + for (INT x = 0; x < 3; x++) + { + if (fClientBars[x].clientBar != NULL) + { + hResult = fClientBars[x].clientBar->QueryInterface( + IID_IDockingWindow, reinterpret_cast(&dockingWindow)); + if (SUCCEEDED(hResult) && dockingWindow != NULL) + { + hResult = dockingWindow->ResizeBorderDW( + &availableBounds, static_cast(this), TRUE); + break; + } + } + } + RepositionBars(); + } + return 1; } LRESULT CShellBrowser::OnInitMenuPopup(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - HMENU theMenu; + HMENU theMenu; - theMenu = reinterpret_cast(wParam); - if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW)) - UpdateViewMenu(theMenu); - return RelayMsgToShellView(uMsg, wParam, lParam, bHandled); + theMenu = reinterpret_cast(wParam); + if (theMenu == SHGetMenuFromID(fCurrentMenuBar, FCIDM_MENU_VIEW)) + UpdateViewMenu(theMenu); + return RelayMsgToShellView(uMsg, wParam, lParam, bHandled); } LRESULT CShellBrowser::RelayMsgToShellView(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if (fCurrentShellViewWindow != NULL) - return SendMessage(fCurrentShellViewWindow, uMsg, wParam, lParam); - return 0; + if (fCurrentShellViewWindow != NULL) + return SendMessage(fCurrentShellViewWindow, uMsg, wParam, lParam); + return 0; } LRESULT CShellBrowser::OnClose(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - return 0; + return 0; } LRESULT CShellBrowser::OnFolderOptions(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - hResult = DoFolderOptions(); - return 0; + hResult = DoFolderOptions(); + return 0; } LRESULT CShellBrowser::OnMapNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { #ifndef ROS_Headers - WNetConnectionDialog(m_hWnd, RESOURCETYPE_DISK); + WNetConnectionDialog(m_hWnd, RESOURCETYPE_DISK); #endif - return 0; + return 0; } LRESULT CShellBrowser::OnDisconnectNetworkDrive(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { #ifndef ROS_Headers - WNetDisconnectDialog(m_hWnd, RESOURCETYPE_DISK); + WNetDisconnectDialog(m_hWnd, RESOURCETYPE_DISK); #endif - return 0; + return 0; } LRESULT CShellBrowser::OnAboutReactOS(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - ShellAbout(m_hWnd, _T("ReactOS"), _T(""), NULL); - return 0; + ShellAbout(m_hWnd, _T("ReactOS"), _T(""), NULL); + return 0; } LRESULT CShellBrowser::OnGoBack(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - hResult = GoBack(); - return 0; + hResult = GoBack(); + return 0; } LRESULT CShellBrowser::OnGoForward(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - hResult = GoForward(); - return 0; + hResult = GoForward(); + return 0; } LRESULT CShellBrowser::OnGoUpLevel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - hResult = NavigateToParent(); - return 0; + hResult = NavigateToParent(); + return 0; } LRESULT CShellBrowser::OnGoHome(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - hResult = GoHome(); - return 0; + hResult = GoHome(); + return 0; } LRESULT CShellBrowser::OnIsThisLegal(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - HRESULT hResult; + HRESULT hResult; - typedef HRESULT (WINAPI *PSHOpenNewFrame)(LPITEMIDLIST pidl, IUnknown *b, long c, long d); - PSHOpenNewFrame Func; - HMODULE hShlwapi; + typedef HRESULT (WINAPI *PSHOpenNewFrame)(LPITEMIDLIST pidl, IUnknown *b, long c, long d); + PSHOpenNewFrame Func; + HMODULE hShlwapi; - hShlwapi = LoadLibrary(TEXT("browseui.dll")); - if (hShlwapi != NULL) - Func = reinterpret_cast(GetProcAddress(hShlwapi, (LPCSTR)103)); - else - Func = NULL; - if (Func != NULL) - { - LPITEMIDLIST desktopPIDL; + hShlwapi = LoadLibrary(TEXT("browseui.dll")); + if (hShlwapi != NULL) + Func = reinterpret_cast(GetProcAddress(hShlwapi, (LPCSTR)103)); + else + Func = NULL; + if (Func != NULL) + { + LPITEMIDLIST desktopPIDL; - hResult = SHGetFolderLocation(NULL, CSIDL_DESKTOP, NULL, 0, &desktopPIDL); - if (SUCCEEDED(hResult)) - { - hResult = Func(desktopPIDL, NULL, -1, 1); - } - } - return 0; + hResult = SHGetFolderLocation(NULL, CSIDL_DESKTOP, NULL, 0, &desktopPIDL); + if (SUCCEEDED(hResult)) + { + hResult = Func(desktopPIDL, NULL, -1, 1); + } + } + return 0; } LRESULT CShellBrowser::OnToggleStatusBarVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - fStatusBarVisible = !fStatusBarVisible; - // TODO: trigger a relayout of contained items - return 0; + fStatusBarVisible = !fStatusBarVisible; + // TODO: trigger a relayout of contained items + return 0; } LRESULT CShellBrowser::OnToggleToolbarLock(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TOOLBARLOCKED, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TOOLBARLOCKED, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnToggleToolbarBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TOOLBARBANDSHOWN, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnToggleAddressBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_ADDRESSBANDSHOWN, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnToggleLinksBandVisible(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_LINKSBANDSHOWN, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_LINKSBANDSHOWN, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnToggleTextLabels(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TEXTLABELS, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_TEXTLABELS, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnToolbarCustomize(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - CComPtr commandTarget; - HRESULT hResult; + CComPtr commandTarget; + HRESULT hResult; - hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( - IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); - if (FAILED(hResult)) - return 0; - hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL); - return 0; + hResult = fClientBars[BIInternetToolbar].clientBar->QueryInterface( + IID_IOleCommandTarget, reinterpret_cast(&commandTarget)); + if (FAILED(hResult)) + return 0; + hResult = commandTarget->Exec(&CGID_PrivCITCommands, ITID_CUSTOMIZEENABLED, 0, NULL, NULL); + return 0; } LRESULT CShellBrowser::OnGoTravel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { - return 0; + return 0; } LRESULT CShellBrowser::RelayCommands(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) { - if (HIWORD(wParam) == 0 && LOWORD(wParam) < FCIDM_SHVIEWLAST && fCurrentShellViewWindow != NULL) - return SendMessage(fCurrentShellViewWindow, uMsg, wParam, lParam); - return 0; + if (HIWORD(wParam) == 0 && LOWORD(wParam) < FCIDM_SHVIEWLAST && fCurrentShellViewWindow != NULL) + return SendMessage(fCurrentShellViewWindow, uMsg, wParam, lParam); + return 0; } //static LRESULT CALLBACK ExplorerWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) //{ -// return DefWindowProc(hwnd, uMsg, wParam, lParam); +// return DefWindowProc(hwnd, uMsg, wParam, lParam); //} static void ExplorerMessageLoop() { - MSG Msg; - BOOL Ret; + MSG Msg; + BOOL Ret; - while (1) - { - Ret = (GetMessage(&Msg, NULL, 0, 0) != 0); + while (1) + { + Ret = (GetMessage(&Msg, NULL, 0, 0) != 0); - if (Ret != -1) - { - if (!Ret) - break; + if (Ret != -1) + { + if (!Ret) + break; - TranslateMessage(&Msg); - DispatchMessage(&Msg); - } - } + TranslateMessage(&Msg); + DispatchMessage(&Msg); + } + } } DWORD WINAPI BrowserThreadProc(LPVOID lpThreadParameter) { - CComPtr shellBrowser; - CComObject *theCabinet; - IEThreadParamBlock *parameters; - HRESULT hResult; + CComPtr shellBrowser; + CComObject *theCabinet; + IEThreadParamBlock *parameters; + HRESULT hResult; - parameters = (IEThreadParamBlock *)lpThreadParameter; + parameters = (IEThreadParamBlock *)lpThreadParameter; OleInitialize(NULL); - ATLTRY (theCabinet = new CComObject); - if (theCabinet == NULL) - return E_OUTOFMEMORY; - hResult = theCabinet->QueryInterface(IID_IShellBrowser, reinterpret_cast(&shellBrowser)); - if (FAILED(hResult)) - { - delete theCabinet; - return hResult; - } - hResult = theCabinet->Initialize(parameters->directoryPIDL, 0, 0, 0); - if (FAILED(hResult)) - return hResult; - ExplorerMessageLoop(); - OleUninitialize(); - return 0; + ATLTRY (theCabinet = new CComObject); + if (theCabinet == NULL) + return E_OUTOFMEMORY; + hResult = theCabinet->QueryInterface(IID_IShellBrowser, reinterpret_cast(&shellBrowser)); + if (FAILED(hResult)) + { + delete theCabinet; + return hResult; + } + hResult = theCabinet->Initialize(parameters->directoryPIDL, 0, 0, 0); + if (FAILED(hResult)) + return hResult; + ExplorerMessageLoop(); + OleUninitialize(); + return 0; } diff --git a/reactos/dll/win32/browseui/toolsband.cpp b/reactos/dll/win32/browseui/toolsband.cpp index f6f7b5da33f..a3e6caa1c6d 100644 --- a/reactos/dll/win32/browseui/toolsband.cpp +++ b/reactos/dll/win32/browseui/toolsband.cpp @@ -29,111 +29,111 @@ TODO: */ class CToolsBand : - public CWindowImpl, - public CComObjectRootEx, - public IDeskBand, - public IObjectWithSite, - public IInputObject, - public IPersistStream + public CWindowImpl, + public CComObjectRootEx, + public IDeskBand, + public IObjectWithSite, + public IInputObject, + public IPersistStream { private: - IDockingWindowSite *fDockSite; - GUID fExecCommandCategory; - CComPtr fExecCommandTarget; + IDockingWindowSite *fDockSite; + GUID fExecCommandCategory; + CComPtr fExecCommandTarget; public: - CToolsBand(); - ~CToolsBand(); + CToolsBand(); + ~CToolsBand(); public: - // *** IDeskBand methods *** - virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi); + // *** IDeskBand methods *** + virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi); - // *** IObjectWithSite methods *** - virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown* pUnkSite); - virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); + // *** IObjectWithSite methods *** + virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown* pUnkSite); + virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); - // *** IOleWindow methods *** - virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); - virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); + // *** IOleWindow methods *** + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); + virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); - // *** IDockingWindow methods *** - virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); - virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved); - virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); + // *** IDockingWindow methods *** + virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); + virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved); + virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); - // *** IInputObject methods *** - virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); - virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); - virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); + // *** IInputObject methods *** + virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); + virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); + virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); - // *** IPersist methods *** - virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); + // *** IPersist methods *** + virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); - // *** IPersistStream methods *** - virtual HRESULT STDMETHODCALLTYPE IsDirty(); - virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); - virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); - virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); + // *** IPersistStream methods *** + virtual HRESULT STDMETHODCALLTYPE IsDirty(); + virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); + virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); + virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); - // message handlers - LRESULT OnGetButtonInfo(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); + // message handlers + LRESULT OnGetButtonInfo(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled); BEGIN_MSG_MAP(CToolsBand) -// MESSAGE_HANDLER(WM_NOTIFY, OnNotify) -// MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) - NOTIFY_HANDLER(0, TBN_GETBUTTONINFOW, OnGetButtonInfo) +// MESSAGE_HANDLER(WM_NOTIFY, OnNotify) +// MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) + NOTIFY_HANDLER(0, TBN_GETBUTTONINFOW, OnGetButtonInfo) END_MSG_MAP() BEGIN_COM_MAP(CToolsBand) - COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) - COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) - COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) - COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) - COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) - COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) - COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) + COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) + COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) + COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) + COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) + COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) + COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) + COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) END_COM_MAP() }; CToolsBand::CToolsBand() { - fDockSite = NULL; + fDockSite = NULL; } CToolsBand::~CToolsBand() { - if (fDockSite) - fDockSite->Release(); + if (fDockSite) + fDockSite->Release(); } HRESULT STDMETHODCALLTYPE CToolsBand::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO* pdbi) { - if (pdbi->dwMask & DBIM_MINSIZE) - { - pdbi->ptMinSize.x = 400; - pdbi->ptMinSize.y = 38; - } - if (pdbi->dwMask & DBIM_MAXSIZE) - { - pdbi->ptMaxSize.x = 0; - pdbi->ptMaxSize.y = 0; - } - if (pdbi->dwMask & DBIM_INTEGRAL) - { - pdbi->ptIntegral.x = 0; - pdbi->ptIntegral.y = 0; - } - if (pdbi->dwMask & DBIM_ACTUAL) - { - pdbi->ptActual.x = 400; - pdbi->ptActual.y = 38; - } - if (pdbi->dwMask & DBIM_TITLE) - wcscpy(pdbi->wszTitle, L""); - if (pdbi->dwMask & DBIM_MODEFLAGS) - pdbi->dwModeFlags = DBIMF_UNDELETEABLE; - if (pdbi->dwMask & DBIM_BKCOLOR) - pdbi->crBkgnd = 0; - return S_OK; + if (pdbi->dwMask & DBIM_MINSIZE) + { + pdbi->ptMinSize.x = 400; + pdbi->ptMinSize.y = 38; + } + if (pdbi->dwMask & DBIM_MAXSIZE) + { + pdbi->ptMaxSize.x = 0; + pdbi->ptMaxSize.y = 0; + } + if (pdbi->dwMask & DBIM_INTEGRAL) + { + pdbi->ptIntegral.x = 0; + pdbi->ptIntegral.y = 0; + } + if (pdbi->dwMask & DBIM_ACTUAL) + { + pdbi->ptActual.x = 400; + pdbi->ptActual.y = 38; + } + if (pdbi->dwMask & DBIM_TITLE) + wcscpy(pdbi->wszTitle, L""); + if (pdbi->dwMask & DBIM_MODEFLAGS) + pdbi->dwModeFlags = DBIMF_UNDELETEABLE; + if (pdbi->dwMask & DBIM_BKCOLOR) + pdbi->crBkgnd = 0; + return S_OK; } static const int backImageIndex = 0; @@ -168,13 +168,13 @@ static const int upImageIndex = 28; static const int mapDriveImageIndex = 29; static const int disconnectImageIndex = 30; // 31 -static const int viewsAltImageIndex = 32; // same image as viewsImageIndex +static const int viewsAltImageIndex = 32; // same image as viewsImageIndex // 33 // 34 // 35 // 36 // 37 -static const int viewsAlt2ImageIndex = 38; // same image as viewsAltImageIndex & viewsImageIndex +static const int viewsAlt2ImageIndex = 38; // same image as viewsAltImageIndex & viewsImageIndex // 39 // 40 // 41 @@ -186,113 +186,113 @@ static const int folderOptionsImageIndex = 46; const int numShownButtons = 13; const int numHiddenButtons = 13; -TBBUTTON tbButtonsAdd[numShownButtons + numHiddenButtons] = +TBBUTTON tbButtonsAdd[numShownButtons + numHiddenButtons] = { - {backImageIndex, gBackCommandID, TBSTATE_ENABLED, BTNS_DROPDOWN | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Back")}, - {forwardImageIndex, gForwardCommandID, TBSTATE_ENABLED, BTNS_DROPDOWN, {0}, 0, (INT_PTR)_T("Forward")}, - {upImageIndex, gUpLevelCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Up")}, - {6, -1, TBSTATE_ENABLED, BTNS_SEP}, - {searchImageIndex, gSearchCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Search")}, - {foldersImageIndex, gFoldersCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Folders")}, - {6, -1, TBSTATE_ENABLED, BTNS_SEP}, - {moveToImageIndex, gMoveToCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Move To")}, - {copyToImageIndex, gCopyToCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Copy To")}, - {deleteImageIndex, gDeleteCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Delete")}, - {undoImageIndex, gUndoCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Undo")}, - {6, -1, TBSTATE_ENABLED, BTNS_SEP}, - {viewsImageIndex, gViewsCommandID, TBSTATE_ENABLED, BTNS_WHOLEDROPDOWN, {0}, 0, (INT_PTR)_T("Views")}, + {backImageIndex, gBackCommandID, TBSTATE_ENABLED, BTNS_DROPDOWN | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Back")}, + {forwardImageIndex, gForwardCommandID, TBSTATE_ENABLED, BTNS_DROPDOWN, {0}, 0, (INT_PTR)_T("Forward")}, + {upImageIndex, gUpLevelCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Up")}, + {6, -1, TBSTATE_ENABLED, BTNS_SEP}, + {searchImageIndex, gSearchCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Search")}, + {foldersImageIndex, gFoldersCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Folders")}, + {6, -1, TBSTATE_ENABLED, BTNS_SEP}, + {moveToImageIndex, gMoveToCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Move To")}, + {copyToImageIndex, gCopyToCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Copy To")}, + {deleteImageIndex, gDeleteCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Delete")}, + {undoImageIndex, gUndoCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Undo")}, + {6, -1, TBSTATE_ENABLED, BTNS_SEP}, + {viewsImageIndex, gViewsCommandID, TBSTATE_ENABLED, BTNS_WHOLEDROPDOWN, {0}, 0, (INT_PTR)_T("Views")}, - {0, gStopCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Stop")}, - {0, gRefreshCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Refresh")}, - {0, gHomeCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Home")}, - {mapDriveImageIndex, gMapDriveCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Map Drive")}, - {disconnectImageIndex, gDisconnectCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Disconnect")}, - {favoritesImageIndex, gFavoritesCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Favorites")}, - {0, gHistoryCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("History")}, - {0, gFullScreenCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Full Screen")}, - {propertiesImageIndex, gPropertiesCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Properties")}, - {cutImageIndex, gCutCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Cut")}, - {copyImageIndex, gCopyCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Copy")}, - {pasteImageIndex, gPasteCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Paste")}, - {folderOptionsImageIndex, gFolderOptionsCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Folder Options")}, + {0, gStopCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Stop")}, + {0, gRefreshCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Refresh")}, + {0, gHomeCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Home")}, + {mapDriveImageIndex, gMapDriveCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Map Drive")}, + {disconnectImageIndex, gDisconnectCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Disconnect")}, + {favoritesImageIndex, gFavoritesCommandID, TBSTATE_ENABLED, BTNS_BUTTON | BTNS_SHOWTEXT, {0}, 0, (INT_PTR)_T("Favorites")}, + {0, gHistoryCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("History")}, + {0, gFullScreenCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Full Screen")}, + {propertiesImageIndex, gPropertiesCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Properties")}, + {cutImageIndex, gCutCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Cut")}, + {copyImageIndex, gCopyCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Copy")}, + {pasteImageIndex, gPasteCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Paste")}, + {folderOptionsImageIndex, gFolderOptionsCommandID, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, (INT_PTR)_T("Folder Options")}, }; HRESULT STDMETHODCALLTYPE CToolsBand::SetSite(IUnknown* pUnkSite) { - HWND parentWindow; - IOleWindow *oleWindow; - HWND toolbar; - HRESULT hResult; + HWND parentWindow; + IOleWindow *oleWindow; + HWND toolbar; + HRESULT hResult; - if (fDockSite != NULL) - fDockSite->Release(); - if (pUnkSite == NULL) - return S_OK; - hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fDockSite)); - if (FAILED(hResult)) - return hResult; - parentWindow = NULL; - hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); - if (SUCCEEDED(hResult)) - { - oleWindow->GetWindow(&parentWindow); - oleWindow->Release(); - } - if (!::IsWindow(parentWindow)) - return E_FAIL; + if (fDockSite != NULL) + fDockSite->Release(); + if (pUnkSite == NULL) + return S_OK; + hResult = pUnkSite->QueryInterface(IID_IDockingWindowSite, reinterpret_cast(&fDockSite)); + if (FAILED(hResult)) + return hResult; + parentWindow = NULL; + hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast(&oleWindow)); + if (SUCCEEDED(hResult)) + { + oleWindow->GetWindow(&parentWindow); + oleWindow->Release(); + } + if (!::IsWindow(parentWindow)) + return E_FAIL; - toolbar = CreateWindowEx(TBSTYLE_EX_DOUBLEBUFFER, TOOLBARCLASSNAMEW, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | - WS_CLIPCHILDREN | TBSTYLE_TOOLTIPS | TBSTYLE_TRANSPARENT | TBSTYLE_REGISTERDROP | TBSTYLE_LIST | TBSTYLE_FLAT | - CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE | CCS_TOP, 0, 0, 500, 20, parentWindow, NULL, - _AtlBaseModule.GetModuleInstance(), 0); - if (toolbar == NULL) - return E_FAIL; - SubclassWindow(toolbar); + toolbar = CreateWindowEx(TBSTYLE_EX_DOUBLEBUFFER, TOOLBARCLASSNAMEW, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | + WS_CLIPCHILDREN | TBSTYLE_TOOLTIPS | TBSTYLE_TRANSPARENT | TBSTYLE_REGISTERDROP | TBSTYLE_LIST | TBSTYLE_FLAT | + CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE | CCS_TOP, 0, 0, 500, 20, parentWindow, NULL, + _AtlBaseModule.GetModuleInstance(), 0); + if (toolbar == NULL) + return E_FAIL; + SubclassWindow(toolbar); - SendMessage(WM_USER + 100, GetSystemMetrics(SM_CXEDGE) / 2, 0); - SendMessage(TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); - SendMessage(TB_SETMAXTEXTROWS, 1, 0); - SendMessage(TB_SETEXTENDEDSTYLE, TBSTYLE_EX_HIDECLIPPEDBUTTONS | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_DRAWDDARROWS, - TBSTYLE_EX_HIDECLIPPEDBUTTONS | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_DRAWDDARROWS); + SendMessage(WM_USER + 100, GetSystemMetrics(SM_CXEDGE) / 2, 0); + SendMessage(TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); + SendMessage(TB_SETMAXTEXTROWS, 1, 0); + SendMessage(TB_SETEXTENDEDSTYLE, TBSTYLE_EX_HIDECLIPPEDBUTTONS | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_DRAWDDARROWS, + TBSTYLE_EX_HIDECLIPPEDBUTTONS | TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_EX_DRAWDDARROWS); - HINSTANCE shell32Instance = GetModuleHandle(_T("shell32.dll")); - HBITMAP imageBitmap = reinterpret_cast( - LoadImage(shell32Instance, MAKEINTRESOURCE(214), - IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_CREATEDIBSECTION)); + HINSTANCE shell32Instance = GetModuleHandle(_T("shell32.dll")); + HBITMAP imageBitmap = reinterpret_cast( + LoadImage(shell32Instance, MAKEINTRESOURCE(214), + IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_CREATEDIBSECTION)); - DIBSECTION bitmapInfo; - GetObjectW(imageBitmap, sizeof(bitmapInfo), &bitmapInfo); - HIMAGELIST imageList = ImageList_Create(bitmapInfo.dsBm.bmHeight, bitmapInfo.dsBm.bmHeight, ILC_COLOR32, 4, 4); + DIBSECTION bitmapInfo; + GetObjectW(imageBitmap, sizeof(bitmapInfo), &bitmapInfo); + HIMAGELIST imageList = ImageList_Create(bitmapInfo.dsBm.bmHeight, bitmapInfo.dsBm.bmHeight, ILC_COLOR32, 4, 4); - ImageList_Add(imageList, imageBitmap, NULL); - DeleteObject(imageBitmap); + ImageList_Add(imageList, imageBitmap, NULL); + DeleteObject(imageBitmap); - SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList); + SendMessage(TB_SETIMAGELIST, 0, (LPARAM)imageList); - SendMessage(TB_ADDBUTTONSW, numShownButtons, (LPARAM)&tbButtonsAdd); + SendMessage(TB_ADDBUTTONSW, numShownButtons, (LPARAM)&tbButtonsAdd); - return hResult; + return hResult; } HRESULT STDMETHODCALLTYPE CToolsBand::GetSite(REFIID riid, void **ppvSite) { - if (fDockSite == NULL) - return E_FAIL; - return fDockSite->QueryInterface(riid, ppvSite); + if (fDockSite == NULL) + return E_FAIL; + return fDockSite->QueryInterface(riid, ppvSite); } HRESULT STDMETHODCALLTYPE CToolsBand::GetWindow(HWND *lphwnd) { - if (lphwnd == NULL) - return E_POINTER; - *lphwnd = m_hWnd; - return S_OK; + if (lphwnd == NULL) + return E_POINTER; + *lphwnd = m_hWnd; + return S_OK; } HRESULT STDMETHODCALLTYPE CToolsBand::ContextSensitiveHelp(BOOL fEnterMode) { - - return E_NOTIMPL; + + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::CloseDW(DWORD dwReserved) @@ -309,7 +309,7 @@ HRESULT STDMETHODCALLTYPE CToolsBand::CloseDW(DWORD dwReserved) HRESULT STDMETHODCALLTYPE CToolsBand::ResizeBorderDW(const RECT* prcBorder, IUnknown* punkToolbarSite, BOOL fReserved) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::ShowDW(BOOL fShow) @@ -326,75 +326,75 @@ HRESULT STDMETHODCALLTYPE CToolsBand::ShowDW(BOOL fShow) HRESULT STDMETHODCALLTYPE CToolsBand::HasFocusIO() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::TranslateAcceleratorIO(LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::UIActivateIO(BOOL fActivate, LPMSG lpMsg) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::GetClassID(CLSID *pClassID) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::IsDirty() { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::Load(IStream *pStm) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::Save(IStream *pStm, BOOL fClearDirty) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CToolsBand::GetSizeMax(ULARGE_INTEGER *pcbSize) { - return E_NOTIMPL; + return E_NOTIMPL; } LRESULT CToolsBand::OnGetButtonInfo(UINT idControl, NMHDR *pNMHDR, BOOL &bHandled) { - TBNOTIFYW *pTBntf = reinterpret_cast(pNMHDR); + TBNOTIFYW *pTBntf = reinterpret_cast(pNMHDR); - if (pTBntf->iItem >= 0 && pTBntf->iItem < (numShownButtons + numHiddenButtons)) - { - pTBntf->tbButton = tbButtonsAdd[pTBntf->iItem]; - return TRUE; - } - else - return FALSE; - return 0; + if (pTBntf->iItem >= 0 && pTBntf->iItem < (numShownButtons + numHiddenButtons)) + { + pTBntf->tbButton = tbButtonsAdd[pTBntf->iItem]; + return TRUE; + } + else + return FALSE; + return 0; } HRESULT CreateToolsBar(REFIID riid, void **ppv) { - CComObject *theMenuBar; - HRESULT hResult; + CComObject *theMenuBar; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theMenuBar = new CComObject); - if (theMenuBar == NULL) - return E_OUTOFMEMORY; - hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theMenuBar; - return hResult; - } - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theMenuBar = new CComObject); + if (theMenuBar == NULL) + return E_OUTOFMEMORY; + hResult = theMenuBar->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theMenuBar; + return hResult; + } + return S_OK; } diff --git a/reactos/dll/win32/browseui/travellog.cpp b/reactos/dll/win32/browseui/travellog.cpp index 829d5024492..ebdc45f5a07 100644 --- a/reactos/dll/win32/browseui/travellog.cpp +++ b/reactos/dll/win32/browseui/travellog.cpp @@ -31,7 +31,7 @@ TODO: ****Change to load maximum size from registry ****Add code to track current size ****Fix InsertMenuEntries to not exceed limit of menu item ids provided. Perhaps the method should try to be intelligent and if there are - too many items, center around the current item? Could cause dispatch problems... + too many items, center around the current item? Could cause dispatch problems... ****Move tool tip text templates to resources **Simplify code in InsertMenuEntries Implement UpdateExternal @@ -43,542 +43,542 @@ TODO: #include "precomp.h" class CTravelEntry : - public CComObjectRootEx, - public ITravelEntry + public CComObjectRootEx, + public ITravelEntry { public: - CTravelEntry *fNextEntry; - CTravelEntry *fPreviousEntry; + CTravelEntry *fNextEntry; + CTravelEntry *fPreviousEntry; private: - LPITEMIDLIST fPIDL; - HGLOBAL fPersistState; + LPITEMIDLIST fPIDL; + HGLOBAL fPersistState; public: - CTravelEntry(); - ~CTravelEntry(); - HRESULT GetToolTipText(IUnknown *punk, LPWSTR pwzText) const; - long GetSize() const; + CTravelEntry(); + ~CTravelEntry(); + HRESULT GetToolTipText(IUnknown *punk, LPWSTR pwzText) const; + long GetSize() const; - // *** ITravelEntry methods *** - virtual HRESULT STDMETHODCALLTYPE Invoke(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE Update(IUnknown *punk, BOOL fIsLocalAnchor); - virtual HRESULT STDMETHODCALLTYPE GetPidl(LPITEMIDLIST *ppidl); + // *** ITravelEntry methods *** + virtual HRESULT STDMETHODCALLTYPE Invoke(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE Update(IUnknown *punk, BOOL fIsLocalAnchor); + virtual HRESULT STDMETHODCALLTYPE GetPidl(LPITEMIDLIST *ppidl); BEGIN_COM_MAP(CTravelEntry) - COM_INTERFACE_ENTRY_IID(IID_ITravelEntry, ITravelEntry) + COM_INTERFACE_ENTRY_IID(IID_ITravelEntry, ITravelEntry) END_COM_MAP() }; class CTravelLog : - public CComObjectRootEx, - public ITravelLog + public CComObjectRootEx, + public ITravelLog { private: - CTravelEntry *fListHead; - CTravelEntry *fListTail; - CTravelEntry *fCurrentEntry; - long fMaximumSize; - long fCurrentSize; - unsigned long fEntryCount; + CTravelEntry *fListHead; + CTravelEntry *fListTail; + CTravelEntry *fCurrentEntry; + long fMaximumSize; + long fCurrentSize; + unsigned long fEntryCount; public: - CTravelLog(); - ~CTravelLog(); - HRESULT Initialize(); - HRESULT FindRelativeEntry(int offset, CTravelEntry **foundEntry); - void DeleteChain(CTravelEntry *startHere); - void AppendEntry(CTravelEntry *afterEntry, CTravelEntry *newEntry); + CTravelLog(); + ~CTravelLog(); + HRESULT Initialize(); + HRESULT FindRelativeEntry(int offset, CTravelEntry **foundEntry); + void DeleteChain(CTravelEntry *startHere); + void AppendEntry(CTravelEntry *afterEntry, CTravelEntry *newEntry); public: - // *** ITravelLog methods *** - virtual HRESULT STDMETHODCALLTYPE AddEntry(IUnknown *punk, BOOL fIsLocalAnchor); - virtual HRESULT STDMETHODCALLTYPE UpdateEntry(IUnknown *punk, BOOL fIsLocalAnchor); - virtual HRESULT STDMETHODCALLTYPE UpdateExternal(IUnknown *punk, IUnknown *punkHLBrowseContext); - virtual HRESULT STDMETHODCALLTYPE Travel(IUnknown *punk, int iOffset); - virtual HRESULT STDMETHODCALLTYPE GetTravelEntry(IUnknown *punk, int iOffset, ITravelEntry **ppte); - virtual HRESULT STDMETHODCALLTYPE FindTravelEntry(IUnknown *punk, LPCITEMIDLIST pidl, ITravelEntry **ppte); - virtual HRESULT STDMETHODCALLTYPE GetToolTipText(IUnknown *punk, int iOffset, int idsTemplate, LPWSTR pwzText, DWORD cchText); - virtual HRESULT STDMETHODCALLTYPE InsertMenuEntries(IUnknown *punk, HMENU hmenu, int nPos, int idFirst, int idLast, DWORD dwFlags); - virtual HRESULT STDMETHODCALLTYPE Clone(ITravelLog **pptl); - virtual DWORD STDMETHODCALLTYPE CountEntries(IUnknown *punk); - virtual HRESULT STDMETHODCALLTYPE Revert(); + // *** ITravelLog methods *** + virtual HRESULT STDMETHODCALLTYPE AddEntry(IUnknown *punk, BOOL fIsLocalAnchor); + virtual HRESULT STDMETHODCALLTYPE UpdateEntry(IUnknown *punk, BOOL fIsLocalAnchor); + virtual HRESULT STDMETHODCALLTYPE UpdateExternal(IUnknown *punk, IUnknown *punkHLBrowseContext); + virtual HRESULT STDMETHODCALLTYPE Travel(IUnknown *punk, int iOffset); + virtual HRESULT STDMETHODCALLTYPE GetTravelEntry(IUnknown *punk, int iOffset, ITravelEntry **ppte); + virtual HRESULT STDMETHODCALLTYPE FindTravelEntry(IUnknown *punk, LPCITEMIDLIST pidl, ITravelEntry **ppte); + virtual HRESULT STDMETHODCALLTYPE GetToolTipText(IUnknown *punk, int iOffset, int idsTemplate, LPWSTR pwzText, DWORD cchText); + virtual HRESULT STDMETHODCALLTYPE InsertMenuEntries(IUnknown *punk, HMENU hmenu, int nPos, int idFirst, int idLast, DWORD dwFlags); + virtual HRESULT STDMETHODCALLTYPE Clone(ITravelLog **pptl); + virtual DWORD STDMETHODCALLTYPE CountEntries(IUnknown *punk); + virtual HRESULT STDMETHODCALLTYPE Revert(); BEGIN_COM_MAP(CTravelLog) - COM_INTERFACE_ENTRY_IID(IID_ITravelLog, ITravelLog) + COM_INTERFACE_ENTRY_IID(IID_ITravelLog, ITravelLog) END_COM_MAP() }; CTravelEntry::CTravelEntry() { - fNextEntry = NULL; - fPreviousEntry = NULL; - fPIDL = NULL; - fPersistState = NULL; + fNextEntry = NULL; + fPreviousEntry = NULL; + fPIDL = NULL; + fPersistState = NULL; } CTravelEntry::~CTravelEntry() { - ILFree(fPIDL); - GlobalFree(fPersistState); + ILFree(fPIDL); + GlobalFree(fPersistState); } HRESULT CTravelEntry::GetToolTipText(IUnknown *punk, LPWSTR pwzText) const { - HRESULT hResult; + HRESULT hResult; - hResult = ILGetDisplayNameEx(NULL, fPIDL, pwzText, ILGDN_NORMAL); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = ILGetDisplayNameEx(NULL, fPIDL, pwzText, ILGDN_NORMAL); + if (FAILED(hResult)) + return hResult; + return S_OK; } long CTravelEntry::GetSize() const { - return 0; + return 0; } HRESULT STDMETHODCALLTYPE CTravelEntry::Invoke(IUnknown *punk) { - CComPtr persistHistory; - CComPtr globalStream; - HRESULT hResult; + CComPtr persistHistory; + CComPtr globalStream; + HRESULT hResult; - hResult = punk->QueryInterface(IID_IPersistHistory, reinterpret_cast(&persistHistory)); - if (FAILED(hResult)) - return hResult; - hResult = CreateStreamOnHGlobal(fPersistState, FALSE, &globalStream); - if (FAILED(hResult)) - return hResult; - hResult = persistHistory->LoadHistory(globalStream, NULL); - if (FAILED(hResult)) - return hResult; - return S_OK; + hResult = punk->QueryInterface(IID_IPersistHistory, reinterpret_cast(&persistHistory)); + if (FAILED(hResult)) + return hResult; + hResult = CreateStreamOnHGlobal(fPersistState, FALSE, &globalStream); + if (FAILED(hResult)) + return hResult; + hResult = persistHistory->LoadHistory(globalStream, NULL); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CTravelEntry::Update(IUnknown *punk, BOOL fIsLocalAnchor) { - CComPtr travelLogClient; - CComPtr persistHistory; - CComPtr globalStream; - WINDOWDATA windowData; - HGLOBAL globalStorage; - HRESULT hResult; + CComPtr travelLogClient; + CComPtr persistHistory; + CComPtr globalStream; + WINDOWDATA windowData; + HGLOBAL globalStorage; + HRESULT hResult; - ILFree(fPIDL); - fPIDL = NULL; - GlobalFree(fPersistState); - fPersistState = NULL; - hResult = punk->QueryInterface(IID_ITravelLogClient, reinterpret_cast(&travelLogClient)); - if (FAILED(hResult)) - return hResult; - hResult = travelLogClient->GetWindowData(&windowData); - if (FAILED(hResult)) - return hResult; - fPIDL = windowData.pidl; - // TODO: Properly free the windowData - hResult = punk->QueryInterface(IID_IPersistHistory, reinterpret_cast(&persistHistory)); - if (FAILED(hResult)) - return hResult; - globalStorage = GlobalAlloc(GMEM_FIXED, 0); - hResult = CreateStreamOnHGlobal(globalStorage, FALSE, &globalStream); - if (FAILED(hResult)) - return hResult; - hResult = persistHistory->SaveHistory(globalStream); - if (FAILED(hResult)) - return hResult; - hResult = GetHGlobalFromStream(globalStream, &fPersistState); - if (FAILED(hResult)) - return hResult; - return S_OK; + ILFree(fPIDL); + fPIDL = NULL; + GlobalFree(fPersistState); + fPersistState = NULL; + hResult = punk->QueryInterface(IID_ITravelLogClient, reinterpret_cast(&travelLogClient)); + if (FAILED(hResult)) + return hResult; + hResult = travelLogClient->GetWindowData(&windowData); + if (FAILED(hResult)) + return hResult; + fPIDL = windowData.pidl; + // TODO: Properly free the windowData + hResult = punk->QueryInterface(IID_IPersistHistory, reinterpret_cast(&persistHistory)); + if (FAILED(hResult)) + return hResult; + globalStorage = GlobalAlloc(GMEM_FIXED, 0); + hResult = CreateStreamOnHGlobal(globalStorage, FALSE, &globalStream); + if (FAILED(hResult)) + return hResult; + hResult = persistHistory->SaveHistory(globalStream); + if (FAILED(hResult)) + return hResult; + hResult = GetHGlobalFromStream(globalStream, &fPersistState); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CTravelEntry::GetPidl(LPITEMIDLIST *ppidl) { - if (ppidl == NULL) - return E_POINTER; - *ppidl = ILClone(fPIDL); - if (*ppidl == NULL) - return E_OUTOFMEMORY; - return S_OK; + if (ppidl == NULL) + return E_POINTER; + *ppidl = ILClone(fPIDL); + if (*ppidl == NULL) + return E_OUTOFMEMORY; + return S_OK; } CTravelLog::CTravelLog() { - fListHead = NULL; - fListTail = NULL; - fCurrentEntry = NULL; - fMaximumSize = 0; - fCurrentSize = 0; - fEntryCount = 0; + fListHead = NULL; + fListTail = NULL; + fCurrentEntry = NULL; + fMaximumSize = 0; + fCurrentSize = 0; + fEntryCount = 0; } CTravelLog::~CTravelLog() { - CTravelEntry *anEntry; - CTravelEntry *next; + CTravelEntry *anEntry; + CTravelEntry *next; - anEntry = fListHead; - while (anEntry != NULL) - { - next = anEntry->fNextEntry; - anEntry->Release(); - anEntry = next; - } + anEntry = fListHead; + while (anEntry != NULL) + { + next = anEntry->fNextEntry; + anEntry->Release(); + anEntry = next; + } } HRESULT CTravelLog::Initialize() { - fMaximumSize = 1024 * 1024; // TODO: change to read this from registry - // Software\Microsoft\Windows\CurrentVersion\Explorer\TravelLog - // MaxSize - return S_OK; + fMaximumSize = 1024 * 1024; // TODO: change to read this from registry + // Software\Microsoft\Windows\CurrentVersion\Explorer\TravelLog + // MaxSize + return S_OK; } HRESULT CTravelLog::FindRelativeEntry(int offset, CTravelEntry **foundEntry) { - CTravelEntry *curEntry; + CTravelEntry *curEntry; - *foundEntry = NULL; - curEntry = fCurrentEntry; - if (offset < 0) - { - while (offset < 0 && curEntry != NULL) - { - curEntry = curEntry->fPreviousEntry; - offset++; - } - } - else - { - while (offset > 0 && curEntry != NULL) - { - curEntry = curEntry->fNextEntry; - offset--; - } - } - if (curEntry == NULL) - return E_INVALIDARG; - *foundEntry = curEntry; - return S_OK; + *foundEntry = NULL; + curEntry = fCurrentEntry; + if (offset < 0) + { + while (offset < 0 && curEntry != NULL) + { + curEntry = curEntry->fPreviousEntry; + offset++; + } + } + else + { + while (offset > 0 && curEntry != NULL) + { + curEntry = curEntry->fNextEntry; + offset--; + } + } + if (curEntry == NULL) + return E_INVALIDARG; + *foundEntry = curEntry; + return S_OK; } void CTravelLog::DeleteChain(CTravelEntry *startHere) { - CTravelEntry *saveNext; - long itemSize; + CTravelEntry *saveNext; + long itemSize; - if (startHere->fPreviousEntry != NULL) - { - startHere->fPreviousEntry->fNextEntry = NULL; - fListTail = startHere->fPreviousEntry; - } - else - { - fListHead = NULL; - fListTail = NULL; - } - while (startHere != NULL) - { - saveNext = startHere->fNextEntry; - itemSize = startHere->GetSize(); - fCurrentSize -= itemSize; - startHere->Release(); - startHere = saveNext; - fEntryCount--; - } + if (startHere->fPreviousEntry != NULL) + { + startHere->fPreviousEntry->fNextEntry = NULL; + fListTail = startHere->fPreviousEntry; + } + else + { + fListHead = NULL; + fListTail = NULL; + } + while (startHere != NULL) + { + saveNext = startHere->fNextEntry; + itemSize = startHere->GetSize(); + fCurrentSize -= itemSize; + startHere->Release(); + startHere = saveNext; + fEntryCount--; + } } void CTravelLog::AppendEntry(CTravelEntry *afterEntry, CTravelEntry *newEntry) { - if (afterEntry == NULL) - { - fListHead = newEntry; - fListTail = newEntry; - } - else - { - newEntry->fNextEntry = afterEntry->fNextEntry; - afterEntry->fNextEntry = newEntry; - newEntry->fPreviousEntry = afterEntry; - if (newEntry->fNextEntry == NULL) - fListTail = newEntry; - else - newEntry->fNextEntry->fPreviousEntry = newEntry; - } - fEntryCount++; + if (afterEntry == NULL) + { + fListHead = newEntry; + fListTail = newEntry; + } + else + { + newEntry->fNextEntry = afterEntry->fNextEntry; + afterEntry->fNextEntry = newEntry; + newEntry->fPreviousEntry = afterEntry; + if (newEntry->fNextEntry == NULL) + fListTail = newEntry; + else + newEntry->fNextEntry->fPreviousEntry = newEntry; + } + fEntryCount++; } HRESULT STDMETHODCALLTYPE CTravelLog::AddEntry(IUnknown *punk, BOOL fIsLocalAnchor) { - CComObject *newEntry; - long itemSize; + CComObject *newEntry; + long itemSize; - if (punk == NULL) - return E_INVALIDARG; - ATLTRY (newEntry = new CComObject); - if (newEntry == NULL) - return E_OUTOFMEMORY; - newEntry->AddRef(); - if (fCurrentEntry != NULL && fCurrentEntry->fNextEntry != NULL) - DeleteChain(fCurrentEntry->fNextEntry); - AppendEntry(fCurrentEntry, newEntry); - itemSize = newEntry->GetSize(); - fCurrentSize += itemSize; - fCurrentEntry = newEntry; - return S_OK; + if (punk == NULL) + return E_INVALIDARG; + ATLTRY (newEntry = new CComObject); + if (newEntry == NULL) + return E_OUTOFMEMORY; + newEntry->AddRef(); + if (fCurrentEntry != NULL && fCurrentEntry->fNextEntry != NULL) + DeleteChain(fCurrentEntry->fNextEntry); + AppendEntry(fCurrentEntry, newEntry); + itemSize = newEntry->GetSize(); + fCurrentSize += itemSize; + fCurrentEntry = newEntry; + return S_OK; } HRESULT STDMETHODCALLTYPE CTravelLog::UpdateEntry(IUnknown *punk, BOOL fIsLocalAnchor) { - if (punk == NULL) - return E_INVALIDARG; - if (fCurrentEntry == NULL) - return E_UNEXPECTED; - return fCurrentEntry->Update(punk, fIsLocalAnchor); + if (punk == NULL) + return E_INVALIDARG; + if (fCurrentEntry == NULL) + return E_UNEXPECTED; + return fCurrentEntry->Update(punk, fIsLocalAnchor); } HRESULT STDMETHODCALLTYPE CTravelLog::UpdateExternal(IUnknown *punk, IUnknown *punkHLBrowseContext) { - return E_NOTIMPL; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CTravelLog::Travel(IUnknown *punk, int iOffset) { - CTravelEntry *destinationEntry; - HRESULT hResult; - - hResult = FindRelativeEntry(iOffset, &destinationEntry); - if (FAILED(hResult)) - return hResult; - fCurrentEntry = destinationEntry; - hResult = destinationEntry->Invoke(punk); - if (FAILED(hResult)) - return hResult; - return S_OK; + CTravelEntry *destinationEntry; + HRESULT hResult; + + hResult = FindRelativeEntry(iOffset, &destinationEntry); + if (FAILED(hResult)) + return hResult; + fCurrentEntry = destinationEntry; + hResult = destinationEntry->Invoke(punk); + if (FAILED(hResult)) + return hResult; + return S_OK; } HRESULT STDMETHODCALLTYPE CTravelLog::GetTravelEntry(IUnknown *punk, int iOffset, ITravelEntry **ppte) { - CTravelEntry *destinationEntry; - HRESULT hResult; - - hResult = FindRelativeEntry(iOffset, &destinationEntry); - if (FAILED(hResult)) - return hResult; - return destinationEntry->QueryInterface(IID_ITravelEntry, reinterpret_cast(ppte)); + CTravelEntry *destinationEntry; + HRESULT hResult; + + hResult = FindRelativeEntry(iOffset, &destinationEntry); + if (FAILED(hResult)) + return hResult; + return destinationEntry->QueryInterface(IID_ITravelEntry, reinterpret_cast(ppte)); } HRESULT STDMETHODCALLTYPE CTravelLog::FindTravelEntry(IUnknown *punk, LPCITEMIDLIST pidl, ITravelEntry **ppte) { - if (ppte == NULL) - return E_POINTER; - if (punk == NULL || pidl == NULL) - return E_INVALIDARG; - return E_NOTIMPL; + if (ppte == NULL) + return E_POINTER; + if (punk == NULL || pidl == NULL) + return E_INVALIDARG; + return E_NOTIMPL; } HRESULT STDMETHODCALLTYPE CTravelLog::GetToolTipText(IUnknown *punk, int iOffset, int idsTemplate, LPWSTR pwzText, DWORD cchText) { - CTravelEntry *destinationEntry; - wchar_t tempString[MAX_PATH]; - wchar_t templateString[200]; - HRESULT hResult; - - if (pwzText == NULL) - return E_POINTER; - if (punk == NULL || cchText == 0) - return E_INVALIDARG; - hResult = FindRelativeEntry(iOffset, &destinationEntry); - if (FAILED(hResult)) - return hResult; - hResult = destinationEntry->GetToolTipText(punk, tempString); - if (FAILED(hResult)) - return hResult; - if (iOffset < 0) - { - wcscpy(templateString, L"Back to %s"); - } - else - { - wcscpy(templateString, L"Forward to %s"); - } - _snwprintf(pwzText, cchText, templateString, tempString); - return S_OK; + CTravelEntry *destinationEntry; + wchar_t tempString[MAX_PATH]; + wchar_t templateString[200]; + HRESULT hResult; + + if (pwzText == NULL) + return E_POINTER; + if (punk == NULL || cchText == 0) + return E_INVALIDARG; + hResult = FindRelativeEntry(iOffset, &destinationEntry); + if (FAILED(hResult)) + return hResult; + hResult = destinationEntry->GetToolTipText(punk, tempString); + if (FAILED(hResult)) + return hResult; + if (iOffset < 0) + { + wcscpy(templateString, L"Back to %s"); + } + else + { + wcscpy(templateString, L"Forward to %s"); + } + _snwprintf(pwzText, cchText, templateString, tempString); + return S_OK; } static void FixAmpersands(wchar_t *buffer) { - wchar_t tempBuffer[MAX_PATH * 2]; - wchar_t ch; - wchar_t *srcPtr; - wchar_t *dstPtr; + wchar_t tempBuffer[MAX_PATH * 2]; + wchar_t ch; + wchar_t *srcPtr; + wchar_t *dstPtr; - srcPtr = buffer; - dstPtr = tempBuffer; - while (*srcPtr != 0) - { - ch = *srcPtr++; - *dstPtr++ = ch; - if (ch == '&') - *dstPtr++ = '&'; - } - *dstPtr = 0; - wcscpy(buffer, tempBuffer); + srcPtr = buffer; + dstPtr = tempBuffer; + while (*srcPtr != 0) + { + ch = *srcPtr++; + *dstPtr++ = ch; + if (ch == '&') + *dstPtr++ = '&'; + } + *dstPtr = 0; + wcscpy(buffer, tempBuffer); } HRESULT STDMETHODCALLTYPE CTravelLog::InsertMenuEntries(IUnknown *punk, HMENU hmenu, - int nPos, int idFirst, int idLast, DWORD dwFlags) + int nPos, int idFirst, int idLast, DWORD dwFlags) { - CTravelEntry *currentItem; - MENUITEMINFO menuItemInfo; - wchar_t itemTextBuffer[MAX_PATH * 2]; - HRESULT hResult; + CTravelEntry *currentItem; + MENUITEMINFO menuItemInfo; + wchar_t itemTextBuffer[MAX_PATH * 2]; + HRESULT hResult; - // TLMENUF_BACK - include back entries - // TLMENUF_INCLUDECURRENT - include current entry, if TLMENUF_CHECKCURRENT then check the entry - // TLMENUF_FORE - include next entries - // if fore+back, list from oldest to newest - // if back, list from newest to oldest - // if fore, list from newest to oldest + // TLMENUF_BACK - include back entries + // TLMENUF_INCLUDECURRENT - include current entry, if TLMENUF_CHECKCURRENT then check the entry + // TLMENUF_FORE - include next entries + // if fore+back, list from oldest to newest + // if back, list from newest to oldest + // if fore, list from newest to oldest - // don't forget to patch ampersands before adding to menu - if (punk == NULL) - return E_INVALIDARG; - if (idLast <= idFirst) - return E_INVALIDARG; - menuItemInfo.cbSize = sizeof(menuItemInfo); - menuItemInfo.fMask = MIIM_FTYPE | MIIM_ID | MIIM_STATE | MIIM_STRING; - menuItemInfo.fType = MFT_STRING; - menuItemInfo.wID = idFirst; - menuItemInfo.fState = MFS_ENABLED; - menuItemInfo.dwTypeData = itemTextBuffer; - if ((dwFlags & TLMENUF_BACK) != 0) - { - if ((dwFlags & TLMENUF_FORE) != 0) - { - currentItem = fCurrentEntry; - if (currentItem != NULL) - { - while (currentItem->fPreviousEntry != NULL) - currentItem = currentItem->fPreviousEntry; - } - while (currentItem != fCurrentEntry) - { - hResult = currentItem->GetToolTipText(punk, itemTextBuffer); - if (SUCCEEDED(hResult)) - { - FixAmpersands(itemTextBuffer); - if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) - { - nPos++; - menuItemInfo.wID++; - } - } - currentItem = currentItem->fNextEntry; - } - } - else - { - currentItem = fCurrentEntry; - if (currentItem != NULL) - currentItem = currentItem->fPreviousEntry; - while (currentItem != NULL) - { - hResult = currentItem->GetToolTipText(punk, itemTextBuffer); - if (SUCCEEDED(hResult)) - { - FixAmpersands(itemTextBuffer); - if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) - { - nPos++; - menuItemInfo.wID++; - } - } - currentItem = currentItem->fPreviousEntry; - } - } - } - if ((dwFlags & TLMENUF_INCLUDECURRENT) != 0) - { - if (fCurrentEntry != NULL) - { - hResult = fCurrentEntry->GetToolTipText(punk, itemTextBuffer); - if (SUCCEEDED(hResult)) - { - FixAmpersands(itemTextBuffer); - if ((dwFlags & TLMENUF_CHECKCURRENT) != 0) - menuItemInfo.fState |= MFS_CHECKED; - if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) - { - nPos++; - menuItemInfo.wID++; - } - menuItemInfo.fState &= ~MFS_CHECKED; - } - } - } - if ((dwFlags & TLMENUF_FORE) != 0) - { - currentItem = fCurrentEntry; - if (currentItem != NULL) - currentItem = currentItem->fNextEntry; - while (currentItem != NULL) - { - hResult = currentItem->GetToolTipText(punk, itemTextBuffer); - if (SUCCEEDED(hResult)) - { - FixAmpersands(itemTextBuffer); - if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) - { - nPos++; - menuItemInfo.wID++; - } - } - currentItem = currentItem->fNextEntry; - } - } - return S_OK; + // don't forget to patch ampersands before adding to menu + if (punk == NULL) + return E_INVALIDARG; + if (idLast <= idFirst) + return E_INVALIDARG; + menuItemInfo.cbSize = sizeof(menuItemInfo); + menuItemInfo.fMask = MIIM_FTYPE | MIIM_ID | MIIM_STATE | MIIM_STRING; + menuItemInfo.fType = MFT_STRING; + menuItemInfo.wID = idFirst; + menuItemInfo.fState = MFS_ENABLED; + menuItemInfo.dwTypeData = itemTextBuffer; + if ((dwFlags & TLMENUF_BACK) != 0) + { + if ((dwFlags & TLMENUF_FORE) != 0) + { + currentItem = fCurrentEntry; + if (currentItem != NULL) + { + while (currentItem->fPreviousEntry != NULL) + currentItem = currentItem->fPreviousEntry; + } + while (currentItem != fCurrentEntry) + { + hResult = currentItem->GetToolTipText(punk, itemTextBuffer); + if (SUCCEEDED(hResult)) + { + FixAmpersands(itemTextBuffer); + if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) + { + nPos++; + menuItemInfo.wID++; + } + } + currentItem = currentItem->fNextEntry; + } + } + else + { + currentItem = fCurrentEntry; + if (currentItem != NULL) + currentItem = currentItem->fPreviousEntry; + while (currentItem != NULL) + { + hResult = currentItem->GetToolTipText(punk, itemTextBuffer); + if (SUCCEEDED(hResult)) + { + FixAmpersands(itemTextBuffer); + if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) + { + nPos++; + menuItemInfo.wID++; + } + } + currentItem = currentItem->fPreviousEntry; + } + } + } + if ((dwFlags & TLMENUF_INCLUDECURRENT) != 0) + { + if (fCurrentEntry != NULL) + { + hResult = fCurrentEntry->GetToolTipText(punk, itemTextBuffer); + if (SUCCEEDED(hResult)) + { + FixAmpersands(itemTextBuffer); + if ((dwFlags & TLMENUF_CHECKCURRENT) != 0) + menuItemInfo.fState |= MFS_CHECKED; + if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) + { + nPos++; + menuItemInfo.wID++; + } + menuItemInfo.fState &= ~MFS_CHECKED; + } + } + } + if ((dwFlags & TLMENUF_FORE) != 0) + { + currentItem = fCurrentEntry; + if (currentItem != NULL) + currentItem = currentItem->fNextEntry; + while (currentItem != NULL) + { + hResult = currentItem->GetToolTipText(punk, itemTextBuffer); + if (SUCCEEDED(hResult)) + { + FixAmpersands(itemTextBuffer); + if (InsertMenuItem(hmenu, nPos, TRUE, &menuItemInfo)) + { + nPos++; + menuItemInfo.wID++; + } + } + currentItem = currentItem->fNextEntry; + } + } + return S_OK; } HRESULT STDMETHODCALLTYPE CTravelLog::Clone(ITravelLog **pptl) { - if (pptl == NULL) - return E_POINTER; - *pptl = NULL; - // duplicate the log - return E_NOTIMPL; + if (pptl == NULL) + return E_POINTER; + *pptl = NULL; + // duplicate the log + return E_NOTIMPL; } DWORD STDMETHODCALLTYPE CTravelLog::CountEntries(IUnknown *punk) { - if (punk == NULL) - return E_INVALIDARG; - return fEntryCount; + if (punk == NULL) + return E_INVALIDARG; + return fEntryCount; } HRESULT STDMETHODCALLTYPE CTravelLog::Revert() { - // remove the current entry? - return E_NOTIMPL; + // remove the current entry? + return E_NOTIMPL; } HRESULT CreateTravelLog(REFIID riid, void **ppv) { - CComObject *theTravelLog; - HRESULT hResult; + CComObject *theTravelLog; + HRESULT hResult; - if (ppv == NULL) - return E_POINTER; - *ppv = NULL; - ATLTRY (theTravelLog = new CComObject); - if (theTravelLog == NULL) - return E_OUTOFMEMORY; - hResult = theTravelLog->QueryInterface(riid, reinterpret_cast(ppv)); - if (FAILED(hResult)) - { - delete theTravelLog; - return hResult; - } - hResult = theTravelLog->Initialize(); - if (FAILED(hResult)) - return hResult; - return S_OK; + if (ppv == NULL) + return E_POINTER; + *ppv = NULL; + ATLTRY (theTravelLog = new CComObject); + if (theTravelLog == NULL) + return E_OUTOFMEMORY; + hResult = theTravelLog->QueryInterface(riid, reinterpret_cast(ppv)); + if (FAILED(hResult)) + { + delete theTravelLog; + return hResult; + } + hResult = theTravelLog->Initialize(); + if (FAILED(hResult)) + return hResult; + return S_OK; } diff --git a/reactos/dll/win32/browseui/utility.cpp b/reactos/dll/win32/browseui/utility.cpp index 9ade3fc36e5..5381596f55b 100644 --- a/reactos/dll/win32/browseui/utility.cpp +++ b/reactos/dll/win32/browseui/utility.cpp @@ -3,11 +3,11 @@ void *operator new(size_t size) { - return LocalAlloc(LMEM_ZEROINIT, size); + return LocalAlloc(LMEM_ZEROINIT, size); } void operator delete(void *p) { - LocalFree(p); + LocalFree(p); }