[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