digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::ItemCopyright Class Reference

Public Types

enum  ReplaceMode { ReplaceAllEntries , ReplaceLanguageEntry , AddEntryToExisting }
 

Public Member Functions

 ItemCopyright ()=default
 Create a null ItemCopyright object.
 
 ItemCopyright (const ItemCopyright &other)
 
 ItemCopyright (qlonglong imageid)
 
MetaEngine::AltLangMap allCopyrightNotices ()
 
MetaEngine::AltLangMap allRightsUsageTerms ()
 
QStringList author () const
 
QString authorsPosition () const
 
QStringList byLine () const
 
QString byLineTitle () const
 
IptcCoreContactInfo contactInfo ()
 Returns the creator's contact info.
 
QString copyrightNotice (const QString &languageCode=QString())
 Returns the copyright notice.
 
QStringList creator () const
 Returns the author/creator/byline.
 
QString creatorJobTitle () const
 Returns the creator's job title.
 
QString credit () const
 
void fillTemplate (Template &t)
 Fills the information fields in template concerning copyright info (note there are other fields in the a Template.
 
QString instructions ()
 Returns the instructions.
 
ItemCopyrightoperator= (const ItemCopyright &other)
 
QString provider () const
 Returns the credit/provider.
 
void removeAll ()
 Calls all remove...() methods in this class.
 
void removeContactInfo ()
 
void removeCopyrightNotices ()
 
void removeCreatorJobTitle ()
 
void removeCreators ()
 
void removeInstructions ()
 
void removeProvider ()
 
void removeRightsUsageTerms ()
 
void removeSource ()
 
void replaceFrom (const ItemCopyright &source)
 Removes all entries and replaces them with the entries from source.
 
QString rights (const QString &languageCode=QString())
 
QString rightsUsageTerms (const QString &languageCode=QString())
 Returns the right usage terms.
 
void setAuthor (const QString &author, ReplaceMode mode=ReplaceAllEntries)
 
void setAuthorsPosition (const QString &position)
 
void setByLine (const QString &byline, ReplaceMode mode=ReplaceAllEntries)
 
void setByLineTitle (const QString &title)
 
void setContactInfo (const IptcCoreContactInfo &info)
 
void setCopyrightNotice (const QString &notice, const QString &languageCode=QString(), ReplaceMode mode=ReplaceLanguageEntry)
 Sets the copyright notice.
 
void setCreator (const QString &creator, ReplaceMode mode=ReplaceAllEntries)
 Sets the creator.
 
void setCreatorJobTitle (const QString &title)
 
void setCredit (const QString &credit)
 
void setFromTemplate (const Template &t)
 Sets all database copyright fields from the template.
 
void setInstructions (const QString &instructions)
 
void setProvider (const QString &provider)
 
void setRights (const QString &notice, const QString &languageCode=QString(), ReplaceMode mode=ReplaceLanguageEntry)
 
void setRightsUsageTerms (const QString &term, const QString &languageCode=QString(), ReplaceMode mode=ReplaceLanguageEntry)
 
void setSource (const QString &source)
 
QString source ()
 Returns the source.
 

Protected Member Functions

CopyrightInfo copyrightInfo (const QString &property) const
 
QList< CopyrightInfocopyrightInfos (const QString &property) const
 
int languageMatch (const QList< CopyrightInfo > &infos, const QString &languageCode) const
 
MetaEngine::AltLangMap readLanguageProperties (const QString &property)
 
QString readLanguageProperty (const QString &property, const QString &languageCode)
 
QString readSimpleProperty (const QString &property) const
 
void removeLanguageProperty (const QString &property, const QString &languageCode)
 
void removeProperties (const QString &property)
 
void setLanguageProperty (const QString &property, const QString &value, const QString &languageCode, ReplaceMode mode)
 
void setSimpleProperty (const QString &property, const QString &value)
 

Protected Attributes

ItemCopyrightCache * m_cache = nullptr
 
qlonglong m_id = 0
 

Friends

class ItemCopyrightCache
 

Member Enumeration Documentation

◆ ReplaceMode

Enumerator
ReplaceAllEntries 

Remove entries for all languages and add one new entry.

ReplaceLanguageEntry 

Only replace the entry with the given language.

AddEntryToExisting 

No constraints on adding the entry.

Member Function Documentation

◆ contactInfo()

IptcCoreContactInfo Digikam::ItemCopyright::contactInfo ( )

This is Iptc4xmpCore:CreatorContactInfo in XMP. The creator's contact information provides all necessary information to get in contact with the creator of this news object and comprises a set of sub-properties for proper addressing.

◆ copyrightNotice()

QString Digikam::ItemCopyright::copyrightNotice ( const QString &  languageCode = QString())

This is Photoshop Copyright Notice. This is IPTC Copyright Notice. This is DC Rights. This is dc:rights in XMP. Contains any necessary copyright notice for claiming the intellectual property for this news object and should identify the current owner of the copyright for the news object. Other entities like the creator of the news object may be added. Notes on usage rights should be provided in Rights usage terms. Note on language matching: You can specify a language code. If the requested language is not available, the entry with default language code is returned. If a default-language entry is not available, the first entry is returned. If you pass a null string as languageCode, the local language is returned.

◆ creator()

QStringList Digikam::ItemCopyright::creator ( ) const

This is Photoshop Author. This is IPTC By-line. This is DC creator. This is dc:creator in XMP. Contains preferably the name of the person who created the content of this news object, a photographer for photos, a graphic artist for graphics, or a writer for textual news. If it is not appropriate to add the name of a person the name of a company or organization could be applied as well. Aligning with IIM notions IPTC Core intents to have only one creator for this news object despite the underlying XMP property dc:creator allows for more than one item to be included. If there are more than one item in this array the first one should be considered as the IPTC Core Creator value.

◆ creatorJobTitle()

QString Digikam::ItemCopyright::creatorJobTitle ( ) const

This is Photoshop AuthorsPosition. This is IPTC By-line Title. This is photoshop:AuthorsPosition in XMP. Contains the job title of the person who created the content of this news object. As this is sort of a qualifier the Creator element has to be filled in as mandatory prerequisite for using Creator's Jobtitle.

◆ fillTemplate()

void Digikam::ItemCopyright::fillTemplate ( Template t)

There will not be touched)

