KExiv2Iface::KExiv2 Class

class KExiv2Iface::KExiv2
Header: #include <KExiv2/KExiv2>
CMake: find_package(KExiv2Qt6 REQUIRED)
target_link_libraries(mytarget PRIVATE KExiv2Qt6)

Public Types

AltLangMap
enum ImageColorWorkSpace { WORKSPACE_UNSPECIFIED, WORKSPACE_SRGB, WORKSPACE_ADOBERGB, WORKSPACE_UNCALIBRATED }
enum ImageOrientation { ORIENTATION_UNSPECIFIED, ORIENTATION_NORMAL, ORIENTATION_HFLIP, ORIENTATION_ROT_180, ORIENTATION_VFLIP, …, ORIENTATION_ROT_270 }
MetaDataMap
enum MetadataWritingMode { WRITETOIMAGEONLY, WRITETOSIDECARONLY, WRITETOSIDECARANDIMAGE, WRITETOSIDECARONLY4READONLYFILES }
TagsMap
enum XmpTagType { NormalTag, ArrayBagTag, StructureTag, ArrayLangTag, ArraySeqTag }

Public Functions

KExiv2()
KExiv2(const KExiv2Iface::KExiv2Data &data)
KExiv2(const QString &filePath)
KExiv2(const KExiv2Iface::KExiv2 &metadata)
virtual ~KExiv2()
bool addToXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToAdd, bool setProgramName) const
bool applyChanges() const
bool clearComments() const
bool clearExif() const
bool clearIptc() const
bool clearXmp() const
QString createExifUserStringFromValue(const char *exifTagName, const QVariant &val, bool escapeCR = true)
KExiv2Iface::KExiv2Data data() const
QByteArray getComments() const
QString getCommentsDecoded() const
QDateTime getDigitizationDateTime(bool fallbackToCreationTime = false) const
QString getExifComment() const
QByteArray getExifEncoded(bool addExifHeader = false) const
QByteArray getExifTagData(const char *exifTagName) const
QString getExifTagDescription(const char *exifTagName)
bool getExifTagLong(const char *exifTagName, long &val) const
bool getExifTagLong(const char *exifTagName, long &val, int component) const
bool getExifTagRational(const char *exifTagName, long &num, long &den, int component = 0) const
QString getExifTagString(const char *exifTagName, bool escapeCR = true) const
QString getExifTagTitle(const char *exifTagName)
QVariant getExifTagVariant(const char *exifTagName, bool rationalAsListOfInts = true, bool escapeCR = true, int component = 0) const
KExiv2Iface::KExiv2::MetaDataMap getExifTagsDataList(const QStringList &exifKeysFilter = QStringList(), bool invertSelection = false) const
QImage getExifThumbnail(bool fixOrientation) const
QString getFilePath() const
bool getGPSAltitude(double *const altitude) const
bool getGPSInfo(double &altitude, double &latitude, double &longitude) const
bool getGPSLatitudeNumber(double *const latitude) const
QString getGPSLatitudeString() const
bool getGPSLongitudeNumber(double *const longitude) const
QString getGPSLongitudeString() const
KExiv2Iface::KExiv2::ImageColorWorkSpace getImageColorWorkSpace() const
QDateTime getImageDateTime() const
QSize getImageDimensions() const
KExiv2Iface::KExiv2::ImageOrientation getImageOrientation() const
bool getImagePreview(QImage &preview) const
QByteArray getIptc(bool addIrbHeader = false) const
QStringList getIptcKeywords() const
QStringList getIptcSubCategories() const
QStringList getIptcSubjects() const
QByteArray getIptcTagData(const char *iptcTagName) const
QString getIptcTagDescription(const char *iptcTagName)
QString getIptcTagString(const char *iptcTagName, bool escapeCR = true) const
QString getIptcTagTitle(const char *iptcTagName)
KExiv2Iface::KExiv2::MetaDataMap getIptcTagsDataList(const QStringList &iptcKeysFilter = QStringList(), bool invertSelection = false) const
KExiv2Iface::KExiv2::TagsMap getIptcTagsList() const
QStringList getIptcTagsStringList(const char *iptcTagName, bool escapeCR = true) const
KExiv2Iface::KExiv2::TagsMap getMakernoteTagsList() const
QString getMimeType() const
QSize getPixelSize() const
KExiv2Iface::KExiv2::TagsMap getStdExifTagsList() const
QByteArray getXmp() const
QStringList getXmpKeywords() const
QStringList getXmpSubCategories() const
QStringList getXmpSubjects() const
QString getXmpTagDescription(const char *xmpTagName)
QString getXmpTagString(const char *xmpTagName, bool escapeCR = true) const
QStringList getXmpTagStringBag(const char *xmpTagName, bool escapeCR) const
QString getXmpTagStringLangAlt(const char *xmpTagName, const QString &langAlt, bool escapeCR) const
KExiv2Iface::KExiv2::AltLangMap getXmpTagStringListLangAlt(const char *xmpTagName, bool escapeCR = true) const
QStringList getXmpTagStringSeq(const char *xmpTagName, bool escapeCR = true) const
QString getXmpTagTitle(const char *xmpTagName)
QVariant getXmpTagVariant(const char *xmpTagName, bool rationalAsListOfInts = true, bool stringEscapeCR = true) const
KExiv2Iface::KExiv2::MetaDataMap getXmpTagsDataList(const QStringList &xmpKeysFilter = QStringList(), bool invertSelection = false) const
KExiv2Iface::KExiv2::TagsMap getXmpTagsList() const
bool hasComments() const
bool hasExif() const
bool hasIptc() const
bool hasXmp() const
bool initializeGPSInfo(const bool setProgramName)
bool isEmpty() const
virtual bool load(const QString &filePath) const
bool loadFromData(const QByteArray &imgData) const
int metadataWritingMode() const
bool removeExifTag(const char *exifTagName, bool setProgramName = true) const
bool removeExifThumbnail() const
bool removeFromXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToRemove, bool setProgramName) const
bool removeGPSInfo(const bool setProgramName = true)
bool removeIptcTag(const char *iptcTagName, bool setProgramName = true) const
bool removeXmpKeywords(const QStringList &keywordsToRemove, bool setProgramName = true)
bool removeXmpSubCategories(const QStringList &categoriesToRemove, bool setProgramName = true)
bool removeXmpSubjects(const QStringList &subjectsToRemove, bool setProgramName = true)
bool removeXmpTag(const char *xmpTagName, bool setProgramName = true) const
bool rotateExifQImage(QImage &image, KExiv2Iface::KExiv2::ImageOrientation orientation) const
bool save(const QString &filePath) const
bool setComments(const QByteArray &data) const
void setData(const KExiv2Iface::KExiv2Data &data)
bool setExif(const QByteArray &data) const
bool setExifComment(const QString &comment, bool setProgramName = true) const
bool setExifTagData(const char *exifTagName, const QByteArray &data, bool setProgramName = true) const
bool setExifTagLong(const char *exifTagName, long val, bool setProgramName = true) const
bool setExifTagRational(const char *exifTagName, long num, long den, bool setProgramName = true) const
bool setExifTagString(const char *exifTagName, const QString &value, bool setProgramName = true) const
bool setExifTagVariant(const char *exifTagName, const QVariant &data, bool rationalWantSmallDenominator = true, bool setProgramName = true) const
bool setExifThumbnail(const QImage &thumb, bool setProgramName = true) const
void setFilePath(const QString &path)
bool setGPSInfo(const double altitude, const QString &latitude, const QString &longitude, const bool setProgramName = true)
bool setGPSInfo(const double altitude, const double latitude, const double longitude, const bool setProgramName = true)
bool setGPSInfo(const double *const altitude, const double latitude, const double longitude, const bool setProgramName = true)
bool setImageColorWorkSpace(KExiv2Iface::KExiv2::ImageColorWorkSpace workspace, bool setProgramName = true) const
bool setImageDateTime(const QDateTime &dateTime, bool setDateTimeDigitized = false, bool setProgramName = true) const
bool setImageDimensions(const QSize &size, bool setProgramName = true) const
bool setImageOrientation(KExiv2Iface::KExiv2::ImageOrientation orientation, bool setProgramName = true) const
virtual bool setImagePreview(const QImage &preview, bool setProgramName = true) const
bool setImageProgramId(const QString &program, const QString &version) const
bool setIptc(const QByteArray &data) const
bool setIptcKeywords(const QStringList &oldKeywords, const QStringList &newKeywords, bool setProgramName = true) const
bool setIptcSubCategories(const QStringList &oldSubCategories, const QStringList &newSubCategories, bool setProgramName = true) const
bool setIptcSubjects(const QStringList &oldSubjects, const QStringList &newSubjects, bool setProgramName = true) const
bool setIptcTagData(const char *iptcTagName, const QByteArray &data, bool setProgramName = true) const
bool setIptcTagString(const char *iptcTagName, const QString &value, bool setProgramName = true) const
bool setIptcTagsStringList(const char *iptcTagName, int maxSize, const QStringList &oldValues, const QStringList &newValues, bool setProgramName = true) const
void setMetadataWritingMode(const int mode)
bool setTiffThumbnail(const QImage &thumb, bool setProgramName = true) const
void setUpdateFileTimeStamp(bool on)
void setUseXMPSidecar4Reading(const bool on)
void setWriteRawFiles(const bool on)
bool setXmp(const QByteArray &data) const
bool setXmpKeywords(const QStringList &newKeywords, bool setProgramName = true) const
bool setXmpSubCategories(const QStringList &newSubCategories, bool setProgramName = true) const
bool setXmpSubjects(const QStringList &newSubjects, bool setProgramName = true) const
bool setXmpTagString(const char *xmpTagName, const QString &value, bool setProgramName = true) const
bool setXmpTagString(const char *xmpTagName, const QString &value, KExiv2Iface::KExiv2::XmpTagType type, bool setProgramName = true) const
bool setXmpTagStringBag(const char *xmpTagName, const QStringList &bag, bool setProgramName = true) const
bool setXmpTagStringLangAlt(const char *xmpTagName, const QString &value, const QString &langAlt, bool setProgramName = true) const
bool setXmpTagStringListLangAlt(const char *xmpTagName, const KExiv2Iface::KExiv2::AltLangMap &values, bool setProgramName) const
bool setXmpTagStringSeq(const char *xmpTagName, const QStringList &seq, bool setProgramName = true) const
bool updateFileTimeStamp() const
bool useXMPSidecar4Reading() const
bool writeRawFiles() const
KExiv2Iface::KExiv2 &operator=(const KExiv2Iface::KExiv2 &metadata)

Static Public Members

QString Exiv2Version()
bool canWriteComment(const QString &filePath)
bool canWriteExif(const QString &filePath)
bool canWriteIptc(const QString &filePath)
bool canWriteXmp(const QString &filePath)
bool cleanupExiv2()
bool convertFromGPSCoordinateString(const QString &gpsString, double *const coordinate)
bool convertFromGPSCoordinateString(const QString &coordinate, long *const numeratorDegrees, long *const denominatorDegrees, long *const numeratorMinutes, long *const denominatorMinutes, long *const numeratorSeconds, long *const denominatorSeconds, char *const directionReference)
QString convertToGPSCoordinateString(const bool isLatitude, double coordinate)
QString convertToGPSCoordinateString(const long numeratorDegrees, const long denominatorDegrees, const long numeratorMinutes, const long denominatorMinutes, const long numeratorSeconds, long denominatorSeconds, const char directionReference)
void convertToRational(const double number, long *const numerator, long *const denominator, const int rounding)
void convertToRationalSmallDenominator(const double number, long *const numerator, long *const denominator)
bool convertToUserPresentableNumbers(const QString &coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
void convertToUserPresentableNumbers(const bool isLatitude, double coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)
QString detectLanguageAlt(const QString &value, QString &lang)
bool hasSidecar(const QString &path)
bool initializeExiv2()
bool registerXmpNameSpace(const QString &uri, const QString &prefix)
QString sidecarFilePathForFile(const QString &path)
QString sidecarPath(const QString &path)
QUrl sidecarUrl(const QString &path)
QUrl sidecarUrl(const QUrl &url)
bool supportMetadataWritting(const QString &typeMime)
bool supportXmp()
bool unregisterXmpNameSpace(const QString &uri)
QString version()

Protected Functions

virtual bool setProgramId(bool on = true) const

Detailed Description

Member Type Documentation

KExiv2::AltLangMap

A map used to store a list of Alternative Language values.

The map key is the language code following RFC3066 notation (like "fr-FR" for French), and the map value the text.

enum KExiv2::ImageColorWorkSpace

The image color workspace values given by Exif metadata.

ConstantValue
KExiv2Iface::KExiv2::WORKSPACE_UNSPECIFIED0
KExiv2Iface::KExiv2::WORKSPACE_SRGB1
KExiv2Iface::KExiv2::WORKSPACE_ADOBERGB2
KExiv2Iface::KExiv2::WORKSPACE_UNCALIBRATED65535

enum KExiv2::ImageOrientation

The image orientation values given by Exif metadata.

ConstantValue
KExiv2Iface::KExiv2::ORIENTATION_UNSPECIFIED0
KExiv2Iface::KExiv2::ORIENTATION_NORMAL1
KExiv2Iface::KExiv2::ORIENTATION_HFLIP2
KExiv2Iface::KExiv2::ORIENTATION_ROT_1803
KExiv2Iface::KExiv2::ORIENTATION_VFLIP4
KExiv2Iface::KExiv2::ORIENTATION_ROT_90_HFLIP5
KExiv2Iface::KExiv2::ORIENTATION_ROT_906
KExiv2Iface::KExiv2::ORIENTATION_ROT_90_VFLIP7
KExiv2Iface::KExiv2::ORIENTATION_ROT_2708

KExiv2::MetaDataMap

A map used to store Tags Key and Tags Value.

enum KExiv2::MetadataWritingMode

The image metadata writing mode, between image file metadata and XMP sidecar file, depending on the context.

ConstantValueDescription
KExiv2Iface::KExiv2::WRITETOIMAGEONLY0Write metadata to image file only.
KExiv2Iface::KExiv2::WRITETOSIDECARONLY1Write metadata to sidecar file only.
KExiv2Iface::KExiv2::WRITETOSIDECARANDIMAGE2Write metadata to image and sidecar files.
KExiv2Iface::KExiv2::WRITETOSIDECARONLY4READONLYFILES3Write metadata to sidecar file only for read only images such as RAW files for example.

See also metadataWritingMode().

KExiv2::TagsMap

A map used to store Tags Key and a list of Tags properties:

  • name
  • title
  • description

enum KExiv2::XmpTagType

Xmp tag types, used by setXmpTag, only first three types are used.

ConstantValue
KExiv2Iface::KExiv2::NormalTag0
KExiv2Iface::KExiv2::ArrayBagTag1
KExiv2Iface::KExiv2::StructureTag2
KExiv2Iface::KExiv2::ArrayLangTag3
KExiv2Iface::KExiv2::ArraySeqTag4

Member Function Documentation

KExiv2::KExiv2()

Standard constructor.

KExiv2::KExiv2(const KExiv2Iface::KExiv2Data &data)

Constructor to load from parsed data.

KExiv2::KExiv2(const QString &filePath)

Contructor to load metadata from an image in filePath.

KExiv2::KExiv2(const KExiv2Iface::KExiv2 &metadata)

Copy constructor.

[virtual noexcept] KExiv2::~KExiv2()

Standard destructor.

[static] QString KExiv2::Exiv2Version()

Returns a string version of Exiv2 release in format "major.minor.patch".

bool KExiv2::addToXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToAdd, bool setProgramName) const

