From: Roeland Jago Douma Date: Wed, 25 Nov 2015 08:40:21 +0000 (+0100) Subject: [Sharing] Also add sync status to SHARE_STATUS command X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~1387^2~34^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fcdab1e80404570bdb3a24585e616953a3c75b25;p=nextcloud-desktop.git [Sharing] Also add sync status to SHARE_STATUS command --- diff --git a/src/gui/socketapi.cpp b/src/gui/socketapi.cpp index 6dfbfd3fe..1f75ad5d5 100644 --- a/src/gui/socketapi.cpp +++ b/src/gui/socketapi.cpp @@ -435,6 +435,17 @@ void SocketApi::command_SHARE_STATUS(const QString &localFile, QIODevice *socket const QString message = QLatin1String("SHARE_STATUS:NOP:")+QDir::toNativeSeparators(localFile); sendMessage(socket, message); } else { + const QString file = QDir::cleanPath(localFile).mid(shareFolder->cleanPath().length()+1); + SyncFileStatus fileStatus = this->fileStatus(shareFolder, file); + + // Verify the file is on the server (to our knowledge of course) + if (fileStatus.tag() != SyncFileStatus::STATUS_SYNC && + fileStatus.tag() != SyncFileStatus::STATUS_UPDATED) { + const QString message = QLatin1String("SHARE_STATUS:NOTSYNCED:")+QDir::toNativeSeparators(localFile); + sendMessage(socket, message); + return; + } + const Capabilities capabilities = shareFolder->accountState()->account()->capabilities(); if (!capabilities.shareAPI()) {