Set live photo properties on syncfileitem when creating one based on other types of items

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2024-10-29 12:06:57 +08:00 коммит произвёл Matthieu Gallien
Родитель 10c675a589
Коммит e20bedac1f
1 изменённых файлов: 9 добавлений и 0 удалений

Просмотреть файл

@ -126,6 +126,8 @@ SyncJournalFileRecord SyncFileItem::toSyncJournalFileRecordWithInode(const QStri
rec._lockstate._lockTime = _lockTime; rec._lockstate._lockTime = _lockTime;
rec._lockstate._lockTimeout = _lockTimeout; rec._lockstate._lockTimeout = _lockTimeout;
rec._lockstate._lockToken = _lockToken; rec._lockstate._lockToken = _lockToken;
rec._isLivePhoto = _isLivePhoto;
rec._livePhotoFile = _livePhotoFile;
// Update the inode if possible // Update the inode if possible
rec._inode = _inode; rec._inode = _inode;
@ -167,6 +169,8 @@ SyncFileItemPtr SyncFileItem::fromSyncJournalFileRecord(const SyncJournalFileRec
item->_sharedByMe = rec._sharedByMe; item->_sharedByMe = rec._sharedByMe;
item->_isShared = rec._isShared; item->_isShared = rec._isShared;
item->_lastShareStateFetchedTimestamp = rec._lastShareStateFetchedTimestamp; item->_lastShareStateFetchedTimestamp = rec._lastShareStateFetchedTimestamp;
item->_isLivePhoto = rec._isLivePhoto;
item->_livePhotoFile = rec._livePhotoFile;
return item; return item;
} }
@ -237,6 +241,11 @@ SyncFileItemPtr SyncFileItem::fromProperties(const QString &filePath, const QMap
item->_checksumHeader = findBestChecksum(properties.value("checksums").toUtf8()); item->_checksumHeader = findBestChecksum(properties.value("checksums").toUtf8());
} }
if (properties.contains(QStringLiteral("metadata-files-live-photo"))) {
item->_isLivePhoto = true;
item->_livePhotoFile = properties.value(QStringLiteral("metadata-files-live-photo"));
}
// direction and instruction are decided later // direction and instruction are decided later
item->_direction = SyncFileItem::None; item->_direction = SyncFileItem::None;
item->_instruction = CSYNC_INSTRUCTION_NONE; item->_instruction = CSYNC_INSTRUCTION_NONE;