Sets an XMP tag content xmpTagName using a list of strings defined by the entriesToAdd.

The existing entries are preserved.

This method will compare all new entries with all already existing entries to prevent duplicates in the image.

Returns true if the entries have been added to metadata.

bool KExiv2::applyChanges() const

The same as save(), but it applies to the current image.

Returns true if the metadata has been saved into file.

[static] bool KExiv2::canWriteComment(const QString &filePath)

Returns true if Comments can be written in file in the given filePath.

[static] bool KExiv2::canWriteExif(const QString &filePath)

Returns true if Exif can be written to the file in the given filePath.

[static] bool KExiv2::canWriteIptc(const QString &filePath)

Returns true if IPTC can be written to file in the given filePath.

[static] bool KExiv2::canWriteXmp(const QString &filePath)

Returns true if XMP can be written to file in filePath.

[static] bool KExiv2::cleanupExiv2()

Returns true if Exiv2 library memory allocations are cleaned properly.

This method must be called after using libkexiv2 with multithreading.

It cleans up memory used by Adobe XMP SDK.

See B.K.O #166424 for details.

bool KExiv2::clearComments() const

Clears the Comments metadata container in memory.

bool KExiv2::clearExif() const

Clears the Exif metadata container in memory.

bool KExiv2::clearIptc() const

Clears the IPTC metadata container in memory.

bool KExiv2::clearXmp() const

Clears the XMP metadata container in memory.

[static] bool KExiv2::convertFromGPSCoordinateString(const QString &gpsString, double *const coordinate)

Converts a GPSCoordinate string as defined by XMP to a double floating point number in degrees where the sign determines the direction ref (North + / South - ; East + / West -).

Returns true if the conversion was successful.

[static] bool KExiv2::convertFromGPSCoordinateString(const QString &coordinate, long *const numeratorDegrees, long *const denominatorDegrees, long *const numeratorMinutes, long *const denominatorMinutes, long *const numeratorSeconds, long *const denominatorSeconds, char *const directionReference)

Converts a GPSCoordinate string as defined by XMP to three rationals and the direction reference.

Returns true if the conversion was successful.

If minutes is given in the fractional form, a denominator of 1000000 for the minutes will be used.

[static] QString KExiv2::convertToGPSCoordinateString(const bool isLatitude, double coordinate)

Converts a GPS position stored as double floating point number in degrees to the form described as GPSCoordinate in the XMP specification.

[static] QString KExiv2::convertToGPSCoordinateString(const long numeratorDegrees, const long denominatorDegrees, const long numeratorMinutes, const long denominatorMinutes, const long numeratorSeconds, long denominatorSeconds, const char directionReference)

Converts a GPS position stored as rationals in Exif to the form described as GPSCoordinate in the XMP specification, either in the from "256,45,34N" or "256,45.566667N"

[static] void KExiv2::convertToRational(const double number, long *const numerator, long *const denominator, const int rounding)

Converts number to a rational value, returned in the numerator and denominator parameters.

Set the precision using the rounding parameter.

Use this method if you want to retrieve a most exact rational for a number without further properties, without any requirements for the denominator.

[static] void KExiv2::convertToRationalSmallDenominator(const double number, long *const numerator, long *const denominator)

Converts a number to a rational value, returned in the numerator and denominator parameters.

This method will be able to retrieve a rational number from a double.

If you constructed your double with 1.0 / 4786.0, this method will retrieve 1 / 4786.

If your number is not expected to be rational, use convertToRational() which is just as exact with rounding = 4 and more exact with rounding > 4.

[static] bool KExiv2::convertToUserPresentableNumbers(const QString &coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)

Converts a GPSCoordinate string to user presentable numbers, integer degrees and minutes and double floating point seconds, and a direction reference ('N' or 'S', 'E' or 'W').

[static] void KExiv2::convertToUserPresentableNumbers(const bool isLatitude, double coordinate, int *const degrees, int *const minutes, double *const seconds, char *const directionReference)

Converts a double floating point number to user presentable numbers, integer degrees and minutes and double floating point seconds, and a direction reference ('N' or 'S', 'E' or 'W').

This method needs to know for the direction reference if the latitude or the longitude is meant by the double parameter.

QString KExiv2::createExifUserStringFromValue(const char *exifTagName, const QVariant &val, bool escapeCR = true)

Takes a QVariant value val as it could have been retrieved by getExifTagVariant() with the given exifTagName, and returns its value properly converted to a string (including translations from Exiv2).

This is equivalent to calling getExifTagString() directly.

If escapeCR is true CR characters will be removed from the result.

KExiv2Iface::KExiv2Data KExiv2::data() const

See also setData().

[static] QString KExiv2::detectLanguageAlt(const QString &value, QString &lang)

Language Alternative autodetection.

Returns a QString without language alternative header.

Header is saved into lang. If no language alternative is found, value is returned as well and lang is set to a null string.

QByteArray KExiv2::getComments() const

Returns a Qt byte array copy of Comments container acquired from the current image.

Comments are a JFIF section of JPEG images.

Look at the Exiv2 API for more information.

Returns a null Qt byte array if there is no Comments metadata in memory.

QString KExiv2::getCommentsDecoded() const

Returns a Qt string object of Comments from the current image decoded using detectEncodingAndDecode().

Returns a null string if there is no Comments metadata available.

QDateTime KExiv2::getDigitizationDateTime(bool fallbackToCreationTime = false) const

Returns the digitization timestamp of the image.

First Exif information is checked, then IPTC.

If no digitization timestamp is found, getImageDateTime() is called if fallbackToCreationTime is true, or a null QDateTime is returned if fallbackToCreationTime is false.

QString KExiv2::getExifComment() const

Returns a QString copy of Exif user comments.

Returns a null string if user comments cannot be found.

QByteArray KExiv2::getExifEncoded(bool addExifHeader = false) const

Returns the Exif data encoded to a QByteArray in a form suitable for storage in a JPEG image.

Note: This encoding is a lossy operation.

Set addExifHeader to true to add an Exif header to the Exif metadata.

Returns a null Qt byte array if there is no Exif metadata in memory.

QByteArray KExiv2::getExifTagData(const char *exifTagName) const

Gets an Exif tag content exifTagName as a byte array.

Returns an empty byte array if the Exif tag cannot be found.

QString KExiv2::getExifTagDescription(const char *exifTagName)

Returns the Exif Tag description for the exifTagName or a null string.

bool KExiv2::getExifTagLong(const char *exifTagName, long &val) const

Gets an Exif tag content exifTagName as a long value val.

Returns true if the Exif tag is found.

bool KExiv2::getExifTagLong(const char *exifTagName, long &val, int component) const

Gets an Exif tag content exifTagName as a long value val.

Returns true if the Exif tag be found.

bool KExiv2::getExifTagRational(const char *exifTagName, long &num, long &den, int component = 0) const

Gets the component index of an Exif tags content exifTagName as a rational value with the numerator num and denominator den.

Returns true if the Exif tag is found.

QString KExiv2::getExifTagString(const char *exifTagName, bool escapeCR = true) const

Gets an Exif tags content exifTagName as a string.

If escapeCR is true, the CR characters will be removed.

Returns a null string if the Exif tag cannot be found.

QString KExiv2::getExifTagTitle(const char *exifTagName)

Returns the Exif Tag title for the exifTagName or a null string.

QVariant KExiv2::getExifTagVariant(const char *exifTagName, bool rationalAsListOfInts = true, bool escapeCR = true, int component = 0) const

Gets an Exif tags content exifTagName as a QVariant.

Returns a null QVariant if the Exif tag cannot be found.

For string and integer values the matching QVariant types will be used, for date and time values QVariant::DateTime.

Rationals will be returned as QVariant::List with two integer QVariants (numerator, denominator) if rationalAsListOfInts is true, as double if rationalAsListOfInts is false.

An exif tag of numerical type may contain more than one value; set component to the desired index.

KExiv2Iface::KExiv2::MetaDataMap KExiv2::getExifTagsDataList(const QStringList &exifKeysFilter = QStringList(), bool invertSelection = false) const

Returns a map of Exif tags name/value found in the metadata sorted by Exif keys given by exifKeysFilter.

The exifKeysFilter is a QStringList of Exif keys.

For example, if you use the string list given below:

"Iop"

"Thumbnail"

"Image"

"Photo"

The list can be empty to not filter output.

Given the above example, this method will return a map of all Exif tags which:

  • will include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if invertSelection is false.
  • will not include "Iop", or "Thumbnail", or "Image", or "Photo" in the Exif tag keys if invertSelection is true.

QImage KExiv2::getExifThumbnail(bool fixOrientation) const

Returns a QImage copy of the Exif thumbnail image.

Returns a null image if the thumbnail cannot be found.

The fixOrientation parameter will rotate the thumbnail automatically if Exif orientation tags information is attached to the thumbnail.

QString KExiv2::getFilePath() const

Returns the file path of the current image.

bool KExiv2::getGPSAltitude(double *const altitude) const

Gets GPS altitude information, in meters, relative to sea level (positive sign above sea level).

bool KExiv2::getGPSInfo(double &altitude, double &latitude, double &longitude) const

Gets all GPS location information set in the image.

Returns true if all information can be found.

bool KExiv2::getGPSLatitudeNumber(double *const latitude) const

Gets GPS location information set in the image, as a double floating point number as in degrees where the sign determines the direction ref (North + / South - ; East + / West -).

Returns true if the information is available.

QString KExiv2::getGPSLatitudeString() const

Gets GPS location information set in the image, in the GPSCoordinate format as described in the XMP specification.

Returns a null string if the information cannot be found.

bool KExiv2::getGPSLongitudeNumber(double *const longitude) const

Gets GPS location information set in the image, as a double floating point number as in degrees where the sign determines the direction ref (North + / South - ; East + / West -).

Returns true if the information is available.

QString KExiv2::getGPSLongitudeString() const

Gets GPS location information set in the image, in the GPSCoordinate format as described in the XMP specification.

Returns a null string in the information cannot be found.

KExiv2Iface::KExiv2::ImageColorWorkSpace KExiv2::getImageColorWorkSpace() const

Returns the image color-space set in Exif metadata.

The makernotes of the image are also parsed to get this information.

See also ImageColorWorkSpace.

QDateTime KExiv2::getImageDateTime() const

Returns the timestamp of the image.

First Exif information is checked, then IPTC if the image don't have Exif information.

If no timestamp is found, a null date is returned.

QSize KExiv2::getImageDimensions() const

Returns the size of the image in pixels using Exif tags.

Returns a null dimension if size cannot be found.

KExiv2Iface::KExiv2::ImageOrientation KExiv2::getImageOrientation() const

Returns the image orientation set in Exif metadata.

The makernotes of image are also parsed to get this information.

See also ImageOrientation.

bool KExiv2::getImagePreview(QImage &preview) const

Returns a QImage copy of the IPTC preview image.

Returns a null image if the preview cannot be found.

QByteArray KExiv2::getIptc(bool addIrbHeader = false) const

Returns a Qt byte array copy of the IPTC container acquired from the current image.

Set addIrbHeader to true to add an Irb header to IPTC metadata.

Returns a null QByteArray if there is no IPTC metadata in memory.

QStringList KExiv2::getIptcKeywords() const

Returns a strings list of IPTC keywords from the image.

Returns an empty list if no keywords are set.

QStringList KExiv2::getIptcSubCategories() const

Returns a strings list of IPTC subcategories from the image.

Returns an empty list if no subcategory is set.

QStringList KExiv2::getIptcSubjects() const

Returns a strings list of IPTC subjects from the image.

Returns an empty list if no subjects are set.

QByteArray KExiv2::getIptcTagData(const char *iptcTagName) const

Gets an IPTC tag content iptcTagName as a byte array.

Returns an empty byte array if the IPTC tag cannot be found.

QString KExiv2::getIptcTagDescription(const char *iptcTagName)

Returns the IPTC Tag description for iptcTagName or a null string.

QString KExiv2::getIptcTagString(const char *iptcTagName, bool escapeCR = true) const

Gets an IPTC tag content iptcTagName as a string.

If escapeCR is set to true, the CR characters will be removed.

Returns a null string if the IPTC tag cannot be found.

QString KExiv2::getIptcTagTitle(const char *iptcTagName)

Returns the IPTC Tag title for iptcTagName or a null string.

KExiv2Iface::KExiv2::MetaDataMap KExiv2::getIptcTagsDataList(const QStringList &iptcKeysFilter = QStringList(), bool invertSelection = false) const

Returns a map of IPTC tags name/value found in the metadata sorted by IPTC keys given by iptcKeysFilter.

iptcKeysFilter is a QStringList of IPTC keys.

For example, if you use the string list given below:

"Envelope"

"Application2"

List can be empty to not filter output.

Given the above example, this method will return a map of all IPTC tags which:

  • will include "Envelope", or "Application2" in the IPTC tag keys if invertSelection is false.
  • will not include "Envelope", or "Application2" in the IPTC tag keys if invertSelection is true.

KExiv2Iface::KExiv2::TagsMap KExiv2::getIptcTagsList() const

Returns a map of all standard IPTC tags supported by Exiv2.

QStringList KExiv2::getIptcTagsStringList(const char *iptcTagName, bool escapeCR = true) const

Gets the values of all IPTC tags with the given tag name iptcTagName in a string list.

Returns an empty list if no tag is found.

(In IPTC, there can be multiple tags with the same name)

If escapeCR is set to true, the CR characters will be removed.

KExiv2Iface::KExiv2::TagsMap KExiv2::getMakernoteTagsList() const

Returns a map of all non-standard Exif tags (makernotes) supported by Exiv2.

QString KExiv2::getMimeType() const

Returns the mime type of this image.

The information is read from the file; see getPixelSize() to know when it is available.

QSize KExiv2::getPixelSize() const

Returns the pixel size of the current image.

This information is read from the file, not from the metadata.

The returned QSize is valid if the KExiv2 object was constructed by reading a file or image data; the information is not available when the object was created from KExiv2Data.

Note that in the Exif or XMP metadata, there may be fields describing the image size. These fields are not accessed by this method.

When replacing the metadata with setData(), the metadata may change; this information always keeps referring to the file it was initially read from.

KExiv2Iface::KExiv2::TagsMap KExiv2::getStdExifTagsList() const

Returns a map of all standard Exif tags supported by Exiv2.

QByteArray KExiv2::getXmp() const

Returns a QByteArray copy of the XMP container acquired from the current image.

Returns a null QByteArray if there is no XMP metadata in memory.

QStringList KExiv2::getXmpKeywords() const

Returns a strings list of XMP keywords from the image.

Returns a null string list if no keywords are set.

QStringList KExiv2::getXmpSubCategories() const

Returns a string list of XMP subcategories from the image.

Returns a null string list if no subcategories are set.

QStringList KExiv2::getXmpSubjects() const

Returns a string list of XMP subjects from the image.

Returns a null string list if no subjects are set.

QString KExiv2::getXmpTagDescription(const char *xmpTagName)

Returns the XMP Tag description for xmpTagName or a null string.

QString KExiv2::getXmpTagString(const char *xmpTagName, bool escapeCR = true) const

Gets an XMP tag content xmpTagName as a string.

If escapeCR is set to true, the CR characters will be removed.

Returns a null string if the XMP tag cannot be found.

QStringList KExiv2::getXmpTagStringBag(const char *xmpTagName, bool escapeCR) const

Gets an XMP tag content xmpTagName as a bag of strings.

If escapeCR is set to true, the CR characters will be removed from strings.

Returns a null string list if the XMP tag cannot be found.

QString KExiv2::getXmpTagStringLangAlt(const char *xmpTagName, const QString &langAlt, bool escapeCR) const

Gets an XMP tag content xmpTagName as a string set with an alternative language header langAlt (like "fr-FR" for French - RFC3066 notation).

If escapeCR is set to true, the CR characters will be removed.

Returns a null string if the XMP tag cannot be found.

KExiv2Iface::KExiv2::AltLangMap KExiv2::getXmpTagStringListLangAlt(const char *xmpTagName, bool escapeCR = true) const

Gets all redundant Alternative Language XMP tags content xmpTagName as a map.

See AltLangMap class description for details.

If escapeCR is set to true, the CR characters will be removed from strings.

Returns null string list if the XMP tag cannot be found.

QStringList KExiv2::getXmpTagStringSeq(const char *xmpTagName, bool escapeCR = true) const

Gets an XMP tag content xmpTagName as a sequence of strings.

If escapeCR is set to true, the CR characters will be removed from strings.

Returns a null string list if the XMP tag cannot be found.

QString KExiv2::getXmpTagTitle(const char *xmpTagName)

Returns the XMP Tag title for xmpTagName or a null string.

QVariant KExiv2::getXmpTagVariant(const char *xmpTagName, bool rationalAsListOfInts = true, bool stringEscapeCR = true) const

Gets an XMP tag content xmpTagName as a QVariant.

Returns a null QVariant if the XMP tag cannot be found.

For string and integer values the matching QVariant types will be used, for date and time values QVariant::DateTime.

Rationals will be returned as QVariant::List with two integer QVariants (numerator, denominator) if rationalAsListOfInts is true, as double if rationalAsListOfInts is false.

Arrays (ordered, unordered, alternative) are returned as a QStringList.

LangAlt values will have type Map (QMap<QString, QVariant>) with the language code as key and the contents as value, of type QString.

KExiv2Iface::KExiv2::MetaDataMap KExiv2::getXmpTagsDataList(const QStringList &xmpKeysFilter = QStringList(), bool invertSelection = false) const

Returns a map of XMP tags name/value pairs found in the metadata sorted by XMP keys given by xmpKeysFilter.

xmpKeysFilter is a QStringList of XMP keys.

For example, if you use the string list given below:

"dc" // Dubling Core schema.

"xmp" // Standard XMP schema.

List can be empty to not filter output.

Given the above example, this method will return a map of all XMP tags which:

  • will include "dc", or "xmp" in the XMP tag keys if invertSelection is false.
  • will not include "dc", or "xmp" in the XMP tag keys if invertSelection is true.

KExiv2Iface::KExiv2::TagsMap KExiv2::getXmpTagsList() const

Returns a map of all standard XMP tags supported by Exiv2.

bool KExiv2::hasComments() const

Returns true if metadata container in memory has Comments.

bool KExiv2::hasExif() const

Returns true if the metadata container in memory has Exif.

bool KExiv2::hasIptc() const

Returns true if metadata container in memory has IPTC.

[static] bool KExiv2::hasSidecar(const QString &path)

Performs a QFileInfo based check if the file in the given file path has a sidecar.

bool KExiv2::hasXmp() const

Returns true if the metadata container in memory has XMP.

[static] bool KExiv2::initializeExiv2()

Returns true if Exiv2 library initialization is done properly.

This method must be called before using libkexiv2 with multithreading.

It initializes several non re-entrancy code from Adobe XMP SDK.

See B.K.O #166424 for details.

Call cleanupExiv2() to clean things up later.

bool KExiv2::initializeGPSInfo(const bool setProgramName)

Makes sure all static required GPS EXIF and XMP tags exist.

bool KExiv2::isEmpty() const

Returns true if the metadata container in memory has no Comments, Exif, IPTC, and XMP.

[virtual] bool KExiv2::load(const QString &filePath) const

Load all metadata (Exif, IPTC, XMP, and JFIF Comments) from a picture (JPEG, RAW, TIFF, PNG, DNG, etc...).

Returns true if the metadata has been loaded successfully from file in filePath.

bool KExiv2::loadFromData(const QByteArray &imgData) const

Load all metadata (Exif, IPTC, XMP, and JFIF Comments) from a byte array.

Returns true if the metadata has been loaded successfully from imgData.

int KExiv2::metadataWritingMode() const

Returns the metadata writing mode.

See also MetadataWritingMode and setMetadataWritingMode().

[static] bool KExiv2::registerXmpNameSpace(const QString &uri, const QString &prefix)

Registers a namespace which Exiv2 doesn't know yet.

This is only needed when new XMP properties are added manually.

The uri is the namespace url and prefix the string used to construct new XMP key.

Note: If the XMP metadata is read from an image, namespaces are decoded and registered by Exiv2 at the same time.

bool KExiv2::removeExifTag(const char *exifTagName, bool setProgramName = true) const

Removes the Exif tag exifTagName from the Exif metadata.

Returns true if the Exif tag is removed successfully or if no tag was present.

bool KExiv2::removeExifThumbnail() const

Remove the Exif thumbnail from the image.

bool KExiv2::removeFromXmpTagStringBag(const char *xmpTagName, const QStringList &entriesToRemove, bool setProgramName) const

Removes the XMP tag entries entriesToRemove for the XMP tag content xmpTagName from the entries in the metadata.

Returns true if the tag entries are no longer contained in the metadata.

All other entries are preserved.

bool KExiv2::removeGPSInfo(const bool setProgramName = true)

Removes all Exif tags relevant to the GPS location information.

Returns true if all tags have been removed successfully from the metadata.

bool KExiv2::removeIptcTag(const char *iptcTagName, bool setProgramName = true) const

Removes all instances of the IPTC tag iptcTagName from the IPTC metadata.

Returns true if all tags have been removed successfully (or none were present).

bool KExiv2::removeXmpKeywords(const QStringList &keywordsToRemove, bool setProgramName = true)

Removes the XMP keywords keywordsToRemove from the keywords in the metadata.

Returns true if the keywords are no longer contained in the metadata.

bool KExiv2::removeXmpSubCategories(const QStringList &categoriesToRemove, bool setProgramName = true)

Removes the XMP sub categoriesToRemove from the subcategories in the metadata.

Returns true if the subjects are no longer contained in the metadata.

bool KExiv2::removeXmpSubjects(const QStringList &subjectsToRemove, bool setProgramName = true)

Removes the XMP subjectsToRemove from the subjects in the metadata.

Returns true if the subjects are no longer contained in the metadata.

bool KExiv2::removeXmpTag(const char *xmpTagName, bool setProgramName = true) const

Removes the XMP tag xmpTagName from XMP metadata.

Returns true if the tag is removed successfully or if no tag was present.

bool KExiv2::rotateExifQImage(QImage &image, KExiv2Iface::KExiv2::ImageOrientation orientation) const

Fixes orientation of a QImage image according to the Exif orientation tag.

