KAboutLicense

Search for usage in LXR

#include <KAboutLicense>

Public Types

enum  LicenseKey {
  Custom = -2 , File = -1 , Unknown = 0 , GPL = 1 ,
  GPL_V2 = GPL , LGPL = 2 , LGPL_V2 = LGPL , KCOREADDONS_ENUMERATOR_DEPRECATED_VERSION =(6, 9, "Use BSD_2_Clause") = 3 ,
  BSD_2_Clause = 3 , Artistic = 4 , GPL_V3 = 5 , LGPL_V3 = 6 ,
  LGPL_V2_1 = 7 , MIT = 8 , ODbL_V1 = 9 , Apache_V2 = 10 ,
  FTL = 11 , BSL_V1 = 12 , BSD_3_Clause = 13 , CC0_V1 = 14
}
 
enum  NameFormat { ShortName , FullName }
 
enum  VersionRestriction { OnlyThisVersion , OrLaterVersions }
 

Properties

KAboutLicense::LicenseKey key
 
QString name
 
QString spdx
 
QString text
 

Public Member Functions

 KAboutLicense ()
 
 KAboutLicense (const KAboutLicense &other)
 
KAboutLicense::LicenseKey key () const
 
QString name (KAboutLicense::NameFormat formatName=ShortName) const
 
KAboutLicenseoperator= (const KAboutLicense &other)
 
QString spdx () const
 
QString text () const
 

Static Public Member Functions

static KAboutLicense byKeyword (const QString &keyword)
 

Detailed Description

This class is used to store information about a license.

The license can be one of some predefined, one given as text or one that can be loaded from a file. This class is used in the KAboutData class. Explicitly creating a KAboutLicense object is not possible. If the license is wanted for a KDE component having KAboutData object, use KAboutData::licenses() to get the licenses for that component. If the license is for a non-code resource and given by a keyword (e.g. in .desktop files), try using KAboutLicense::byKeyword().

Definition at line 186 of file kaboutdata.h.

Member Enumeration Documentation

◆ LicenseKey

Describes the license of the software; for more information see: https://spdx.org/licenses/.

Enumerator
Custom 

Custom license.

File 

License set from text file, see setLicenseFromPath()

Unknown 

Unknown license.

GPL 

GPL.

GPL_V2 

GPL_V2, this has the same value as LicenseKey::GPL, see https://spdx.org/licenses/GPL-2.0.html.

LGPL 

LGPL.

LGPL_V2 

LGPL_V2, this has the same value as LicenseKey::LGPL, see https://spdx.org/licenses/LGPL-2.0-only.html.

KCOREADDONS_ENUMERATOR_DEPRECATED_VERSION 

BSDL, see https://spdx.org/licenses/BSD-2-Clause.html.

BSD_2_Clause 

BSD_2_CLAUSE, see https://spdx.org/licenses/BSD-2-Clause.html.

Artistic 

Artistic, see https://spdx.org/licenses/Artistic-2.0.html.

GPL_V3 

GPL_V3, see https://spdx.org/licenses/GPL-3.0.html.

LGPL_V3 

LGPL_V3, see https://spdx.org/licenses/LGPL-3.0-only.html.

LGPL_V2_1 

LGPL_V2_1.

Since
5.25, see https://spdx.org/licenses/LGPL-2.1-only.html
MIT 

MIT.

Since
6.0, see https://spdx.org/licenses/MIT.html
ODbL_V1 

ODbL_V1.

Since
6.9, see https://spdx.org/licenses/ODbL-1.0.html
Apache_V2 

Apache_V2.

Since
6.9, see https://spdx.org/licenses/Apache-2.0.html
FTL 

FTL.

Since
6.9, see https://spdx.org/licenses/FTL.html
BSL_V1 

BSL_V1.

Since
6.9, see https://spdx.org/licenses/BSL-1.0.html
BSD_3_Clause 

BSD_3_CLAUSE.

Since
6.9, see https://spdx.org/licenses/BSD-3-Clause.html
CC0_V1 

CC0_V1.

