diff --git a/owncloud_sync_qt/OwnCloudSync.cpp b/owncloud_sync_qt/OwnCloudSync.cpp index d0180e4fa..e89b5ac32 100644 --- a/owncloud_sync_qt/OwnCloudSync.cpp +++ b/owncloud_sync_qt/OwnCloudSync.cpp @@ -81,6 +81,8 @@ OwnCloudSync::OwnCloudSync(QString name, OwnPasswordManager *passwordManager, this, SLOT(updateDBUpload(QString))); connect(mWebdav,SIGNAL(directoryCreated(QString)), this, SLOT(serverDirectoryCreated(QString))); + connect(mWebdav,SIGNAL(errorFileLocked(QString)), + this, SLOT(errorFileLocked(QString))); mDownloadingFiles.clear(); mDownloadConflict.clear(); @@ -123,6 +125,11 @@ OwnCloudSync::OwnCloudSync(QString name, OwnPasswordManager *passwordManager, updateStatus(); } +void OwnCloudSync::errorFileLocked(QString fileName) +{ + emit toLog(tr("File %s locked. Skipping!").arg(fileName)); +} + void OwnCloudSync::setSaveDBTime(qint64 seconds) { mSaveDBTimer->stop(); diff --git a/owncloud_sync_qt/OwnCloudSync.h b/owncloud_sync_qt/OwnCloudSync.h index 1be169f0f..7265d5589 100644 --- a/owncloud_sync_qt/OwnCloudSync.h +++ b/owncloud_sync_qt/OwnCloudSync.h @@ -217,6 +217,7 @@ public slots: void loadDBFromFile(); void requestTimedout(); void serverDirectoryCreated(QString name); + void errorFileLocked(QString fileName); }; #endif // OWNCLOUDSYNC_H diff --git a/owncloud_sync_qt/qwebdav/QWebDAV.cpp b/owncloud_sync_qt/qwebdav/QWebDAV.cpp index 56c9832f1..523a855a4 100644 --- a/owncloud_sync_qt/qwebdav/QWebDAV.cpp +++ b/owncloud_sync_qt/qwebdav/QWebDAV.cpp @@ -665,6 +665,9 @@ void QWebDAV::processLockRequest(QByteArray xml, QString url, QString extra) if(!exception.isNull()&&exception.text() =="Sabre_DAV_Exception_ConflictingLock") { syncDebug() << "Resource already locked!"; + if(extra != "") { + emit errorFileLocked(mTransferLockRequests[extra].fileName); + } } } } diff --git a/owncloud_sync_qt/qwebdav/QWebDAV.h b/owncloud_sync_qt/qwebdav/QWebDAV.h index 596c5824d..49aab0750 100644 --- a/owncloud_sync_qt/qwebdav/QWebDAV.h +++ b/owncloud_sync_qt/qwebdav/QWebDAV.h @@ -176,6 +176,7 @@ signals: void uploadComplete(QString name); void directoryCreated(QString name); void directoryListingError(QString url); + void errorFileLocked(QString fileName); public slots: void slotFinished ( QNetworkReply* );