diff --git a/src/libsync/lockfilejobs.cpp b/src/libsync/lockfilejobs.cpp index 77f01c3ba..477045139 100644 --- a/src/libsync/lockfilejobs.cpp +++ b/src/libsync/lockfilejobs.cpp @@ -104,6 +104,9 @@ void LockFileJob::setFileRecordLocked(SyncJournalFileRecord &record) const record._lockstate._lockEditorApp = _editorName; record._lockstate._lockTime = _lockTime; record._lockstate._lockTimeout = _lockTimeout; + if (!_etag.isEmpty()) { + record._etag = _etag; + } } void LockFileJob::resetState() @@ -223,6 +226,8 @@ void LockFileJob::decodeStartElement(const QString &name, } } else if (name == QStringLiteral("lock-owner-editor")) { _editorName = reader.readElementText(); + } else if (name == QStringLiteral("getetag")) { + _etag = reader.readElementText().toUtf8(); } } diff --git a/src/libsync/lockfilejobs.h b/src/libsync/lockfilejobs.h index be3c436b5..50e02016b 100644 --- a/src/libsync/lockfilejobs.h +++ b/src/libsync/lockfilejobs.h @@ -54,6 +54,7 @@ private: QString _userDisplayName; QString _editorName; QString _userId; + QByteArray _etag; qint64 _lockTime = 0; qint64 _lockTimeout = 0; QString _remoteSyncPathWithTrailingSlash;