本文整理汇总了C++中DMetadata::getIptcTagString方法的典型用法代码示例。如果您正苦于以下问题:C++ DMetadata::getIptcTagString方法的具体用法?C++ DMetadata::getIptcTagString怎么用?C++ DMetadata::getIptcTagString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DMetadata
的用法示例。
在下文中一共展示了DMetadata::getIptcTagString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void TimeAdjustTask::run()
{
if (m_cancel)
return;
emit signalProcessStarted(d->url);
QDateTime dt = d->itemsMap.value(d->url);
if (!dt.isValid())
{
emit signalProcessEnded(d->url, TimeAdjustList::META_TIME_ERROR);
emit signalDone();
return;
}
bool writeToSidecar = (MetaEngineSettings::instance()->settings()
.metadataWritingMode != DMetadata::WRITE_TO_FILE_ONLY);
bool metadataChanged = d->settings.updEXIFModDate || d->settings.updEXIFOriDate ||
d->settings.updEXIFDigDate || d->settings.updEXIFThmDate ||
d->settings.updIPTCDate || d->settings.updXMPVideo ||
d->settings.updXMPDate;
int status = TimeAdjustList::NOPROCESS_ERROR;
if (metadataChanged)
{
bool ret = true;
DMetadata meta;
ret &= meta.load(d->url.toLocalFile());
if (ret)
{
QString exifDateTimeFormat = QLatin1String("yyyy:MM:dd hh:mm:ss");
QString xmpDateTimeFormat = QLatin1String("yyyy:MM:ddThh:mm:ss");
if (writeToSidecar || meta.canWriteExif(d->url.toLocalFile()))
{
if (d->settings.updEXIFModDate)
{
if (!d->settings.updIfAvailable ||
!meta.getExifTagString("Exif.Image.DateTime").isEmpty())
{
ret &= meta.setExifTagString("Exif.Image.DateTime",
dt.toString(exifDateTimeFormat));
}
}
if (d->settings.updEXIFOriDate)
{
if (!d->settings.updIfAvailable ||
!meta.getExifTagString("Exif.Photo.DateTimeOriginal").isEmpty())
{
ret &= meta.setExifTagString("Exif.Photo.DateTimeOriginal",
dt.toString(exifDateTimeFormat));
}
}
if (d->settings.updEXIFDigDate)
{
if (!d->settings.updIfAvailable ||
!meta.getExifTagString("Exif.Photo.DateTimeDigitized").isEmpty())
{
ret &= meta.setExifTagString("Exif.Photo.DateTimeDigitized",
dt.toString(exifDateTimeFormat));
}
}
if (d->settings.updEXIFThmDate)
{
if (!d->settings.updIfAvailable ||
!meta.getExifTagString("Exif.Image.PreviewDateTime").isEmpty())
{
ret &= meta.setExifTagString("Exif.Image.PreviewDateTime",
dt.toString(exifDateTimeFormat));
}
}
}
else if (d->settings.updEXIFModDate || d->settings.updEXIFOriDate ||
d->settings.updEXIFDigDate || d->settings.updEXIFThmDate)
{
ret = false;
}
if (d->settings.updIPTCDate)
{
if (writeToSidecar || meta.canWriteIptc(d->url.toLocalFile()))
{
if (!d->settings.updIfAvailable ||
!meta.getIptcTagString("Iptc.Application2.DateCreated").isEmpty())
{
ret &= meta.setIptcTagString("Iptc.Application2.DateCreated",
dt.date().toString(Qt::ISODate));
}
if (!d->settings.updIfAvailable ||
!meta.getIptcTagString("Iptc.Application2.TimeCreated").isEmpty())
//.........这里部分代码省略.........