File: AboutContainer.h

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (101 lines) | stat: -rw-r--r-- 2,886 bytes parent folder | download
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
/***************************************************************************
       AboutContainer.h  -  Authors and thanks field in the about dialog
                             -------------------
    begin                : Sat Dec 29 2007
    copyright            : (C) 2007 by Thomas Eschenbacher
    email                : Thomas.Eschenbacher@gmx.de

    based on class K3AboutContainer
    copied from k3aboutdialog.h / kdelibs-3.97.0

    Copyright (C) 1999-2001 Mirko Boehm (mirko@kde.org) and
                            Espen Sand (espen@kde.org)
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef KWAVE_ABOUT_CONTAINER_H
#define KWAVE_ABOUT_CONTAINER_H

#include "config.h"

#include <QFrame>
#include <QSize>
#include <QVBoxLayout>

class QString;
class QLabel;
class QWidget;

namespace Kwave
{
    /**
    * simplified clone of K3AboutContainer
    * @see K3AboutContainer
    */
    class AboutContainer: public QFrame
    {
    Q_OBJECT

    public:
        explicit AboutContainer(QWidget *parent = nullptr);

        ~AboutContainer() override;

        void addPerson(const QString &name, const QString &email,
                       const QString &url,  const QString &task);

        QSize sizeHint() const override;

        QSize minimumSizeHint() const override;

        void addWidget(QWidget *widget);

    private:

        QVBoxLayout *m_vbox;
    };

    /**
     * Used internally by KwaveAboutWidget
     * @see K3AboutContributor
     * @internal
     */
    class AboutContributor: public QFrame
    {
    Q_OBJECT

    public:
        AboutContributor(QWidget *parent,
                         const QString &username,
                         const QString &email,
                         const QString &url,
                         const QString &work);

        ~AboutContributor() override;

        QSize sizeHint() const override;

    protected:
        virtual void fontChange( const QFont &oldFont );

        virtual void updateLayout();

    private:

        QLabel *m_text[4];

    };
}

#endif /* KWAVE_ABOUT_CONTAINER_H */

//***************************************************************************
//***************************************************************************