Marble

PluginAboutDialog.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2009 Bastian Holst <[email protected]>
4 //
5 
6 #ifndef MARBLE_PLUGINABOUTDIALOG_H
7 #define MARBLE_PLUGINABOUTDIALOG_H
8 
9 #include <QDialog>
10 #include <QList>
11 
12 // Marble
13 #include "marble_export.h"
14 #include "PluginInterface.h"
15 
16 namespace Marble
17 {
18 
19 class PluginAboutDialogPrivate;
20 
21 class MARBLE_EXPORT PluginAboutDialog : public QDialog
22 {
23  Q_OBJECT
24 
25  public:
26  enum LicenseKey {
27 // License_Unknown = 0,
28 // License_GPL = 1,
29 // License_GPL_V2 = 1,
30 // License_LGPL = 2,
31  License_LGPL_V2 = 2
32 // License_BSD = 3,
33 // License_Artistic = 4,
34 // License_QPL = 5,
35 // License_QPL_V1_0 = 5,
36 // License_GPL_V3 = 6,
37 // License_LGPL_V3 = 7
38  };
39 
40  explicit PluginAboutDialog( QWidget *parent = nullptr );
41  ~PluginAboutDialog() override;
42 
43  /**
44  * Sets the name of the plugin.
45  */
46  void setName( const QString& name );
47 
48  /**
49  * Sets the version of the plugin;
50  */
51  void setVersion( const QString& version );
52 
53  /**
54  * Sets the icon to be displayed at the top of the dialog.
55  */
56  void setIcon( const QIcon& icon );
57 
58  /**
59  * Sets the text displayed in the "About" tab of the dialog.
60  */
61  void setAboutText( const QString& about );
62 
63  /**
64  * Sets the authors working on this plugin.
65  * @since 0.26.0
66  */
67  void setAuthors(const QVector<PluginAuthor>& authors);
68 
69  /**
70  * Sets the text displayed in the "Authors" tab of the dialog.
71  * @warning You would want to use setAuthors instead.
72  */
73  void setAuthorsText( const QString& authors );
74 
75  /**
76  * Sets the text displayed in the "Data" tab of the dialog.
77  * An null QString will result into no "Data" tab at all.
78  */
79  void setDataText( const QString& data );
80 
81  /**
82  * Sets the license for the "License Agreement" tab of the dialog.
83  */
84  void setLicense( PluginAboutDialog::LicenseKey license );
85 
86  /**
87  * Sets the text displayed in the "License Agreement" tab of the dialog.
88  * A null QString will result into the default LGPLv2 license agreement.
89  * If your plugin is not part of the official Marble distribution, please set it
90  * manually to the license agreement you prefer (even if it is LGPLv2).
91  * @warning You would want to use setLicense instead.
92  */
93  void setLicenseAgreementText( const QString& license );
94 
95  private:
96  Q_DISABLE_COPY( PluginAboutDialog )
97 
98  PluginAboutDialogPrivate * const d;
99 };
100 
101 } // namespace Marble
102 
103 #endif
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:09 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.