![]() |
digiKam
|
#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::Private > | data |
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 |
MetaEngine * | parent = nullptr |
QSize | pixelSize |
bool | readWithExifTool = false |
bool | updateFileTimeStamp = false |
bool | useCompatibleFileName = false |
bool | useXMPSidecar4Reading = false |
bool | writeDngFiles = false |
bool | writeRawFiles = false |
bool | writeWithExifTool = false |
|
explicit |
References printExiv2MessageHandler(), and Digikam::s_metaEngineMutex.
|
default |
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().
void Digikam::MetaEngine::Private::copyPrivateData | ( | const Private *const | other | ) |
References Digikam::MetaEngine::data(), data, filePath, loadedFromSidecar, Digikam::MetaEngine::metadataWritingMode(), metadataWritingMode, mimeType, pixelSize, Digikam::MetaEngine::readWithExifTool(), readWithExifTool, Digikam::s_metaEngineMutex, Digikam::MetaEngine::updateFileTimeStamp(), updateFileTimeStamp, Digikam::MetaEngine::useCompatibleFileName(), useCompatibleFileName, Digikam::MetaEngine::useXMPSidecar4Reading(), useXMPSidecar4Reading, Digikam::MetaEngine::writeDngFiles(), writeDngFiles, Digikam::MetaEngine::writeRawFiles(), writeRawFiles, Digikam::MetaEngine::writeWithExifTool(), and writeWithExifTool.
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().
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().
Exiv2::ByteOrder & Digikam::MetaEngine::Private::exifByteOrder | ( | ) |
References Digikam::MetaEngine::data().
const Exiv2::ByteOrder & Digikam::MetaEngine::Private::exifByteOrder | ( | ) | const |
References Digikam::MetaEngine::data().
Referenced by Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), and Digikam::MetaEngine::loadFromDataAndMerge().
Exiv2::ExifData & Digikam::MetaEngine::Private::exifMetadata | ( | ) |
References Digikam::MetaEngine::data().
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().
bool Digikam::MetaEngine::Private::exportChanges | ( | const QString & | exvTmpFile | ) | const |
QString Digikam::MetaEngine::Private::extractIptcTagString | ( | const Exiv2::IptcData & | iptcData, |
const Exiv2::Iptcdatum & | iptcTag | ||
) | const |
Helper method to decode IPTC tag string contents following characters encoding preset.
References value.
Referenced by Digikam::MetaEngine::getIptcKeywords(), Digikam::MetaEngine::getIptcSubCategories(), Digikam::MetaEngine::getIptcSubjects(), Digikam::MetaEngine::getIptcTagsDataList(), Digikam::MetaEngine::getIptcTagsStringList(), and Digikam::MetaEngine::getIptcTagString().
int Digikam::MetaEngine::Private::getXMPTagsListFromPrefix | ( | const QString & | pf, |
MetaEngine::TagsMap & | tagsMap | ||
) | const |
References Digikam::s_metaEngineMutex.
Referenced by Digikam::MetaEngine::getXmpTagsList().
Exiv2::DataBuf & Digikam::MetaEngine::Private::iccProfileBuf | ( | ) |
References Digikam::MetaEngine::data().
const Exiv2::DataBuf & Digikam::MetaEngine::Private::iccProfileBuf | ( | ) | const |
Exiv2::IptcData & Digikam::MetaEngine::Private::iptcMetadata | ( | ) |
References Digikam::MetaEngine::data().
const Exiv2::IptcData & Digikam::MetaEngine::Private::iptcMetadata | ( | ) | const |
References Digikam::MetaEngine::data().
Referenced by Digikam::MetaEngine::clearIptc(), Digikam::MetaEngine::exportChanges(), Digikam::MetaEngine::getDigitizationDateTime(), Digikam::MetaEngine::getIptc(), Digikam::MetaEngine::getIptcKeywords(), Digikam::MetaEngine::getIptcSubCategories(), Digikam::MetaEngine::getIptcSubjects(), Digikam::MetaEngine::getIptcTagData(), Digikam::MetaEngine::getIptcTagsDataList(), Digikam::MetaEngine::getIptcTagsStringList(), Digikam::MetaEngine::getIptcTagString(), Digikam::MetaEngine::getItemDateTime(), Digikam::MetaEngine::hasIptc(), Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), Digikam::MetaEngine::loadFromDataAndMerge(), Digikam::MetaEngine::removeIptcTag(), 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::setItemPreview(), and Digikam::MetaEngine::setItemProgramId().
bool Digikam::MetaEngine::Private::isUtf8 | ( | const char *const | buffer | ) | const |
std::string & Digikam::MetaEngine::Private::itemComments | ( | ) |
References Digikam::MetaEngine::data().
const std::string & Digikam::MetaEngine::Private::itemComments | ( | ) | const |
References Digikam::MetaEngine::data().
Referenced by Digikam::MetaEngine::exportChanges(), Digikam::MetaEngine::getComments(), Digikam::MetaEngine::getCommentsDecoded(), Digikam::MetaEngine::hasComments(), Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), and Digikam::MetaEngine::setComments().
|
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().
|
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().
bool Digikam::MetaEngine::Private::saveToFile | ( | const QFileInfo & | finfo | ) | const |
References Digikam::s_metaEngineMutex, and Digikam::MetaEngine::writeWithExifTool().
Referenced by Digikam::MetaEngine::save().
bool Digikam::MetaEngine::Private::saveToXMPSidecar | ( | const QFileInfo & | finfo | ) | const |
References Digikam::s_metaEngineMutex, and Digikam::MetaEngine::sidecarFilePathForFile().
Referenced by Digikam::MetaEngine::save().
bool Digikam::MetaEngine::Private::saveUsingExifTool | ( | const QFileInfo & | finfo, |
const QDateTime & | modTime | ||
) | const |
bool Digikam::MetaEngine::Private::saveUsingExiv2 | ( | const QFileInfo & | finfo, |
const QDateTime & | modTime, | ||
Exiv2::Image::AutoPtr | image | ||
) | const |
QExplicitlySharedDataPointer<MetaEngineData::Private> Digikam::MetaEngine::Private::data |
Referenced by copyPrivateData(), Digikam::MetaEngine::data(), and Digikam::MetaEngine::setData().
QString Digikam::MetaEngine::Private::filePath |
Referenced by Digikam::MetaEngine::applyChanges(), copyPrivateData(), Digikam::MetaEngine::getExifEncoded(), Digikam::MetaEngine::getFilePath(), Digikam::MetaEngine::getIptc(), Digikam::MetaEngine::getXmp(), Digikam::MetaEngine::load(), Digikam::MetaEngine::loadFromData(), Digikam::MetaEngine::loadFromDataAndMerge(), Digikam::MetaEngine::loadFromSidecarAndMerge(), Digikam::MetaEngine::setExif(), Digikam::MetaEngine::setFilePath(), Digikam::MetaEngine::setIptc(), Digikam::MetaEngine::setIptcKeywords(), Digikam::MetaEngine::setIptcTagsStringList(), and Digikam::MetaEngine::setXmp().
bool Digikam::MetaEngine::Private::loadedFromSidecar = false |
XMP, and parts of EXIF/IPTC, were loaded from an XMP sidecar file.
Referenced by copyPrivateData().
int Digikam::MetaEngine::Private::metadataWritingMode = WRITE_TO_FILE_ONLY |
A mode from MetadataWritingMode enum.
Referenced by copyPrivateData(), Digikam::MetaEngine::metadataWritingMode(), Digikam::MetaEngine::save(), and Digikam::MetaEngine::setMetadataWritingMode().
QString Digikam::MetaEngine::Private::mimeType |
MetaEngine* Digikam::MetaEngine::Private::parent = nullptr |
QSize Digikam::MetaEngine::Private::pixelSize |
bool Digikam::MetaEngine::Private::readWithExifTool = false |
bool Digikam::MetaEngine::Private::updateFileTimeStamp = false |
bool Digikam::MetaEngine::Private::useCompatibleFileName = false |
bool Digikam::MetaEngine::Private::useXMPSidecar4Reading = false |
bool Digikam::MetaEngine::Private::writeDngFiles = false |
Referenced by copyPrivateData(), Digikam::MetaEngine::setWriteDngFiles(), and Digikam::MetaEngine::writeDngFiles().
bool Digikam::MetaEngine::Private::writeRawFiles = false |
Referenced by copyPrivateData(), Digikam::MetaEngine::setWriteRawFiles(), and Digikam::MetaEngine::writeRawFiles().
bool Digikam::MetaEngine::Private::writeWithExifTool = false |