Summary: | digiKam-signature in iptc and exif tags | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Caspar Maessen <cmaessen> |
Component: | Metadata-Exif | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | caulier.gilles |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 7.5.0 | |
Sentry Crash Report: |
Description
Caspar Maessen
2007-03-05 20:39:57 UTC
Agree - Digikam shouldn't overwrite device tag but IMO it is acceptable to enter info about D. when tags where empty. Even if it doesn't follow to the letter specification - D. isn't "camera or image input device". For exif tag it could even not be configurable. IMO for IPTC tags it should be configurable. SVN commit 641435 by cgilles: libkexiv2 from trunk : set the Exif.Image.Software tag only if it doesn't exist. BUG: 142564 M +16 -4 kexiv2.cpp --- trunk/extragear/libs/libkexiv2/kexiv2.cpp #641434:641435 @@ -450,10 +450,22 @@ { try { - QString software(program); - software.append("-"); - software.append(version); - d->exifMetadata["Exif.Image.Software"] = software.ascii(); + // Check if Exif.Image.Software already exist. If yes, do not touch this tag. + + if (!d->exifMetadata.empty()) + { + Exiv2::ExifData exifData(d->exifMetadata); + Exiv2::ExifKey key("Exif.Image.Software"); + Exiv2::ExifData::iterator it = exifData.findKey(key); + + if (it == exifData.end()) + { + QString software(program); + software.append("-"); + software.append(version); + d->exifMetadata["Exif.Image.Software"] = software.ascii(); + } + } d->iptcMetadata["Iptc.Application2.Program"] = program.ascii(); d->iptcMetadata["Iptc.Application2.ProgramVersion"] = version.ascii(); |