Index: src/chext/DropMenuExt.h =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/chext/DropMenuExt.h (.../DropMenuExt.h) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -32,32 +32,13 @@ public CComCoClass, public IObjectWithSiteImpl, public IDispatchImpl, - public IShellExtInitImpl, - public IContextMenuImpl + public IShellExtInit, + public IContextMenu3 { public: CDropMenuExt(); ~CDropMenuExt(); -public: - class CBuffer - { - public: - CBuffer() { m_pszFiles=NULL; m_iDataSize=0; }; - void Destroy() { delete [] m_pszFiles; m_pszFiles=NULL; m_iDataSize=0; }; - ~CBuffer() { Destroy(); }; - - public: - TCHAR *m_pszFiles; - UINT m_iDataSize; - } m_bBuffer; - - TCHAR m_szDstPath[_MAX_PATH]; - UINT m_uiDropEffect; - bool m_bExplorer; // if the operation has been retrieved from explorer or from the program - - IShellExtControl* m_piShellExtControl; - DECLARE_REGISTRY_RESOURCEID(IDR_DROPMENUEXT) DECLARE_NOT_AGGREGATABLE(CDropMenuExt) @@ -77,6 +58,35 @@ STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY /*hkeyProgID*/); STDMETHOD(GetCommandString)(UINT_PTR idCmd, UINT uFlags, UINT* /*pwReserved*/, LPSTR pszName, UINT cchMax); STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT /*idCmdLast*/, UINT uFlags); + + STDMETHOD(HandleMenuMsg)(UINT, WPARAM, LPARAM) + { + return S_FALSE; + } + + STDMETHOD(HandleMenuMsg2)(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, LRESULT* /*plResult*/) + { + return S_FALSE; + } + +protected: + class CBuffer + { + public: + CBuffer() { m_pszFiles=NULL; m_iDataSize=0; }; + void Destroy() { delete [] m_pszFiles; m_pszFiles=NULL; m_iDataSize=0; }; + ~CBuffer() { Destroy(); }; + + public: + TCHAR *m_pszFiles; + UINT m_iDataSize; + } m_bBuffer; + + TCHAR m_szDstPath[_MAX_PATH]; + UINT m_uiDropEffect; + bool m_bExplorer; // if the operation has been retrieved from explorer or from the program + + IShellExtControl* m_piShellExtControl; }; #endif //__DROPMENUEXT_H_ Fisheye: Tag 8f31c461b6a91ce6818c646814bd19e740b109ef refers to a dead (removed) revision in file `src/chext/IContextMenuImpl.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 8f31c461b6a91ce6818c646814bd19e740b109ef refers to a dead (removed) revision in file `src/chext/IShellExtInitImpl.h'. Fisheye: No comparison available. Pass `N' to diff? Index: src/chext/MenuExt.h =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/MenuExt.h (.../MenuExt.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/chext/MenuExt.h (.../MenuExt.h) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -38,14 +38,42 @@ public CComCoClass, public IObjectWithSiteImpl, public IDispatchImpl, - public IShellExtInitImpl, - public IContextMenuImpl + public IShellExtInit, + public IContextMenu3 { public: CMenuExt(); ~CMenuExt(); +DECLARE_REGISTRY_RESOURCEID(IDR_MENUEXT) +DECLARE_NOT_AGGREGATABLE(CMenuExt) + +DECLARE_PROTECT_FINAL_CONSTRUCT() + +BEGIN_COM_MAP(CMenuExt) + COM_INTERFACE_ENTRY(IMenuExt) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(IShellExtInit) + COM_INTERFACE_ENTRY(IContextMenu) + COM_INTERFACE_ENTRY(IContextMenu2) + COM_INTERFACE_ENTRY(IContextMenu3) + COM_INTERFACE_ENTRY(IObjectWithSite) +END_COM_MAP() + +// IMenuExt public: + STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY /*hkeyProgID*/); + STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO lpici); + STDMETHOD(GetCommandString)(UINT_PTR idCmd, UINT uFlags, UINT* /*pwReserved*/, LPSTR pszName, UINT cchMax); + STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT /*idCmdLast*/, UINT /*uFlags*/); + STDMETHOD(HandleMenuMsg)(UINT uMsg, WPARAM wParam, LPARAM lParam); + STDMETHOD(HandleMenuMsg2)(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); + +protected: + void DrawMenuItem(LPDRAWITEMSTRUCT lpdis); + void CreateShortcutsMenu(UINT uiIDBase, bool bOwnerDrawn); + +protected: // class for making sure memory is freed class CBuffer { @@ -80,34 +108,6 @@ bool m_bShown; // have the menu been already shown ? IShellExtControl* m_piShellExtControl; - -DECLARE_REGISTRY_RESOURCEID(IDR_MENUEXT) -DECLARE_NOT_AGGREGATABLE(CMenuExt) - -DECLARE_PROTECT_FINAL_CONSTRUCT() - -BEGIN_COM_MAP(CMenuExt) - COM_INTERFACE_ENTRY(IMenuExt) - COM_INTERFACE_ENTRY(IDispatch) - COM_INTERFACE_ENTRY(IShellExtInit) - COM_INTERFACE_ENTRY(IContextMenu) - COM_INTERFACE_ENTRY(IContextMenu2) - COM_INTERFACE_ENTRY(IContextMenu3) - COM_INTERFACE_ENTRY(IObjectWithSite) -END_COM_MAP() - -// IMenuExt -public: - STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY /*hkeyProgID*/); - STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO lpici); - STDMETHOD(GetCommandString)(UINT_PTR idCmd, UINT uFlags, UINT* /*pwReserved*/, LPSTR pszName, UINT cchMax); - STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT /*idCmdLast*/, UINT /*uFlags*/); - STDMETHOD(HandleMenuMsg)(UINT uMsg, WPARAM wParam, LPARAM lParam); - STDMETHOD(HandleMenuMsg2)(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); - -protected: - void DrawMenuItem(LPDRAWITEMSTRUCT lpdis); - void CreateShortcutsMenu(UINT uiIDBase, bool bOwnerDrawn); }; #endif //__MENUEXT_H_ Index: src/chext/StdAfx.h =================================================================== diff -u -rcaa71fb57fcfdd3b3731ed038cecc280ff69a78e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/StdAfx.h (.../StdAfx.h) (revision caa71fb57fcfdd3b3731ed038cecc280ff69a78e) +++ src/chext/StdAfx.h (.../StdAfx.h) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -36,6 +36,7 @@ #include #include #include +#include #include "../libicpf/gen_types.h" Index: src/chext/StringHelpers.h =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/StringHelpers.h (.../StringHelpers.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/chext/StringHelpers.h (.../StringHelpers.h) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -25,7 +25,8 @@ LPTSTR GetSizeString(double dData, LPTSTR pszBuffer, size_t stMaxBufferSize); -template LPTSTR GetSizeString(T tData, LPTSTR pszBuffer, size_t stMaxBufferSize, bool bStrict = false) +template +LPTSTR GetSizeString(T tData, LPTSTR pszBuffer, size_t stMaxBufferSize, bool bStrict = false) { if (tData < 0) tData=0; Index: src/chext/chext.vc90.vcproj =================================================================== diff -u -rcaa71fb57fcfdd3b3731ed038cecc280ff69a78e -r8f31c461b6a91ce6818c646814bd19e740b109ef --- src/chext/chext.vc90.vcproj (.../chext.vc90.vcproj) (revision caa71fb57fcfdd3b3731ed038cecc280ff69a78e) +++ src/chext/chext.vc90.vcproj (.../chext.vc90.vcproj) (revision 8f31c461b6a91ce6818c646814bd19e740b109ef) @@ -381,277 +381,280 @@ Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > - - - - - - - - - + - - - + - - - + - - - + - - - + - - - + + + - - - + - - - - + + + + + + - - + + + + + + + - - - - - - - - - - - - - - - - + - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - + - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - -