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
15class KAboutData;
16class 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 */
33class KXMLGUI_EXPORT KBugReport : public QDialog
34{
35 Q_OBJECT
36
37public:
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
56protected:
57 /**
58 * Attempt to e-mail the bug report.
59 * @return true on success
60 */
61 bool sendBugReport();
62
63private:
64 friend class KBugReportPrivate;
65 std::unique_ptr<KBugReportPrivate> const d;
66
67 Q_DISABLE_COPY(KBugReport)
68};
69
70#endif
71

source code of kxmlgui/src/kbugreport.h