23#include <QRegularExpression>
32 parse( sLicenseString );
53 const QString sUp = sLicenseString.toUpper();
56 sUp ==
"UNDEFINED LICENSE" ||
57 sUp ==
"UNKNOWN LICENSE" ) {
61 else if ( ( sUp.contains(
"CC" ) ||
62 ( sUp.contains(
"CREATIVE" ) &&
63 sUp.contains(
"COMMONS" ) ) ) &&
64 ( sUp.contains(
"BY" ) ||
65 sUp.contains(
"ATTRIBUTION" ) ) ) {
66 if ( sUp.contains(
"SA" ) ||
67 ( sUp.contains(
"SHARE" ) &&
68 sUp.contains(
"ALIKE" ) ) ) {
69 if ( sUp.contains(
"NC" ) ||
70 ( sUp.contains(
"NON" ) &&
71 sUp.contains(
"COMMERCIAL" ) ) ) {
78 else if ( sUp.contains(
"ND" ) ||
79 ( sUp.contains(
"NO" ) &&
80 sUp.contains(
"DERIVATIVES" ) ) ) {
81 if ( sUp.contains(
"NC" ) ||
82 ( sUp.contains(
"NON" ) &&
83 sUp.contains(
"COMMERCIAL" ) ) ) {
91 if ( sUp.contains(
"NC" ) ||
92 ( sUp.contains(
"NON" ) &&
93 sUp.contains(
"COMMERCIAL" ) ) ) {
101 else if ( ( ( sUp.contains(
"CC" ) ||
102 ( sUp.contains(
"CREATIVE" ) &&
103 sUp.contains(
"COMMONS" ) ) ) &&
104 ( sUp.contains(
"0" ) ||
105 sUp.contains(
"ZERO" ) ) ) ||
106 ( sUp.contains(
"PUBLIC" ) &&
107 sUp.contains(
"DOMAIN" ) ) &&
108 ( sUp.contains(
"NO" ) &&
109 sUp.contains(
"KNOWN" ) &&
110 sUp.contains(
"COPYRIGHT" ) ) ) {
113 else if ( sUp.contains(
"GPL" ) ||
114 ( sUp.contains(
"GENERAL" ) &&
115 sUp.contains(
"PUBLIC" ) &&
116 sUp.contains(
"LICENSE" ) ) ) {
119 else if ( sUp.contains(
"ALL" ) &&
120 sUp.contains(
"RIGHTS" ) &&
121 sUp.contains(
"RESERVED" ) ) {
156 sOutput = QString(
"%1[License]\n" ).arg( sPrefix )
157 .append( QString(
"%1%2m_license: %3\n" ).arg( sPrefix ).arg( s )
159 .append( QString(
"%1%2m_sLicenseString: %3\n" ).arg( sPrefix ).arg( s )
161 .append( QString(
"%1%2m_sCopyrightHolder: %3\n" ).arg( sPrefix ).arg( s )
165 sOutput = QString(
"[License]" )
166 .append( QString(
" m_license: %1" )
168 .append( QString(
", m_sLicenseString: %1" )
170 .append( QString(
", m_sCopyrightHolder: %1" )
static QString sPrintIndention
String used to format the debugging string output of some core classes.
LicenseType
A couple of recognized licenses.
@ GPL
Not a desirable license for audio data but introduced here specifically since it is already used by a...
@ Unspecified
No license set yet.
@ AllRightsReserved
User decides with withhold all rights.
@ Other
All other licenses not specified above.
bool hasAttribution() const
QString m_sCopyrightHolder
This variable will not be written to disk.
void setType(LicenseType license)
static QString LicenseTypeToQString(LicenseType license)
QString toQString(const QString &sPrefix="", bool bShort=true) const override
Formatted string version for debugging purposes.
License(const QString &sLicenseString="", const QString &sCopyrightHolder="")
void parse(const QString &sLicenseString)