mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-26 23:28:14 +03:00
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 d5a481f132
.
This commit is contained in:
parent
2d110540ee
commit
904cd46f75
4 changed files with 14 additions and 14 deletions
|
@ -621,6 +621,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);
|
||||
|
|
|
@ -184,6 +184,11 @@ public:
|
|||
/// Removes the folder from the account's settings.
|
||||
void removeFromSettings() const;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -89,7 +89,6 @@ private:
|
|||
QTime _timer;
|
||||
QSet<QString> _lastPaths;
|
||||
Folder* _folder;
|
||||
QString _canonicalFolderPath;
|
||||
|
||||
friend class FolderWatcherPrivate;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue