digiKam
Loading...
Searching...
No Matches
Digikam::MetaEngine::Private Class Reference

#include <metaengine_p.h>

Public Member Functions

QString convertCommentValue (const Exiv2::Exifdatum &exifDatum) const
 
void copyPrivateData (const Private *const other)
 
bool decodeGPSCoordinate (const char *exifTagName, double *const coordinate) const
 
QString detectEncodingAndDecode (const std::string &value) const
 
Exiv2::ByteOrder & exifByteOrder ()
 
const Exiv2::ByteOrder & exifByteOrder () const
 
Exiv2::ExifData & exifMetadata ()
 
const Exiv2::ExifData & exifMetadata () const
 
bool exportChanges (const QString &exvTmpFile) const
 
QString extractIptcTagString (const Exiv2::IptcData &iptcData, const Exiv2::Iptcdatum &iptcTag) const
 
int getXMPTagsListFromPrefix (const QString &pf, MetaEngine::TagsMap &tagsMap) const
 
Exiv2::DataBuf & iccProfileBuf ()
 
const Exiv2::DataBuf & iccProfileBuf () const
 
Exiv2::IptcData & iptcMetadata ()
 
const Exiv2::IptcData & iptcMetadata () const
 
bool isUtf8 (const char *const buffer) const
 
std::string & itemComments ()
 
const std::string & itemComments () const
 
 Private (MetaEngine *const q)
 
bool saveToFile (const QFileInfo &finfo) const
 
bool saveToXMPSidecar (const QFileInfo &finfo) const
 
bool saveUsingExifTool (const QFileInfo &finfo, const QDateTime &modTime) const
 
bool saveUsingExiv2 (const QFileInfo &finfo, const QDateTime &modTime, Exiv2::Image::AutoPtr image) const
 
 ~Private ()=default
 

Static Public Member Functions

static void printExiv2ExceptionError (const QString &msg, Exiv2::AnyError &e)
 
static void printExiv2MessageHandler (int lvl, const char *msg)
 

Public Attributes

QExplicitlySharedDataPointer< MetaEngineData::Privatedata
 
QString filePath
 
bool loadedFromSidecar = false
 XMP, and parts of EXIF/IPTC, were loaded from an XMP sidecar file.
 
int metadataWritingMode = WRITE_TO_FILE_ONLY
 A mode from MetadataWritingMode enum.
 
QString mimeType
 
MetaEngineparent = nullptr
 
QSize pixelSize
 
bool readWithExifTool = false
 
bool updateFileTimeStamp = false
 
bool useCompatibleFileName = false
 
bool useXMPSidecar4Reading = false
 
bool writeDngFiles = false
 
bool writeRawFiles = false
 
bool writeWithExifTool = false
 

Constructor & Destructor Documentation

◆ Private()

Digikam::MetaEngine::Private::Private ( MetaEngine *const  q)
explicit

◆ ~Private()

Digikam::MetaEngine::Private::~Private ( )
default

Member Function Documentation

◆ convertCommentValue()

QString Digikam::MetaEngine::Private::convertCommentValue ( const Exiv2::Exifdatum &  exifDatum) const

Wrapper method to convert a Comments content to a QString.

References Digikam::s_metaEngineMutex.

Referenced by Digikam::MetaEngine::getExifTagComment(), and Digikam::MetaEngine::getExifTagsDataList().

◆ copyPrivateData()

◆ decodeGPSCoordinate()

bool Digikam::MetaEngine::Private::decodeGPSCoordinate ( const char *  exifTagName,
double *const  coordinate 
) const

Decodes Latitude or Longitude from EXIF tag name.

References Digikam::s_metaEngineMutex.

Referenced by Digikam::MetaEngine::getGPSLatitudeNumber(), and Digikam::MetaEngine::getGPSLongitudeNumber().

◆ detectEncodingAndDecode()

QString Digikam::MetaEngine::Private::detectEncodingAndDecode ( const std::string &  value) const