Since
6.9, see https://spdx.org/licenses/CC0-1.0.html

Definition at line 200 of file kaboutdata.h.

◆ NameFormat

Format of the license name.

Definition at line 229 of file kaboutdata.h.

◆ VersionRestriction

Whether later versions of the license are allowed.

Definition at line 238 of file kaboutdata.h.

Property Documentation

◆ key

KAboutLicense::LicenseKey KAboutLicense::key
read

Definition at line 191 of file kaboutdata.h.

◆ name

QString KAboutLicense::name
read

Definition at line 189 of file kaboutdata.h.

◆ spdx

QString KAboutLicense::spdx
read

Definition at line 192 of file kaboutdata.h.

◆ text

QString KAboutLicense::text
read

Definition at line 190 of file kaboutdata.h.

Constructor & Destructor Documentation

◆ KAboutLicense() [1/2]

KAboutLicense::KAboutLicense ( )
explicit
Since
5.53

Definition at line 181 of file kaboutdata.cpp.

◆ KAboutLicense() [2/2]

KAboutLicense::KAboutLicense ( const KAboutLicense & other)

Copy constructor.

Performs a deep copy.

Parameters
otherobject to copy

Definition at line 201 of file kaboutdata.cpp.

◆ ~KAboutLicense()

KAboutLicense::~KAboutLicense ( )

Definition at line 206 of file kaboutdata.cpp.

Member Function Documentation

◆ byKeyword()

KAboutLicense KAboutLicense::byKeyword ( const QString & keyword)
static

Fetch a known license by a keyword/spdx ID.

Frequently the license data is provided by a terse keyword-like string, e.g. by a field in a .desktop file. Using this method, an application can get hold of a proper KAboutLicense object, providing that the license is one of the several known to KDE, and use it to present more human-readable information to the user.

Keywords are matched by stripping all whitespace and lowercasing. The known keywords correspond to the KAboutLicense::LicenseKey enumeration, e.g. any of "LGPLV3", "LGPLv3", "LGPL v3" would match KAboutLicense::LGPL_V3. If there is no match for the keyword, a valid license object is still returned, with its name and text informing about a custom license, and its key equal to KAboutLicense::Custom.

Parameters
keywordThe license keyword.
Returns
The license object.
See also
KAboutLicense::LicenseKey

Definition at line 423 of file kaboutdata.cpp.

◆ key()

KAboutLicense::LicenseKey KAboutLicense::key ( ) const

Returns the license key.

Returns
The license key as element of KAboutLicense::LicenseKey enum.

Definition at line 418 of file kaboutdata.cpp.

◆ name()

QString KAboutLicense::name ( KAboutLicense::NameFormat formatName = ShortName) const

Returns the license name.

Default argument

Since
5.53
Returns
The license name as a string.

Definition at line 337 of file kaboutdata.cpp.

◆ operator=()

KAboutLicense & KAboutLicense::operator= ( const KAboutLicense & other)

Assignment operator.

Performs a deep copy.

Parameters
otherobject to copy

Definition at line 412 of file kaboutdata.cpp.

◆ spdx()

QString KAboutLicense::spdx ( ) const

Returns the SPDX license expression of this license.

If the underlying license cannot be expressed as a SPDX expression a null string is returned.

Note
SPDX expression are expansive constructs. If you parse the return value, do it in a SPDX specification compliant manner by splitting on whitespaces to discard unwanted information or by using a complete SPDX license expression parser.
SPDX identifiers are case-insensitive. Do not use case-sensitive checks on the return value.
See also
https://spdx.org/licenses
Returns
SPDX license expression or QString() if the license has no identifier. Compliant with SPDX 2.1.
Since
5.37

Definition at line 317 of file kaboutdata.cpp.

◆ text()

QString KAboutLicense::text ( ) const

Returns the full license text.

If the licenseType argument of the constructor has been used, any text defined by setLicenseText is ignored, and the standard text for the chosen license will be returned.

Returns
The license text.

Definition at line 222 of file kaboutdata.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:04:24 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.