bump product version to 5.0.4.1
[LibreOffice.git] / cui / source / options / optaboutconfig.hxx
blob8d4f2f16e10718aec571a3bd035ae0a321a14cd1
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 #ifndef INCLUDED_CUI_SOURCE_OPTIONS_OPTABOUTCONFIG_HXX
11 #define INCLUDED_CUI_SOURCE_OPTIONS_OPTABOUTCONFIG_HXX
13 #include <com/sun/star/container/XNameAccess.hpp>
14 #include <com/sun/star/beans/NamedValue.hpp>
15 #include <com/sun/star/util/SearchOptions.hpp>
17 #include <sfx2/tabdlg.hxx>
18 #include <svtools/simptabl.hxx>
19 #include <vcl/edit.hxx>
21 #include <vector>
22 #include <boost/scoped_ptr.hpp>
23 #include <boost/shared_ptr.hpp>
25 namespace svx { class OptHeaderTabListBox; }
26 class CuiAboutConfigTabPage;
27 class CuiAboutConfigValueDialog;
28 struct Prop_Impl;
30 class CuiCustomMultilineEdit : public Edit
32 public:
33 bool bNumericOnly;
34 CuiCustomMultilineEdit( vcl::Window* pParent, WinBits nStyle )
35 : Edit( pParent, nStyle )
36 , bNumericOnly(false)
39 virtual void KeyInput( const KeyEvent& rKeyEvent ) SAL_OVERRIDE;
40 virtual Size GetOptimalSize() const SAL_OVERRIDE;
43 class CuiAboutConfigTabPage : public ModelessDialog
45 private:
46 VclPtr<SvSimpleTableContainer> m_pPrefCtrl;
47 VclPtr<PushButton> m_pResetBtn;
48 VclPtr<PushButton> m_pEditBtn;
49 VclPtr<PushButton> m_pSearchBtn;
50 VclPtr<Edit> m_pSearchEdit;
52 std::vector< boost::shared_ptr< Prop_Impl > > m_vectorOfModified;
53 VclPtr< SvSimpleTable > m_pPrefBox;
55 //for search
56 ::com::sun::star::util::SearchOptions m_options;
57 SvTreeListEntries m_prefBoxEntries;
59 void AddToModifiedVector( const boost::shared_ptr< Prop_Impl >& rProp );
60 static std::vector< OUString > commaStringToSequence( const OUString& rCommaSepString );
62 DECL_LINK( StandardHdl_Impl, void * );
63 DECL_LINK( ResetBtnHdl_Impl, void * );
64 DECL_LINK( SearchHdl_Impl, void* );
66 public:
67 CuiAboutConfigTabPage(vcl::Window* pParent);
68 virtual ~CuiAboutConfigTabPage();
69 virtual void dispose() SAL_OVERRIDE;
70 void InsertEntry(const OUString& rProp, const OUString& rStatus, const OUString& rType, const OUString& rValue);
71 void Reset();
72 void FillItems(const com::sun::star::uno::Reference<com::sun::star::container::XNameAccess>& xNameAccess);
73 static com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > getConfigAccess( const OUString& sNodePath, bool bUpdate );
74 bool FillItemSet();
77 class CuiAboutConfigValueDialog : public ModalDialog
79 private:
80 VclPtr<CuiCustomMultilineEdit> m_pEDValue;
82 public:
83 CuiAboutConfigValueDialog( vcl::Window* pWindow, const OUString& rValue , int limit = 0);
84 virtual ~CuiAboutConfigValueDialog();
85 virtual void dispose() SAL_OVERRIDE;
87 OUString getValue()
89 return m_pEDValue->GetText();
93 #endif
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */