1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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  */
9 
10 #pragma once
11 
12 #include <vcl/weld.hxx>
13 
14 class CertPathDialog : public weld::GenericDialogController
15 {
16     std::unique_ptr<weld::Button> m_xManualButton;
17     std::unique_ptr<weld::Button> m_xOKButton;
18     std::unique_ptr<weld::TreeView> m_xCertPathList;
19     OUString m_sAddDialogText;
20     OUString m_sManualLabel;
21     OUString m_sManualPath;
22 
23     DECL_LINK(CheckHdl_Impl, const weld::TreeView::iter_col&, void);
24     DECL_LINK(ManualHdl_Impl, weld::Button&, void);
25     DECL_LINK(OKHdl_Impl, weld::Button&, void);
26 
27     void HandleEntryChecked(int nRow);
28     void AddCertPath(const OUString& rProfile, const OUString& rPath, bool bSelect = true);
29     void AddManualCertPath(const OUString& sUserSetCertPath, bool bSelect = true);
30 
31 public:
32     explicit CertPathDialog(weld::Window* pParent);
33     virtual ~CertPathDialog() override;
34 
35     void Init();
36 
37     // returns true, if the service currently uses the selected path or is not initialized
38     // yet and therefore has no active NSS path.
39     bool isActiveServicePath() const;
40 };
41 
42 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
43