23#include <QRegularExpression>
29 m_sLicenseString( sLicenseString ),
30 m_sCopyrightHolder( sCopyrightHolder )
32 parse( sLicenseString );
36 m_license( pOther->m_license ),
37 m_sLicenseString( pOther->m_sLicenseString ),
38 m_sCopyrightHolder( pOther->m_sCopyrightHolder ) {
53 QString sUp = sLicenseString.toUpper();
55 if ( sLicenseString.isEmpty() ||
56 sLicenseString ==
"undefined license" ) {
60 else if ( ( sUp.contains(
"CC" ) ||
61 ( sUp.contains(
"CREATIVE" ) &&
62 sUp.contains(
"COMMONS" ) ) ) &&
63 ( sUp.contains(
"BY" ) ||
64 sUp.contains(
"ATTRIBUTION" ) ) ) {
65 if ( sUp.contains(
"SA" ) ||
66 ( sUp.contains(
"SHARE" ) &&
67 sUp.contains(
"ALIKE" ) ) ) {
68 if ( sUp.contains(
"NC" ) ||
69 ( sUp.contains(
"NON" ) &&
70 sUp.contains(
"COMMERCIAL" ) ) ) {
77 else if ( sUp.contains(
"ND" ) ||
78 ( sUp.contains(
"NO" ) &&
79 sUp.contains(
"DERIVATIVES" ) ) ) {
80 if ( sUp.contains(
"NC" ) ||
81 ( sUp.contains(
"NON" ) &&
82 sUp.contains(
"COMMERCIAL" ) ) ) {
90 if ( sUp.contains(
"NC" ) ||
91 ( sUp.contains(
"NON" ) &&
92 sUp.contains(
"COMMERCIAL" ) ) ) {
100 else if ( ( ( sUp.contains(
"CC" ) ||
101 ( sUp.contains(
"CREATIVE" ) &&
102 sUp.contains(
"COMMONS" ) ) ) &&
103 ( sUp.contains(
"0" ) ||
104 sUp.contains(
"ZERO" ) ) ) ||
105 ( sUp.contains(
"PUBLIC" ) &&
106 sUp.contains(
"DOMAIN" ) ) &&
107 ( sUp.contains(
"NO" ) &&
108 sUp.contains(
"KNOWN" ) &&
109 sUp.contains(
"COPYRIGHT" ) ) ) {
112 else if ( sUp.contains(
"GPL" ) ||
113 ( sUp.contains(
"GENERAL" ) &&
114 sUp.contains(
"PUBLIC" ) &&
115 sUp.contains(
"LICENSE" ) ) ) {
118 else if ( sUp.contains(
"ALL" ) &&
119 sUp.contains(
"RIGHTS" ) &&
120 sUp.contains(
"RESERVED" ) ) {
155 sOutput = QString(
"%1[License]\n" ).arg( sPrefix )
156 .append( QString(
"%1%2m_license: %3\n" ).arg( sPrefix ).arg( s )
158 .append( QString(
"%1%2m_sLicenseString: %3\n" ).arg( sPrefix ).arg( s )
160 .append( QString(
"%1%2m_sCopyrightHolder: %3\n" ).arg( sPrefix ).arg( s )
164 sOutput = QString(
"[License]" )
165 .append( QString(
" m_license: %1" )
167 .append( QString(
", m_sLicenseString: %1" )
169 .append( QString(
", m_sCopyrightHolder: %1" )
static QString sPrintIndention
String used to format the debugging string output of some core classes.
Wrapper class to help Hydrogen deal with the license information specified in a drumkit.
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)