本文整理汇总了C++中KPMetadata::canWriteIptc方法的典型用法代码示例。如果您正苦于以下问题:C++ KPMetadata::canWriteIptc方法的具体用法?C++ KPMetadata::canWriteIptc怎么用?C++ KPMetadata::canWriteIptc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KPMetadata
的用法示例。
在下文中一共展示了KPMetadata::canWriteIptc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void Task::run()
{
if (d->cancel) return;
QDateTime dt = d->itemsMap.value(d->url);
if (!dt.isValid()) return;
emit signalProcessStarted(d->url);
bool metadataChanged = d->settings.updEXIFModDate || d->settings.updEXIFOriDate ||
d->settings.updEXIFDigDate || d->settings.updEXIFThmDate ||
d->settings.updIPTCDate || d->settings.updXMPDate;
int status = MyImageList::NOPROCESS_ERROR;
if (metadataChanged)
{
bool ret = true;
KPMetadata meta;
ret &= meta.load(d->url.path());
if (ret)
{
if (meta.canWriteExif(d->url.path()))
{
if (d->settings.updEXIFModDate)
{
ret &= meta.setExifTagString("Exif.Image.DateTime",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
}
if (d->settings.updEXIFOriDate)
{
ret &= meta.setExifTagString("Exif.Photo.DateTimeOriginal",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
}
if (d->settings.updEXIFDigDate)
{
ret &= meta.setExifTagString("Exif.Photo.DateTimeDigitized",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
}
if (d->settings.updEXIFThmDate)
{
ret &= meta.setExifTagString("Exif.Image.PreviewDateTime",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
}
}
else if (d->settings.updEXIFModDate || d->settings.updEXIFOriDate ||
d->settings.updEXIFDigDate || d->settings.updEXIFThmDate)
{
ret = false;
}
if (d->settings.updIPTCDate)
{
if (meta.canWriteIptc(d->url.path()))
{
ret &= meta.setIptcTagString("Iptc.Application2.DateCreated",
dt.date().toString(Qt::ISODate));
ret &= meta.setIptcTagString("Iptc.Application2.TimeCreated",
dt.time().toString(Qt::ISODate));
}
else
{
ret = false;
}
}
if (d->settings.updXMPDate)
{
if (meta.supportXmp() && meta.canWriteXmp(d->url.path()))
{
ret &= meta.setXmpTagString("Xmp.exif.DateTimeOriginal",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
ret &= meta.setXmpTagString("Xmp.photoshop.DateCreated",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
ret &= meta.setXmpTagString("Xmp.tiff.DateTime",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
ret &= meta.setXmpTagString("Xmp.xmp.CreateDate",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
ret &= meta.setXmpTagString("Xmp.xmp.MetadataDate",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
ret &= meta.setXmpTagString("Xmp.xmp.ModifyDate",
dt.toString(QString("yyyy:MM:dd hh:mm:ss")).toAscii());
}
else
{
ret = false;
}
}
ret &= meta.save(d->url.path());
if (!ret)
{
kDebug() << "Failed to update metadata in file " << d->url.fileName();
//.........这里部分代码省略.........