本文整理汇总了C++中DMetadata::setData方法的典型用法代码示例。如果您正苦于以下问题:C++ DMetadata::setData方法的具体用法?C++ DMetadata::setData怎么用?C++ DMetadata::setData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DMetadata
的用法示例。
在下文中一共展示了DMetadata::setData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write
bool MetadataHub::write(DImg& image, WriteComponent writeMode, bool ignoreLazySync, const MetadataSettingsContainer& settings)
{
applyChangeNotifications();
// if no DMetadata object is needed at all, don't construct one
if (!willWriteMetadata(writeMode, settings))
{
return false;
}
// See DImgLoader::readMetadata() and saveMetadata()
DMetadata metadata;
metadata.setData(image.getMetadata());
QString filePath = image.originalFilePath();
if (filePath.isEmpty())
{
filePath = image.lastSavedFilePath();
}
if (!ignoreLazySync && settings.useLazySync && !filePath.isEmpty())
{
ImageInfo info = ImageInfo::fromLocalFile(filePath);
MetadataHubMngr::instance()->addPending(info);
return true;
}
if (!filePath.isEmpty())
{
writeToBaloo(filePath);
}
return write(metadata, writeMode, settings);
}
示例2: toolOperations
bool AssignTemplate::toolOperations()
{
DMetadata meta;
if (image().isNull())
{
if (!meta.load(inputUrl().toLocalFile()))
{
return false;
}
}
else
{
meta.setData(image().getMetadata());
}
QString title = settings()[QLatin1String("TemplateTitle")].toString();
if (title == Template::removeTemplateTitle())
{
meta.removeMetadataTemplate();
}
else if (title.isEmpty())
{
// Nothing to do.
}
else
{
Template t = TemplateManager::defaultManager()->findByTitle(title);
meta.removeMetadataTemplate();
meta.setMetadataTemplate(t);
}
bool ret = true;
if (image().isNull())
{
QFile::remove(outputUrl().toLocalFile());
ret = QFile::copy(inputUrl().toLocalFile(), outputUrl().toLocalFile());
if (ret && !title.isEmpty())
{
ret = meta.save(outputUrl().toLocalFile());
}
}
else
{
if (!title.isEmpty())
{
image().setMetadata(meta.data());
}
ret = savefromDImg();
}
return ret;
}