bump product version to 7.6.3.2-android
[LibreOffice.git] / cui / source / options / optaboutconfig.hxx
blob6cbb76e4cbded84686900e8eef8e69b7c2953dd0
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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/.
8 */
10 #pragma once
12 #include <com/sun/star/container/XNameAccess.hpp>
14 #include <i18nutil/searchopt.hxx>
15 #include <vcl/weld.hxx>
17 #include <vector>
19 class CuiAboutConfigTabPage;
20 class CuiAboutConfigValueDialog;
21 struct Prop_Impl;
22 struct UserData;
24 struct prefBoxEntry
26 OUString sProp;
27 OUString sStatus;
28 OUString sType;
29 OUString sValue;
30 UserData* pUserData;
33 class CuiAboutConfigTabPage : public weld::GenericDialogController
35 private:
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;
48 //for search
49 i18nutil::SearchOptions2 m_options;
50 std::vector<prefBoxEntry> m_prefBoxEntries;
52 bool m_bSorted;
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);
66 public:
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);
71 void Reset();
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 );
75 void FillItemSet();
78 class CuiAboutConfigValueDialog : public weld::GenericDialogController
80 private:
81 bool m_bNumericOnly;
82 std::unique_ptr<weld::Entry> m_xEDValue;
84 DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
86 public:
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: */