Index: src/common/TShellExtMenuConfig.h =================================================================== diff -u -N -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4 --- src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision 4fe995b304ea342b50293f92d3c1992b43b820f7) +++ src/common/TShellExtMenuConfig.h (.../TShellExtMenuConfig.h) (revision 3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4) @@ -25,6 +25,8 @@ #include "../libchcore/EOperationTypes.h" #include "../libchcore/TPath.h" +#include +#include "../libchcore/TSizeFormatter.h" namespace chcore { class TConfig; } @@ -154,9 +156,12 @@ void Clear(); // retrieving attributes - common ones - const chcore::TString& GetName() const { return m_strName; } + const chcore::TString& GetName() const; const chcore::TString& GetItemTip() const { return m_strItemTip; } + const chcore::TString& GetLocalName(bool bUseFallback = true) const; + void SetLocalName(const chcore::TString& strLocalName); + // retrieving attributes - standard items only const TOperationTypeInfo& GetOperationTypeInfo() const { return m_tOperationType; } const TDestinationPathInfo& GetDestinationPathInfo() const { return m_tDestinationPath; } @@ -195,6 +200,7 @@ EItemType m_eItemType; chcore::TString m_strName; + chcore::TString m_strLocalName; // locally updated name; not serialized chcore::TString m_strItemTip; // where to get the operation type from? (specified here / autodetect (with fallback specified here)) @@ -224,8 +230,12 @@ void Clear(); // commands support - TShellMenuItemPtr GetCommandRoot(); + TShellMenuItemPtr GetDragAndDropRoot(); + TShellMenuItemPtr GetNormalRoot(); + // formatter + chcore::TSizeFormatterPtr GetFormatter() const; + // options void SetInterceptDragAndDrop(bool bEnable) { m_bInterceptDragAndDrop = bEnable; } bool GetInterceptDragAndDrop() const { return m_bInterceptDragAndDrop; } @@ -239,17 +249,24 @@ void SetShowShortcutIcons(bool bEnable) { m_bShowShortcutIcons = bEnable; } bool GetShowShortcutIcons() const { return m_bShowShortcutIcons; } + void SetShowFreeSpace(bool bEnable) { m_bShowFreeSpace = bEnable; } + bool GetShowFreeSpace() const { return m_bShowFreeSpace; } + // serialize/unserialize void StoreInConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName) const; bool ReadFromConfig(chcore::TConfig& rConfig, PCTSTR pszNodeName); private: - TShellMenuItemPtr m_spCommandsRoot; // root under which there are commands placed + TShellMenuItemPtr m_spDragAndDropRoot; // root under which there are commands placed + TShellMenuItemPtr m_spNormalRoot; // root under which there are commands placed - bool m_bInterceptDragAndDrop; - bool m_bInterceptKeyboardActions; - bool m_bInterceptCtxMenuActions; - bool m_bShowShortcutIcons; // show shell icons with shortcuts ? + chcore::TSizeFormatterPtr m_spFmtSize; + + bool m_bInterceptDragAndDrop = false; + bool m_bInterceptKeyboardActions = false; + bool m_bInterceptCtxMenuActions = false; + bool m_bShowShortcutIcons = false; // show shell icons with shortcuts ? + bool m_bShowFreeSpace = false; }; #endif