Returns true if image is rotated, false otherwise.

bool KExiv2::save(const QString &filePath) const

Saves all metadata to a file in filePath.

This one can be different from the original picture to perform a transfer operation.

Returns true if the metadata has been saved to the file.

bool KExiv2::setComments(const QByteArray &data) const

Sets the Comments data using a Qt byte array.

Returns true if Comments metadata has been changed in memory.

See also hasComments().

void KExiv2::setData(const KExiv2Iface::KExiv2Data &data)

See also data().

bool KExiv2::setExif(const QByteArray &data) const

Sets the Exif data using a Qt byte array.

Returns true if Exif metadata has been changed in memory.

See also hasExif().

bool KExiv2::setExifComment(const QString &comment, bool setProgramName = true) const

Sets an Exif user comment from the image.

Look at the Exif specification for more details about this tag.

Returns true if the Exif user comment has been changed in the metadata.

bool KExiv2::setExifTagData(const char *exifTagName, const QByteArray &data, bool setProgramName = true) const

Sets an Exif tag content exifTagName using a byte array data.

Returns true if the tag is set successfully.

bool KExiv2::setExifTagLong(const char *exifTagName, long val, bool setProgramName = true) const

Sets an Exif tag content exifTagName using a long value val.

Returns true if the Exif tag is set successfully.

bool KExiv2::setExifTagRational(const char *exifTagName, long num, long den, bool setProgramName = true) const

Sets an Exif tag content exifTagName using a rational value with the numerator num and denominator den.

Returns true if tag is set successfully.

bool KExiv2::setExifTagString(const char *exifTagName, const QString &value, bool setProgramName = true) const

Sets an Exif tag content exifTagName using a string value.

Returns true if the tag is set successfully.

bool KExiv2::setExifTagVariant(const char *exifTagName, const QVariant &data, bool rationalWantSmallDenominator = true, bool setProgramName = true) const

Sets an Exif tag content exifTagName using a QVariant data.

Returns true if the Exif tag is set successfully.

All types described for getExifTagVariant() are supported.

Calling with a QVariant of type QByteArray is equivalent to calling setExifTagData().

For the meaning of rationalWantSmallDenominator, see the documentation for the convertToRational methods.

Setting a value with multiple components is currently not supported.

bool KExiv2::setExifThumbnail(const QImage &thumb, bool setProgramName = true) const

Sets the Exif Thumbnail image.

The thumbnail image must have the right dimensions prior to this operation.

Look at the Exif specification for details.

Returns true if the thumbnail has been changed in the metadata.

void KExiv2::setFilePath(const QString &path)

Sets the file path of the current image.

bool KExiv2::setGPSInfo(const double altitude, const QString &latitude, const QString &longitude, const bool setProgramName = true)

Sets all GPS location information to the image.

Returns true if all information has been changed in the metadata.

bool KExiv2::setGPSInfo(const double altitude, const double latitude, const double longitude, const bool setProgramName = true)

Sets all GPS location information to the image.

Returns true if all information has been changed in the metadata.

bool KExiv2::setGPSInfo(const double *const altitude, const double latitude, const double longitude, const bool setProgramName = true)

Sets all GPS location information to the image.

Returns true if all information has been changed in the metadata.

If you do not want altitude to be set, pass a null pointer.

bool KExiv2::setImageColorWorkSpace(KExiv2Iface::KExiv2::ImageColorWorkSpace workspace, bool setProgramName = true) const

Sets the Exif color-space tag of the image.

Returns true if the workspace has been changed in the metadata.

See also ImageColorWorkSpace.

bool KExiv2::setImageDateTime(const QDateTime &dateTime, bool setDateTimeDigitized = false, bool setProgramName = true) const

Sets the Exif and IPTC timestamp.

If setDateTimeDigitized is true, then the Digitalized timestamp is set, else only the Created timestamp is set.

bool KExiv2::setImageDimensions(const QSize &size, bool setProgramName = true) const

Sets the size of image in pixels using Exif tags.

Returns true if the size has been changed in the metadata.

bool KExiv2::setImageOrientation(KExiv2Iface::KExiv2::ImageOrientation orientation, bool setProgramName = true) const

Sets the Exif orientation tag of image.

Returns true if the orientation has been changed in the metadata.

See also ImageOrientation.

[virtual] bool KExiv2::setImagePreview(const QImage &preview, bool setProgramName = true) const

Sets the IPTC preview image. * * The thumbnail image must have the right size prior to this operation * (64Kb max with JPEG file, else 256Kb). * * Look at the IPTC specification for details. * * Returns true if the preview has been changed in the metadata. * * Re-implement this method if you want to use an image file format other than JPEG to * save the preview.

bool KExiv2::setImageProgramId(const QString &program, const QString &version) const

Sets program name and program version in Exif and IPTC Metadata.

Returns true if information has been changed in the metadata.

bool KExiv2::setIptc(const QByteArray &data) const

Sets the IPTC data using a QByteArray data.

Returns true if the IPTC metadata has been changed in memory.

See also hasIptc().

bool KExiv2::setIptcKeywords(const QStringList &oldKeywords, const QStringList &newKeywords, bool setProgramName = true) const

Sets IPTC keywords using a list of strings defined by newKeywords to replace oldKeywords.

Use getImageKeywords() to set oldKeywords to existing keywords from the image.

This method will compare all new keywords with all old keywords to prevent duplicate entries in the image.

Returns true if the keywords have been changed in the metadata.

bool KExiv2::setIptcSubCategories(const QStringList &oldSubCategories, const QStringList &newSubCategories, bool setProgramName = true) const

Sets IPTC subcategories using a list of strings defined by newSubCategories to replace oldSubCategories.

Use getImageSubCategories() to set oldSubCategories with existing subcategories from the image.

This method will compare all new subcategories with all old subcategories to prevent duplicate entries in image.

Returns true if the subcategories have been changed in the metadata.

bool KExiv2::setIptcSubjects(const QStringList &oldSubjects, const QStringList &newSubjects, bool setProgramName = true) const

Sets IPTC subjects using a list of strings defined by newSubjects to replace oldSubjects.

Use getImageSubjects() to set oldSubjects with existing subjects from the image.

This method will compare all new subjects with all old subjects to prevent duplicate entries in image.

Returns true if the subjects have been changed in the metadata.

bool KExiv2::setIptcTagData(const char *iptcTagName, const QByteArray &data, bool setProgramName = true) const

