1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 #include <com/sun/star/container/XNameAccess.hpp>
14 #include <dlgname.hxx>
15 #include <i18nutil/searchopt.hxx>
16 #include <vcl/weld.hxx>
20 class CuiAboutConfigTabPage
;
21 class CuiAboutConfigValueDialog
;
34 class CuiAboutConfigTabPage
: public weld::GenericDialogController
37 std::unique_ptr
<weld::Button
> m_xResetBtn
;
38 std::unique_ptr
<weld::Button
> m_xEditBtn
;
39 std::unique_ptr
<weld::Button
> m_xSearchBtn
;
40 std::unique_ptr
<weld::CheckButton
> m_xModifiedCheckBtn
;
41 std::unique_ptr
<weld::Entry
> m_xSearchEdit
;
42 std::unique_ptr
<weld::TreeView
> m_xPrefBox
;
43 std::unique_ptr
<weld::TreeIter
> m_xScratchIter
;
45 std::vector
<std::unique_ptr
<UserData
>> m_vectorUserData
;
47 std::vector
<prefBoxEntry
> m_modifiedPrefBoxEntries
;
48 std::vector
<std::shared_ptr
<Prop_Impl
>> m_vectorOfModified
;
51 i18nutil::SearchOptions2 m_options
;
52 std::vector
<prefBoxEntry
> m_prefBoxEntries
;
56 void AddToModifiedVector(const std::shared_ptr
<Prop_Impl
>& rProp
);
57 static std::vector
<OUString
> commaStringToSequence(std::u16string_view rCommaSepString
);
58 void InsertEntry(const prefBoxEntry
& rEntry
);
60 DECL_LINK(QueryTooltip
, const weld::TreeIter
& rIter
, OUString
);
61 DECL_LINK(StandardHdl_Impl
, weld::Button
&, void);
62 DECL_LINK(DoubleClickHdl_Impl
, weld::TreeView
&, bool);
63 DECL_LINK(ResetBtnHdl_Impl
, weld::Button
&, void);
64 DECL_LINK(SearchHdl_Impl
, weld::Button
&, void);
65 DECL_LINK(ModifiedHdl_Impl
, weld::Toggleable
&, void);
66 DECL_LINK(ExpandingHdl_Impl
, const weld::TreeIter
&, bool);
67 DECL_LINK(HeaderBarClick
, int, void);
68 DECL_STATIC_LINK(CuiAboutConfigTabPage
, ValidNameHdl
, SvxNameDialog
&, bool);
71 explicit CuiAboutConfigTabPage(weld::Window
* pParent
);
72 virtual ~CuiAboutConfigTabPage() override
;
73 void InsertEntry(const OUString
& rPropertyPath
, css::uno::Any aPropertyValue
,
74 const OUString
& rProp
, const OUString
& rStatus
, const OUString
& rType
,
75 const OUString
& rValue
, const OUString
& rTooltip
,
76 const weld::TreeIter
* pParentEntry
, bool bInsertToPrefBox
, bool bIsReadOnly
,
80 void FillItems(const css::uno::Reference
<css::container::XNameAccess
>& xNameAccess
,
81 const weld::TreeIter
* pParentEntry
= nullptr, int lineage
= 0,
82 bool bLoadAll
= false);
83 static css::uno::Reference
<css::container::XNameAccess
>
84 getConfigAccess(const OUString
& sNodePath
, bool bUpdate
);
88 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */