Index: src/chext/MenuExt.h =================================================================== diff -u -N -r2d7bee54f998ae8f5d4145a2cf3f4a589253016f -r633a533cb6e741d44fe28aa56339e1d2709b1b27 --- src/chext/MenuExt.h (.../MenuExt.h) (revision 2d7bee54f998ae8f5d4145a2cf3f4a589253016f) +++ src/chext/MenuExt.h (.../MenuExt.h) (revision 633a533cb6e741d44fe28aa56339e1d2709b1b27) @@ -20,11 +20,11 @@ #define __MENUEXT_H_ #include "resource.h" // main symbols -#include "../libchcore/TTaskDefinition.h" +#include "TContextMenuHandler.h" +#include "..\common\TShellExtMenuConfig.h" +#include "TShellExtData.h" -/////// -// globals -void CutAmpersands(LPTSTR lpszString); +class TShellMenuItem; ///////////////////////////////////////////////////////////////////////////// // CMenuExt @@ -60,30 +60,16 @@ STDMETHOD(HandleMenuMsg2)(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult); protected: - void DrawMenuItem(LPDRAWITEMSTRUCT lpdis); - void CreateShortcutsMenu(UINT uiIDBase, bool bOwnerDrawn); + HRESULT DrawMenuItem(LPDRAWITEMSTRUCT lpdis); -protected: - chcore::TPathContainer m_vPaths; + HRESULT ReadShellConfig(); - // for making sure DestroyMenu would be called - class CSubMenus - { - public: - CSubMenus() { hShortcuts[0]=NULL; hShortcuts[1]=NULL; hShortcuts[2]=NULL; }; - void Destroy() { for (int i=0;i<3;i++) { if (hShortcuts[i] != NULL) DestroyMenu(hShortcuts[i]); } }; - ~CSubMenus() { Destroy(); }; +private: + TShellExtData m_tShellExtData; - public: - HMENU hShortcuts[3]; - } m_mMenus; + TShellExtMenuConfig m_tShellExtMenuConfig; + TContextMenuHandler m_tContextMenuHandler; - bool m_bBackground; // folder or folder background - bool m_bShowPasteOption; // if the group of files have a files in it - - UINT m_uiFirstID; // first menu ID - bool m_bShown; // have the menu been already shown ? - IShellExtControl* m_piShellExtControl; };