[Pkg-owncloud-commits] [owncloud-client] 165/211: SocketAPI: Show an error for files inside the selective sync folders
Sandro Knauß
hefee-guest at moszumanska.debian.org
Sat Oct 25 09:10:41 UTC 2014
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 4f367faf4d76822e580a6a30730bfc4c9b28889b
Author: Olivier Goffart <ogoffart at woboq.com>
Date: Wed Oct 22 13:29:59 2014 +0200
SocketAPI: Show an error for files inside the selective sync folders
Task #2283
---
src/mirall/discoveryphase.cpp | 2 +-
src/mirall/folder.cpp | 11 +++++++++++
src/mirall/folder.h | 3 +--
src/mirall/socketapi.cpp | 10 ++++++++++
src/mirall/syncengine.cpp | 5 -----
5 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/src/mirall/discoveryphase.cpp b/src/mirall/discoveryphase.cpp
index d21956d..5e72dac 100644
--- a/src/mirall/discoveryphase.cpp
+++ b/src/mirall/discoveryphase.cpp
@@ -45,7 +45,7 @@ bool DiscoveryJob::isInSelectiveSyncBlackList(const QString& path) const
return false;
}
--it;
- Q_ASSERT(it->endsWith(QLatin1Char('/'))); // SyncEngine::setSelectiveSyncBlackList makes sure of that
+ Q_ASSERT(it->endsWith(QLatin1Char('/'))); // Folder::setSelectiveSyncBlackList makes sure of that
if (pathSlash.startsWith(*it)) {
return true;
}
diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp
index b1b4dd8..b7215c0 100644
--- a/src/mirall/folder.cpp
+++ b/src/mirall/folder.cpp
@@ -766,6 +766,17 @@ void Folder::setDirtyNetworkLimits()
}
}
+void Folder::setSelectiveSyncBlackList(const QStringList& blackList)
+{
+ _selectiveSyncBlackList = blackList;
+ for (int i = 0; i < _selectiveSyncBlackList.count(); ++i) {
+ if (!_selectiveSyncBlackList.at(i).endsWith(QLatin1Char('/'))) {
+ _selectiveSyncBlackList[i].append(QLatin1Char('/'));
+ }
+ }
+}
+
+
void Folder::slotSyncError(const QString& err)
{
_errors.append( err );
diff --git a/src/mirall/folder.h b/src/mirall/folder.h
index c09863e..b67e957 100644
--- a/src/mirall/folder.h
+++ b/src/mirall/folder.h
@@ -119,8 +119,7 @@ public:
SyncJournalDb *journalDb() { return &_journal; }
QStringList selectiveSyncBlackList() { return _selectiveSyncBlackList; }
- void setSelectiveSyncBlackList(const QStringList &blackList)
- { _selectiveSyncBlackList = blackList; }
+ void setSelectiveSyncBlackList(const QStringList &blackList);
bool estimateState(QString fn, csync_ftw_type_e t, SyncFileStatus* s);
diff --git a/src/mirall/socketapi.cpp b/src/mirall/socketapi.cpp
index f9cfc34..1c16ccb 100644
--- a/src/mirall/socketapi.cpp
+++ b/src/mirall/socketapi.cpp
@@ -471,6 +471,7 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa
{
QString file = folder->path();
QString fileName = systemFileName.normalized(QString::NormalizationForm_C);
+ QString fileNameSlash = fileName;
if( fileName != QLatin1String("/") && !fileName.isEmpty() ) {
file = folder->path() + fileName;
@@ -479,6 +480,8 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa
if( fileName.endsWith(QLatin1Char('/')) ) {
fileName.truncate(fileName.length()-1);
qDebug() << "Removed trailing slash: " << fileName;
+ } else {
+ fileNameSlash += QLatin1Char('/');
}
QFileInfo fi(file);
@@ -506,6 +509,13 @@ SyncFileStatus SocketApi::fileStatus(Folder *folder, const QString& systemFileNa
return SyncFileStatus(SyncFileStatus::STATUS_IGNORE);
}
+ // Error if it is in the selective sync blacklistr
+ foreach(const auto &s, folder->selectiveSyncBlackList()) {
+ if (fileNameSlash.startsWith(s)) {
+ return SyncFileStatus(SyncFileStatus::STATUS_ERROR);
+ }
+ }
+
SyncFileStatus status(SyncFileStatus::STATUS_NONE);
if (type == CSYNC_FTW_TYPE_DIR) {
diff --git a/src/mirall/syncengine.cpp b/src/mirall/syncengine.cpp
index 519c49e..1d87b3b 100644
--- a/src/mirall/syncengine.cpp
+++ b/src/mirall/syncengine.cpp
@@ -1072,11 +1072,6 @@ QByteArray SyncEngine::getPermissions(const QString& file) const
void SyncEngine::setSelectiveSyncBlackList(const QStringList& list)
{
_selectiveSyncBlackList = list;
- for (int i = 0; i < _selectiveSyncBlackList.count(); ++i) {
- if (!_selectiveSyncBlackList.at(i).endsWith(QLatin1Char('/'))) {
- _selectiveSyncBlackList[i].append(QLatin1Char('/'));
- }
- }
}
bool SyncEngine::estimateState(QString fn, csync_ftw_type_e t, SyncFileStatus* s)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list