From 0ae72462d9cde541bef1b509c920dfea6356c58f Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 5 Apr 2009 23:16:27 +0200 Subject: [PATCH] LocalResourcesProvider: fixed filesystem monitoring The slot LocalResourcesProvider::reloadDirectory() contained various bugs so it did not record changes in filesystem properly. This also fixes lots of QFileSystemWatcher messages in console window when saving a new project inside LMMS. --- src/core/local_resources_provider.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/core/local_resources_provider.cpp b/src/core/local_resources_provider.cpp index fe3a6d525..e4ce86f16 100644 --- a/src/core/local_resources_provider.cpp +++ b/src/core/local_resources_provider.cpp @@ -114,11 +114,16 @@ void LocalResourcesProvider::removeDirectory( const QString & _path ) void LocalResourcesProvider::reloadDirectory( const QString & _path ) { ResourcesTreeItem * dirTreeItem = NULL; + QString p = _path; + if( !p.endsWith( QDir::separator() ) ) + { + p += QDir::separator(); + } foreach( ResourcesItem * it, database()->items() ) { if( it->type() == ResourcesItem::TypeDirectory && - it->fullPath() == _path ) + it->fullName() == p ) { dirTreeItem = it->treeItem(); } @@ -130,7 +135,8 @@ void LocalResourcesProvider::reloadDirectory( const QString & _path ) if( dirItem ) { m_scannedFolders.clear(); - readDir( dirItem->path(), dirTreeItem->parent() ); + readDir( dirItem->fullRelativeName(), + dirTreeItem->parent() ); } }