Charset autodetection to convert a string to a QString.

References value.

Referenced by Digikam::MetaEngine::getCommentsDecoded().

◆ exifByteOrder() [1/2]

Exiv2::ByteOrder & Digikam::MetaEngine::Private::exifByteOrder ( )

◆ exifByteOrder() [2/2]

const Exiv2::ByteOrder & Digikam::MetaEngine::Private::exifByteOrder ( ) const

◆ exifMetadata() [1/2]

Exiv2::ExifData & Digikam::MetaEngine::Private::exifMetadata ( )

◆ exifMetadata() [2/2]

const Exiv2::ExifData & Digikam::MetaEngine::Private::exifMetadata ( ) const

References Digikam::MetaEngine::data().

Referenced by Digikam::MetaEngine::clearExif(), Digikam::MetaEngine::exportChanges(), Digikam::MetaEngine::getDigitizationDateTime(), Digikam::MetaEngine::getExifEncoded(), Digikam::MetaEngine::getExifTagComment(), Digikam::MetaEngine::getExifTagData(), Digikam::MetaEngine::getExifTagLong(), Digikam::MetaEngine::getExifTagRational(), Digikam::MetaEngine::getExifTagsDataList(), Digikam::MetaEngine::getExifTagString(), Digikam::MetaEngine::getExifTagVariant(), Digikam::MetaEngine::getExifThumbnail(), Digikam::MetaEngine::getGPSAltitude(), Digikam::MetaEngine::getItemDateTime(), Digikam::MetaEngine::getItemDimensions(), Digikam::MetaEngine::getItemOrientation(), Digikam::MetaEngine::hasExif(), Digikam::MetaEngine::initializeGPSInfo(), Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), Digikam::MetaEngine::loadFromDataAndMerge(), Digikam::MetaEngine::removeExifTag(), Digikam::MetaEngine::removeExifThumbnail(), Digikam::MetaEngine::removeGPSInfo(), Digikam::MetaEngine::setExif(), Digikam::MetaEngine::setExifComment(), Digikam::MetaEngine::setExifTagData(), Digikam::MetaEngine::setExifTagLong(), Digikam::MetaEngine::setExifTagRational(), Digikam::MetaEngine::setExifTagString(), Digikam::MetaEngine::setExifTagURational(), Digikam::MetaEngine::setExifTagUShort(), Digikam::MetaEngine::setExifTagVariant(), Digikam::MetaEngine::setExifThumbnail(), Digikam::MetaEngine::setGPSInfo(), Digikam::MetaEngine::setImageDateTime(), Digikam::MetaEngine::setItemColorWorkSpace(), Digikam::MetaEngine::setItemDimensions(), Digikam::MetaEngine::setItemOrientation(), Digikam::MetaEngine::setItemProgramId(), and Digikam::MetaEngine::setTiffThumbnail().

◆ exportChanges()

bool Digikam::MetaEngine::Private::exportChanges ( const QString &  exvTmpFile) const

◆ extractIptcTagString()

QString Digikam::MetaEngine::Private::extractIptcTagString ( const Exiv2::IptcData &  iptcData,
const Exiv2::Iptcdatum &  iptcTag 
) const

◆ getXMPTagsListFromPrefix()

int Digikam::MetaEngine::Private::getXMPTagsListFromPrefix ( const QString &  pf,
MetaEngine::TagsMap tagsMap 
) const

◆ iccProfileBuf() [1/2]

Exiv2::DataBuf & Digikam::MetaEngine::Private::iccProfileBuf ( )

◆ iccProfileBuf() [2/2]

◆ iptcMetadata() [1/2]

Exiv2::IptcData & Digikam::MetaEngine::Private::iptcMetadata ( )

◆ iptcMetadata() [2/2]

◆ isUtf8()

bool Digikam::MetaEngine::Private::isUtf8 ( const char *const  buffer) const

UTF8 autodetection from a string.

References F, I, T, and X.

◆ itemComments() [1/2]

std::string & Digikam::MetaEngine::Private::itemComments ( )

◆ itemComments() [2/2]

◆ printExiv2ExceptionError()

void Digikam::MetaEngine::Private::printExiv2ExceptionError ( const QString &  msg,
Exiv2::AnyError &  e 
)
static

Generic method to print the Exiv2 C++ Exception error message from 'e'. 'msg' string is printed using qDebug rules.

Referenced by Digikam::MetaEngine::clearExif(), Digikam::MetaEngine::clearIptc(), Digikam::MetaEngine::clearXmp(), Digikam::MetaEngine::createExifUserStringFromValue(), Digikam::MetaEnginePreviews::data(), Digikam::MetaEngine::exportChanges(), Digikam::MetaEngine::getDigitizationDateTime(), Digikam::MetaEngine::getExifEncoded(), Digikam::MetaEngine::getExifTagComment(), Digikam::MetaEngine::getExifTagData(), Digikam::MetaEngine::getExifTagDescription(), Digikam::MetaEngine::getExifTagLong(), Digikam::MetaEngine::getExifTagRational(), Digikam::MetaEngine::getExifTagsDataList(), Digikam::MetaEngine::getExifTagString(), Digikam::MetaEngine::getExifTagTitle(), Digikam::MetaEngine::getExifTagVariant(), Digikam::MetaEngine::getExifThumbnail(), Digikam::MetaEngine::getGPSAltitude(), Digikam::MetaEngine::getIptc(), Digikam::MetaEngine::getIptcKeywords(), Digikam::MetaEngine::getIptcSubCategories(), Digikam::MetaEngine::getIptcSubjects(), Digikam::MetaEngine::getIptcTagData(), Digikam::MetaEngine::getIptcTagDescription(), Digikam::MetaEngine::getIptcTagsDataList(), Digikam::MetaEngine::getIptcTagsList(), Digikam::MetaEngine::getIptcTagsStringList(), Digikam::MetaEngine::getIptcTagString(), Digikam::MetaEngine::getIptcTagTitle(), Digikam::MetaEngine::getItemDateTime(), Digikam::MetaEngine::getItemDimensions(), Digikam::MetaEngine::getItemIccProfile(), Digikam::MetaEngine::getItemOrientation(), Digikam::MetaEngine::getItemPreview(), Digikam::MetaEngine::getMakernoteTagsList(), Digikam::MetaEngine::getStdExifTagsList(), Digikam::MetaEngine::getXmp(), Digikam::MetaEngine::getXmpTagDescription(), Digikam::MetaEngine::getXmpTagsDataList(), Digikam::MetaEngine::getXmpTagString(), Digikam::MetaEngine::getXmpTagStringBag(), Digikam::MetaEngine::getXmpTagStringLangAlt(), Digikam::MetaEngine::getXmpTagStringListLangAlt(), Digikam::MetaEngine::getXmpTagStringSeq(), Digikam::MetaEngine::getXmpTagTitle(), Digikam::MetaEngine::getXmpTagVariant(), Digikam::MetaEngine::initializeGPSInfo(), Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), Digikam::MetaEngine::loadFromDataAndMerge(), Digikam::MetaEngine::loadFromSidecarAndMerge(), Digikam::MetaEnginePreviews::MetaEnginePreviews(), Digikam::MetaEnginePreviews::MetaEnginePreviews(), Digikam::MetaEngine::registerXmpNameSpace(), Digikam::MetaEngine::removeExifTag(), Digikam::MetaEngine::removeExifThumbnail(), Digikam::MetaEngine::removeGPSInfo(), Digikam::MetaEngine::removeIptcTag(), Digikam::MetaEngine::removeXmpTag(), Digikam::MetaEngine::setExif(), Digikam::MetaEngine::setExifComment(), Digikam::MetaEngine::setExifTagData(), Digikam::MetaEngine::setExifTagLong(), Digikam::MetaEngine::setExifTagRational(), Digikam::MetaEngine::setExifTagString(), Digikam::MetaEngine::setExifTagURational(), Digikam::MetaEngine::setExifTagUShort(), Digikam::MetaEngine::setExifTagVariant(), Digikam::MetaEngine::setExifThumbnail(), Digikam::MetaEngine::setGPSInfo(), Digikam::MetaEngine::setImageDateTime(), Digikam::MetaEngine::setIptc(), Digikam::MetaEngine::setIptcKeywords(), Digikam::MetaEngine::setIptcSubCategories(), Digikam::MetaEngine::setIptcSubjects(), Digikam::MetaEngine::setIptcTagData(), Digikam::MetaEngine::setIptcTagsStringList(), Digikam::MetaEngine::setIptcTagString(), Digikam::MetaEngine::setItemColorWorkSpace(), Digikam::MetaEngine::setItemDimensions(), Digikam::MetaEngine::setItemIccProfile(), Digikam::MetaEngine::setItemOrientation(), Digikam::MetaEngine::setItemPreview(), Digikam::MetaEngine::setItemProgramId(), Digikam::MetaEngine::setTiffThumbnail(), Digikam::MetaEngine::setXmp(), Digikam::MetaEngine::setXmpTagString(), Digikam::MetaEngine::setXmpTagString(), Digikam::MetaEngine::setXmpTagStringBag(), Digikam::MetaEngine::setXmpTagStringLangAlt(), Digikam::MetaEngine::setXmpTagStringListLangAlt(), Digikam::MetaEngine::setXmpTagStringSeq(), and Digikam::MetaEngine::unregisterXmpNameSpace().

◆ printExiv2MessageHandler()

void Digikam::MetaEngine::Private::printExiv2MessageHandler ( int  lvl,
const char *  msg 
)
static

Generic method to print debug message from Exiv2. 'msg' string is printed using qDebug rules. 'lvl' is the debug level of Exiv2 message.

References Digikam::s_metaEngineWarnOrError.

Referenced by Private().

◆ saveToFile()

bool Digikam::MetaEngine::Private::saveToFile ( const QFileInfo &  finfo) const

◆ saveToXMPSidecar()

bool Digikam::MetaEngine::Private::saveToXMPSidecar ( const QFileInfo &  finfo) const

◆ saveUsingExifTool()

◆ saveUsingExiv2()

bool Digikam::MetaEngine::Private::saveUsingExiv2 ( const QFileInfo &  finfo,
const QDateTime &  modTime,
Exiv2::Image::AutoPtr  image 
) const

Member Data Documentation

◆ data

QExplicitlySharedDataPointer<MetaEngineData::Private> Digikam::MetaEngine::Private::data

◆ filePath

◆ loadedFromSidecar

bool Digikam::MetaEngine::Private::loadedFromSidecar = false

XMP, and parts of EXIF/IPTC, were loaded from an XMP sidecar file.

Referenced by copyPrivateData().

◆ metadataWritingMode

◆ mimeType

◆ parent

MetaEngine* Digikam::MetaEngine::Private::parent = nullptr

◆ pixelSize

◆ readWithExifTool

bool Digikam::MetaEngine::Private::readWithExifTool = false

◆ updateFileTimeStamp

bool Digikam::MetaEngine::Private::updateFileTimeStamp = false

◆ useCompatibleFileName

bool Digikam::MetaEngine::Private::useCompatibleFileName = false

◆ useXMPSidecar4Reading

◆ writeDngFiles

bool Digikam::MetaEngine::Private::writeDngFiles = false

◆ writeRawFiles

bool Digikam::MetaEngine::Private::writeRawFiles = false

◆ writeWithExifTool

bool Digikam::MetaEngine::Private::writeWithExifTool = false

The documentation for this class was generated from the following files: