int LoadSaveThread::exifOrientation(const DImg& image, const QString& filePath) { QVariant attribute = image.attribute("fromRawEmbeddedPreview"); return exifOrientation(filePath, DMetadata(image.getMetadata()), image.detectedFormat() == DImg::RAW, (attribute.isValid() && attribute.toBool())); }
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); }