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 <i18nutil/searchopt.hxx>
15 #include <vcl/weld.hxx>
19 class CuiAboutConfigTabPage
;
20 class CuiAboutConfigValueDialog
;
33 class CuiAboutConfigTabPage
: public weld::GenericDialogController
36 std::unique_ptr
<weld::Button
> m_xResetBtn
;
37 std::unique_ptr
<weld::Button
> m_xEditBtn
;
38 std::unique_ptr
<weld::Button
> m_xSearchBtn
;
39 std::unique_ptr
<weld::Entry
> m_xSearchEdit
;
40 std::unique_ptr
<weld::TreeView
> m_xPrefBox
;
41 std::unique_ptr
<weld::TreeIter
> m_xScratchIter
;
43 std::vector
< std::unique_ptr
<UserData
> > m_vectorUserData
;
45 std::vector
<prefBoxEntry
> m_modifiedPrefBoxEntries
;
46 std::vector
< std::shared_ptr
< Prop_Impl
> > m_vectorOfModified
;
49 i18nutil::SearchOptions2 m_options
;
50 std::vector
<prefBoxEntry
> m_prefBoxEntries
;
54 void AddToModifiedVector( const std::shared_ptr
< Prop_Impl
>& rProp
);
55 static std::vector
< OUString
> commaStringToSequence( std::u16string_view rCommaSepString
);
56 void InsertEntry(const prefBoxEntry
& rEntry
);
58 DECL_LINK(QueryTooltip
, const weld::TreeIter
& rIter
, OUString
);
59 DECL_LINK(StandardHdl_Impl
, weld::Button
&, void);
60 DECL_LINK(DoubleClickHdl_Impl
, weld::TreeView
&, bool);
61 DECL_LINK(ResetBtnHdl_Impl
, weld::Button
&, void);
62 DECL_LINK(SearchHdl_Impl
, weld::Button
&, void);
63 DECL_LINK(ExpandingHdl_Impl
, const weld::TreeIter
&, bool);
64 DECL_LINK(HeaderBarClick
, int, void);
67 explicit CuiAboutConfigTabPage(weld::Window
* pParent
);
68 virtual ~CuiAboutConfigTabPage() override
;
69 void InsertEntry(const OUString
&rPropertyPath
, const OUString
& rProp
, const OUString
& rStatus
, const OUString
& rType
, const OUString
& rValue
,
70 const weld::TreeIter
* pParentEntry
, bool bInsertToPrefBox
, bool bIsReadOnly
);
72 void FillItems(const css::uno::Reference
<css::container::XNameAccess
>& xNameAccess
,
73 const weld::TreeIter
* pParentEntry
= nullptr, int lineage
= 0, bool bLoadAll
= false);
74 static css::uno::Reference
< css::container::XNameAccess
> getConfigAccess( const OUString
& sNodePath
, bool bUpdate
);
78 class CuiAboutConfigValueDialog
: public weld::GenericDialogController
82 std::unique_ptr
<weld::Entry
> m_xEDValue
;
84 DECL_LINK(KeyInputHdl
, const KeyEvent
&, bool);
87 CuiAboutConfigValueDialog(weld::Window
* pWindow
, const OUString
& rValue
, int limit
);
88 virtual ~CuiAboutConfigValueDialog() override
;
90 OUString
getValue() const
92 return m_xEDValue
->get_text();
96 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */