//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

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

// PyKDE4 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 General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


class KAboutPerson
{
%TypeHeaderCode
#include <kaboutdata.h>
%End



public:
    explicit                KAboutPerson (const KLocalizedString& name, const KLocalizedString& task = KLocalizedString(), const QByteArray& emailAddress = QByteArray(), const QByteArray& webAddress = QByteArray());

                            KAboutPerson (const KAboutPerson& other);
    QString                 name () const;
    QString                 task () const;
    QString                 emailAddress () const;
    QString                 webAddress () const;


private:
    explicit                KAboutPerson (const QString& name, const QString& email);


};   // KAboutPerson


class KAboutData
{
%TypeHeaderCode
#include <kaboutdata.h>
%End



public:

    enum LicenseKey
    {
        License_Custom,
        License_File,
        License_Unknown,
        License_GPL,
        License_GPL_V2,
        License_LGPL,
        License_LGPL_V2,
        License_BSD,
        License_Artistic,
        License_QPL,
        License_QPL_V1_0,
        License_GPL_V3,
        License_LGPL_V3
    };


    enum NameFormat
    {
        ShortName,
        FullName
    };

                            KAboutData (const QByteArray& appName, const QByteArray& catalogName, const KLocalizedString& programName, const QByteArray& version, const KLocalizedString& shortDescription = KLocalizedString(), KAboutData::LicenseKey licenseType = KAboutData::License_Unknown, const KLocalizedString& copyrightStatement = KLocalizedString(), const KLocalizedString& text = KLocalizedString(), const QByteArray& homePageAddress = QByteArray(), const QByteArray& bugsEmailAddress = "submit@bugs.kde.org");
                            KAboutData (const KAboutData& other);
    KAboutData&             addAuthor (const KLocalizedString& name, const KLocalizedString& task = KLocalizedString(), const QByteArray& emailAddress = QByteArray(), const QByteArray& webAddress = QByteArray());
    KAboutData&             addCredit (const KLocalizedString& name, const KLocalizedString& task = KLocalizedString(), const QByteArray& emailAddress = QByteArray(), const QByteArray& webAddress = QByteArray());
    KAboutData&             setTranslator (const KLocalizedString& name, const KLocalizedString& emailAddress);
    KAboutData&             setLicenseText (const KLocalizedString& license);

    KAboutData&             addLicenseText (const KLocalizedString& license);

    KAboutData&             setLicenseTextFile (const QString& file);

    KAboutData&             addLicenseTextFile (const QString& file);

    KAboutData&             setAppName (const QByteArray& appName);
    KAboutData&             setProgramName (const KLocalizedString& programName);

    KAboutData&             setProgramIconName (const QString& iconName);

    KAboutData&             setProgramLogo (const QVariant& image);
    KAboutData&             setVersion (const QByteArray& version);
    KAboutData&             setShortDescription (const KLocalizedString& shortDescription);
    KAboutData&             setCatalogName (const QByteArray& catalogName);
    KAboutData&             setLicense (KAboutData::LicenseKey licenseKey);

    KAboutData&             addLicense (KAboutData::LicenseKey licenseKey);

    KAboutData&             setCopyrightStatement (const KLocalizedString& copyrightStatement);
    KAboutData&             setOtherText (const KLocalizedString& otherText);
    KAboutData&             setHomepage (const QByteArray& homepage);
    KAboutData&             setBugAddress (const QByteArray& bugAddress);
    KAboutData&             setOrganizationDomain (const QByteArray& domain);
    KAboutData&             setProductName (const QByteArray& name);
    QString                 appName () const;
    QString                 productName () const;
    QString                 programName () const;
    QString                 organizationDomain () const;
    const char*             internalProgramName () const;
    void                    translateInternalProgramName () const;

    QString                 programIconName () const;

    QVariant                programLogo () const;
    QString                 version () const;
    const char*             internalVersion () const;
    QString                 shortDescription () const;
    QString                 catalogName () const;
    QString                 homepage () const;
    QString                 bugAddress () const;
    const char*             internalBugAddress () const;
    QList<KAboutPerson>     authors () const;
    QList<KAboutPerson>     credits () const;
    QList<KAboutPerson>     translators () const;
    static QString          aboutTranslationTeam ();
    QString                 otherText () const;
    QString                 license () const;
    QString                 licenseName (KAboutData::NameFormat formatName) const;

    QList<KAboutLicense>    licenses () const;

    QString                 copyrightStatement () const;
    QString                 customAuthorPlainText () const;
    QString                 customAuthorRichText () const;
    bool                    customAuthorTextEnabled () const;
    KAboutData&             setCustomAuthorText (const KLocalizedString& plainText, const KLocalizedString& richText);
    KAboutData&             unsetCustomAuthorText ();
};   // KAboutData



class KAboutLicense
{
public:
                            KAboutLicense (const KAboutLicense& other);
    QString                 text () const;
    QString                 name (KAboutData::NameFormat formatName) const;
    KAboutData::LicenseKey  key () const;
    static KAboutLicense    byKeyword (const QString& keyword);

private:
    explicit                KAboutLicense (KAboutData::LicenseKey licenseType, const KAboutData* aboutData);
    explicit                KAboutLicense (const QString& pathToFile, const KAboutData* aboutData);
    explicit                KAboutLicense (const KLocalizedString& licenseText, const KAboutData* aboutData);
};   // KAboutLicense



