23#include <com/sun/star/uno/Any.hxx>
24#include <com/sun/star/uno/Sequence.hxx>
31constexpr OUStringLiteral
ROOT_NODE =
u"OptionsDialogGroups";
36 enum NodeType{ NT_Group, NT_Page, NT_Option };
42 std::u16string_view _rNode,
NodeType _eType );
50 for (
const auto& rNode : aNodeSeq )
52 OUString sSubNode( sNode + rNode );
61 std::u16string_view _rNode,
NodeType _eType )
92 auto plResult = lResult.getArray();
93 plResult[0] = sNode +
"Hide";
94 if ( _eType != NT_Option )
95 plResult[1] = sNode + sSet;
99 if ( aValues[0] >>= bHide )
100 aOptionNodeList.emplace( sNode, bHide );
102 if ( _eType != NT_Option )
104 OUString sNodes( sNode + sSet );
106 for (
const auto& rNode : aNodes )
109 ReadNode( xHierarchyAccess, aOptionNodeList, sSubNodeName, _eType == NT_Group ? NT_Page : NT_Option );
116 return OUString( OUString::Concat(
ROOT_NODE) +
"/" + _rGroup +
"/" );
120 return OUString( OUString::Concat(
PAGES_NODE) +
"/" + _rPage +
"/" );
124 return OUString( OUString::Concat(
OPTIONS_NODE) +
"/" + _rOption +
"/" );
132 bRet = pIter->second;
147 std::u16string_view _rOption, std::u16string_view _rPage, std::u16string_view _rGroup )
const
OptionNodeList m_aOptionNodeList
bool IsPageHidden(std::u16string_view _rPage, std::u16string_view _rGroup) const
bool IsHidden(const OUString &_rPath) const
std::unordered_map< OUString, bool > OptionNodeList
bool IsOptionHidden(std::u16string_view _rOption, std::u16string_view _rPage, std::u16string_view _rGroup) const
SvtOptionsDialogOptions()
bool IsGroupHidden(std::u16string_view _rGroup) const
css::uno::Sequence< css::uno::Any > GetProperties(const css::uno::Sequence< OUString > &rNames)
css::uno::Sequence< OUString > GetNodeNames(const OUString &rNode)
static SAL_DLLPRIVATE css::uno::Reference< css::container::XHierarchicalNameAccess > acquireTree(utl::ConfigItem const &item)
static void ReadNode(const Reference< css::container::XHierarchicalNameAccess > &xHierarchyAccess, SvtOptionsDialogOptions::OptionNodeList &aOptionNodeList, std::u16string_view _rNode, NodeType _eType)
constexpr OUStringLiteral g_sPathDelimiter
constexpr OUStringLiteral PAGES_NODE
static OUString getGroupPath(std::u16string_view _rGroup)
static OUString getPagePath(std::u16string_view _rPage)
static OUString getOptionPath(std::u16string_view _rOption)
constexpr OUStringLiteral OPTIONS_NODE
constexpr OUStringLiteral ROOT_NODE