◆ instructions()

QString Digikam::ItemCopyright::instructions ( )

This is Photoshop Instructions. This is IPTC Special Instruction. This is photoshop:Instructions in XMP. Any of a number of instructions from the provider or creator to the receiver of the news object which might include any of the following: embargoes (NewsMagazines OUT) and other restrictions not covered by the Rights Usage Terms field; information regarding the original means of capture (scanning notes, colorspace info) or other specific text information that the user may need for accurate reproduction; additional permissions or credits required when publishing.

◆ provider()

QString Digikam::ItemCopyright::provider ( ) const

This is Photoshop Credit. This is IPTC Credit. This is photoshop:Credit in XMP Identifies the provider of the news object, who is not necessarily the owner/creator.

◆ rightsUsageTerms()

QString Digikam::ItemCopyright::rightsUsageTerms ( const QString &  languageCode = QString())

This has no equivalent in Photoshop, IPTC, or DC. This is xmpRights:UsageTerms in XMP. Language matching is done as with copyrightNotice(). Free text instructions on how this news object can be legally used.

◆ setCopyrightNotice()

void Digikam::ItemCopyright::setCopyrightNotice ( const QString &  notice,
const QString &  languageCode = QString(),
ReplaceMode  mode = ReplaceLanguageEntry 
)

If you supply a null QString as language code, this is regarded as an entry for the default language (“x-default”). The ReplaceMode determines how existing entries are handled.

◆ setCreator()

void Digikam::ItemCopyright::setCreator ( const QString &  creator,
ReplaceMode  mode = ReplaceAllEntries 
)

If you want to specify only one creator, set the replace mode to ReplaceAllEntries. If you want to add it to a list of existing entries, pass AddEntryToExisting. You shall not use ReplaceLanguageEntry for this method, creators have no language associated.

◆ setFromTemplate()

void Digikam::ItemCopyright::setFromTemplate ( const Template t)

This does not clear any fields before.

◆ source()

QString Digikam::ItemCopyright::source ( )

This is Photoshop Source. This is IPTC Source. This is photoshop::Source in XMP. Identifies the original owner of the copyright for the intellectual content of the news object. This could be an agency, a member of an agency or an individual. Source could be different from Creator and from the entities in the CopyrightNotice. As the original owner can not change the content of this property should never be changed or deleted after the information is entered following the news object's initial creation.