Sets an IPTC tag content iptcTagName using a byte array data.

Returns true if tag is set successfully.

bool KExiv2::setIptcTagString(const char *iptcTagName, const QString &value, bool setProgramName = true) const

Sets an IPTC tag content iptcTagName using a string value.

Returns true if tag is set successfully.

bool KExiv2::setIptcTagsStringList(const char *iptcTagName, int maxSize, const QStringList &oldValues, const QStringList &newValues, bool setProgramName = true) const

Sets multiple IPTC tags contents with the given tag name iptcTagName using a string list newValues to replace oldValues.

maxSize is the max characters size of one entry.

Returns true if all tags have been set successfully.

void KExiv2::setMetadataWritingMode(const int mode)

Sets the metadata writing mode.

See also MetadataWritingMode and metadataWritingMode().

[virtual protected] bool KExiv2::setProgramId(bool on = true) const

Re-implement this method to automatically set the Program Name and Program Version information in Exif and IPTC metadata if on is set to true.

This method is called by all methods which change tags in the metadata.

By default this method does nothing and returns true.

bool KExiv2::setTiffThumbnail(const QImage &thumb, bool setProgramName = true) const

Adds a JPEG thumbnail thumb to TIFF images.

Use this instead of setExifThumbnail() for TIFF images.

void KExiv2::setUpdateFileTimeStamp(bool on)

Enables or disables file timestamp updating when metadata are saved.

By default files timestamp are untouched.

See also updateFileTimeStamp().

void KExiv2::setUseXMPSidecar4Reading(const bool on)

Enables or disables using an XMP sidecar for reading metadata.

See also useXMPSidecar4Reading().

void KExiv2::setWriteRawFiles(const bool on)

Enables or disables writing metadata operations to RAW tiff based files.

Requires Exiv2 0.18.

By default RAW files are untouched.

See also writeRawFiles().

bool KExiv2::setXmp(const QByteArray &data) const

Sets the XMP data using a QByteArray.

Returns true if the XMP metadata has been changed in memory.

See also hasXmp().

bool KExiv2::setXmpKeywords(const QStringList &newKeywords, bool setProgramName = true) const

Sets XMP keywords using a list of strings defined by newKeywords.

The existing keywords from the image are preserved.

This method will compare all new keywords with all already existing keywords to prevent duplicate entries in the image.

Returns true if the keywords have been changed in the metadata.

bool KExiv2::setXmpSubCategories(const QStringList &newSubCategories, bool setProgramName = true) const

Sets XMP subcategories using the string list newSubCategories.

The existing subcategories from the image are preserved.

This method will compare all new subcategories with all already existing subcategories to prevent duplicate entries in the image.

Returns true if the subcategories have been changed in the metadata.

bool KExiv2::setXmpSubjects(const QStringList &newSubjects, bool setProgramName = true) const

Sets XMP subjects using a string list of newSubjects.

The existing subjects from the image are preserved.

This method will compare all new subjects with all already existing subjects to prevent duplicate entries in the image.

Returns true if the subjects have been changed in the metadata.

bool KExiv2::setXmpTagString(const char *xmpTagName, const QString &value, bool setProgramName = true) const

Sets an XMP tag content xmpTagName using a string value.

Returns true if tag is set successfully.

bool KExiv2::setXmpTagString(const char *xmpTagName, const QString &value, KExiv2Iface::KExiv2::XmpTagType type, bool setProgramName = true) const

Sets an XMP tag xmpTagName with a specific type to the given value.

Returns true if tag is set successfully.

This method only accept NormalTag, ArrayBagTag and StructureTag. Other XmpTagTypes do nothing.

bool KExiv2::setXmpTagStringBag(const char *xmpTagName, const QStringList &bag, bool setProgramName = true) const

Sets an XMP tag content xmpTagName using the bag of strings bag.

Returns true if tag is set successfully.

bool KExiv2::setXmpTagStringLangAlt(const char *xmpTagName, const QString &value, const QString &langAlt, bool setProgramName = true) const

Sets an XMP tag content xmpTagName using a string value with an alternative language header langAlt.

langAlt contains the language alternative information (like "fr-FR" for French - RFC3066 notation) or is null to set alternative language to default settings ("x-default").

Returns true if the tag is set successfully.

bool KExiv2::setXmpTagStringListLangAlt(const char *xmpTagName, const KExiv2Iface::KExiv2::AltLangMap &values, bool setProgramName) const

Sets an Alternative Language XMP tag content xmpTagName using a map with the given values.

See AltLangMap class description for details.

If xmpTagName already exists, it wil be removed prior to this operation.

Returns true if the tag is set successfully.

bool KExiv2::setXmpTagStringSeq(const char *xmpTagName, const QStringList &seq, bool setProgramName = true) const

Sets an XMP tag content xmpTagName using the sequence of strings seq.

Returns true if the tag is set successfully.

[static] QString KExiv2::sidecarFilePathForFile(const QString &path)

Returns the XMP Sidecar file path for an image in the given file path.

If the image file path does not include a file name or is empty, this function returns a null string.

[static] QString KExiv2::sidecarPath(const QString &path)

Like sidecarFilePathForFile(), but it works for local file path.

[static] QUrl KExiv2::sidecarUrl(const QString &path)

Gives a file url for a local path.

[static] QUrl KExiv2::sidecarUrl(const QUrl &url)

Like sidecarFilePathForFile(), but it works for a remote url.

[static] bool KExiv2::supportMetadataWritting(const QString &typeMime)

Returns true if the library can write metadata to typeMime file format.

[static] bool KExiv2::supportXmp()

Returns true if the library can handle XMP metadata.

[static] bool KExiv2::unregisterXmpNameSpace(const QString &uri)

Unregisters a previously registered custom namespace.

bool KExiv2::updateFileTimeStamp() const

Returns true if file timestamp is updated when metadata are saved.

See also setUpdateFileTimeStamp().

bool KExiv2::useXMPSidecar4Reading() const

Returns true if using an XMP sidecar for reading metadata is enabled.

See also setUseXMPSidecar4Reading().

[static] QString KExiv2::version()

Returns a string version of libkexiv2 release.

bool KExiv2::writeRawFiles() const

Returns true if writing metadata operations on RAW tiff based files is enabled.

Requires Exiv2 0.18.

See also setWriteRawFiles().

KExiv2Iface::KExiv2 &KExiv2::operator=(const KExiv2Iface::KExiv2 &metadata)

Create a copy of container.