[Pkg-owncloud-commits] [owncloud-client] 63/84: Revert "FolderWatcher: Act on relative paths #5116 (#5153)"

Sandro Knauß hefee at moszumanska.debian.org
Fri Oct 21 22:51:55 UTC 2016


This is an automated email from the git hooks/post-receive script.

hefee pushed a commit to branch master
in repository owncloud-client.

commit b228488eb7a4631da34086b2fd211fe13a6b9be2
Author: Olivier Goffart <ogoffart at woboq.com>
Date:   Mon Sep 12 15:02:54 2016 +0200

    Revert "FolderWatcher: Act on relative paths #5116 (#5153)"
    
    This is not sufficient as it is not working for the Socket API.
    Next commit will fix it in another layer.
    
    Also, not ignoring paths that are not inside the folder is wrong
    as it might still happen if the name has a different casing
    
    This reverts commit d5a481f13240b50ff3993184152d3d4145ebfde0.
    
    (cherry picked from commit 904cd46f757bf329b719bd815394ff986be99aaf)
---
 src/gui/folder.cpp        |  5 +++++
 src/gui/folder.h          |  5 +++++
 src/gui/folderwatcher.cpp | 17 ++++-------------
 src/gui/folderwatcher.h   |  1 -
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp
index 738fe7f..a4f2e25 100644
--- a/src/gui/folder.cpp
+++ b/src/gui/folder.cpp
@@ -628,6 +628,11 @@ void Folder::removeFromSettings() const
     settings->remove(FolderMan::escapeAlias(_definition.alias));
 }
 
+bool Folder::isFileExcludedAbsolute(const QString& fullPath) const
+{
+    return _engine->excludedFiles().isExcluded(fullPath, path(), _definition.ignoreHiddenFiles);
+}
+
 bool Folder::isFileExcludedRelative(const QString& relativePath) const
 {
     return _engine->excludedFiles().isExcluded(path() + relativePath, path(), _definition.ignoreHiddenFiles);
diff --git a/src/gui/folder.h b/src/gui/folder.h
index bfd4de4..79a27ad 100644
--- a/src/gui/folder.h
+++ b/src/gui/folder.h
@@ -186,6 +186,11 @@ public:
      /**
       * Returns whether a file inside this folder should be excluded.
       */
+     bool isFileExcludedAbsolute(const QString& fullPath) const;
+
+     /**
+      * Returns whether a file inside this folder should be excluded.
+      */
      bool isFileExcludedRelative(const QString& relativePath) const;
 
 signals:
diff --git a/src/gui/folderwatcher.cpp b/src/gui/folderwatcher.cpp
index c115611..30809c8 100644
--- a/src/gui/folderwatcher.cpp
+++ b/src/gui/folderwatcher.cpp
@@ -41,9 +41,7 @@ FolderWatcher::FolderWatcher(const QString &root, Folder* folder)
     : QObject(folder),
       _folder(folder)
 {
-    _canonicalFolderPath = QFileInfo(root).canonicalFilePath();
-
-    _d.reset(new FolderWatcherPrivate(this, _canonicalFolderPath));
+    _d.reset(new FolderWatcherPrivate(this, root));
 
     _timer.start();
 }
@@ -57,17 +55,10 @@ bool FolderWatcher::pathIsIgnored( const QString& path )
     if( !_folder ) return false;
 
 #ifndef OWNCLOUD_TEST
-    QString relPath = path;
-    if (relPath.startsWith(_canonicalFolderPath)) {
-        relPath = relPath.remove(0, _canonicalFolderPath.length()+1);
-        if (_folder->isFileExcludedRelative(relPath)) {
-            qDebug() << "* Ignoring file" << relPath << "in" << _canonicalFolderPath;
-            return true;
-        }
+    if (_folder->isFileExcludedAbsolute(path)) {
+        qDebug() << "* Ignoring file" << path;
+        return true;
     }
-    // there could be an odd watch event not being inside the _canonicalFolderPath
-    // We will just not ignore it then, who knows.
-
 #endif
     return false;
 }
diff --git a/src/gui/folderwatcher.h b/src/gui/folderwatcher.h
index 9b0d174..15fe223 100644
--- a/src/gui/folderwatcher.h
+++ b/src/gui/folderwatcher.h
@@ -89,7 +89,6 @@ private:
     QTime _timer;
     QSet<QString> _lastPaths;
     Folder* _folder;
-    QString _canonicalFolderPath;
 
     friend class FolderWatcherPrivate;
 };

-- 
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