File: kaboutapplicationdialog.h

package info (click to toggle)
kde4libs 4%3A4.8.4-4%2Bdeb7u1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 80,588 kB
  • sloc: cpp: 746,914; xml: 8,370; ansic: 6,295; java: 4,060; perl: 2,930; yacc: 2,462; sh: 1,225; python: 1,081; ruby: 337; lex: 278; makefile: 29
file content (103 lines) | stat: -rw-r--r-- 3,819 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
/* This file is part of the KDE libraries
   Copyright (C) 2007 Urs Wolfer <uwolfer at kde.org>

   Parts of this class have been take from the KAboutApplication class, which was
   Copyright (C) 2000 Waldo Bastian (bastian@kde.org) and Espen Sand (espen@kde.org)

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Library General Public
   License version 2 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Library General Public License for more details.

   You should have received a copy of the GNU Library General Public License
   along with this library; see the file COPYING.LIB.  If not, write to
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/

#ifndef KABOUT_APPLICATION_DIALOG_H
#define KABOUT_APPLICATION_DIALOG_H

#include "kdialog.h"

#include <QtCore/QFlags>

class KAboutData;

/**
 * @short Standard "About Application" dialog box.
 *
 * This class provides the standard "About Application" dialog box
 * that is used by KHelpMenu. It uses the information of the global
 * KAboutData that is specified at the start of your program in
 * main(). Normally you should not use this class directly but rather
 * the KHelpMenu class or even better just subclass your toplevel
 * window from KMainWindow. If you do the latter, the help menu and
 * thereby this dialog box is available through the
 * KMainWindow::helpMenu() function.
 *
 * \image html kaboutapplicationdialog.png "KDE About Application Dialog"
 *
 * @author Urs Wolfer uwolfer @ kde.org
 */

class KDEUI_EXPORT KAboutApplicationDialog : public KDialog
{
    Q_OBJECT
    Q_FLAGS( Options )
    public:

        /**
         * Defines some options which can be applied to the about dialog
         *
         * @since 4.4
         */
        enum Option {
            NoOptions       = 0x0, ///< No options, show the standard about dialog
            HideTranslators = 0x1, ///< Don't show the translators tab
            HideKdeVersion  = 0x2  ///< Don't show the KDE version next to the application name and version
        };
        Q_DECLARE_FLAGS( Options, Option )

        /**
         * Constructor. Creates a fully featured "About Application" dialog box.
         *
         * @param aboutData A pointer to a KAboutData object which data
         *        will be used for filling the dialog.
         * @param opts Additional options that can be applied, such as hiding the KDE version
         *             or the translators tab.
         * @param parent The parent of the dialog box. You should use the
         *        toplevel window so that the dialog becomes centered.
         *
         * @since 4.4
         */
        explicit KAboutApplicationDialog(const KAboutData *aboutData, Options opts, QWidget *parent = 0);

        /**
         * Constructor. Creates a fully featured "About Application" dialog box.
         *
         * @param aboutData A pointer to a KAboutData object which data
         *        will be used for filling the dialog.
         * @param parent The parent of the dialog box. You should use the
         *        toplevel window so that the dialog becomes centered.
         */
        explicit KAboutApplicationDialog(const KAboutData *aboutData, QWidget *parent = 0);

        virtual ~KAboutApplicationDialog();

    private:
        class Private;
        Private* const d;

        Q_PRIVATE_SLOT( d, void _k_showLicense(const QString&) )

        Q_DISABLE_COPY( KAboutApplicationDialog )
};

Q_DECLARE_OPERATORS_FOR_FLAGS( KAboutApplicationDialog::Options )

#endif