1 | /* |
2 | This file is part of the KDE project |
3 | SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #ifndef KBUGREPORT_H |
9 | #define KBUGREPORT_H |
10 | |
11 | #include <QDialog> |
12 | #include <kxmlgui_export.h> |
13 | #include <memory> |
14 | |
15 | class KAboutData; |
16 | class KBugReportPrivate; |
17 | |
18 | /** |
19 | * @class KBugReport kbugreport.h KBugReport |
20 | * |
21 | * @short A dialog box for sending bug reports. |
22 | * |
23 | * All the information needed by the dialog box |
24 | * (program name, version, bug-report address, etc.) |
25 | * comes from the KAboutData class. |
26 | * Make sure you create an instance of KAboutData and call |
27 | * KAboutData::setApplicationData(<aboutData>). |
28 | * |
29 | * \image html kbugreport.png "KBugReport" |
30 | * |
31 | * @author David Faure <faure@kde.org> |
32 | */ |
33 | class KXMLGUI_EXPORT KBugReport : public QDialog |
34 | { |
35 | Q_OBJECT |
36 | |
37 | public: |
38 | /** |
39 | * Creates a bug-report dialog. |
40 | * Note that you shouldn't have to do this manually, |
41 | * since KHelpMenu takes care of the menu item |
42 | * for "Report Bug..." and of creating a KBugReport dialog. |
43 | */ |
44 | explicit KBugReport(const KAboutData &aboutData, QWidget *parent = nullptr); |
45 | |
46 | /** |
47 | * Destructor |
48 | */ |
49 | ~KBugReport() override; |
50 | |
51 | /** |
52 | * OK has been clicked |
53 | */ |
54 | void accept() override; |
55 | |
56 | protected: |
57 | /** |
58 | * Attempt to e-mail the bug report. |
59 | * @return true on success |
60 | */ |
61 | bool sendBugReport(); |
62 | |
63 | private: |
64 | friend class KBugReportPrivate; |
65 | std::unique_ptr<KBugReportPrivate> const d; |
66 | |
67 | Q_DISABLE_COPY(KBugReport) |
68 | }; |
69 | |
70 | #endif |
71 | |