| 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 First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented 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();
|