From 3c6635cdbefc23984904b36c8a756ad646e2101a Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Fri, 27 Nov 2009 11:50:30 +0000 Subject: [PATCH] - Folder Scanning: initial import of the torrents inside is fixed --- src/bittorrent.cpp | 3 ++- src/filesystemwatcher.h | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index c3555436c..c0a0e45fe 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -1249,8 +1249,9 @@ void Bittorrent::enableDirectoryScanning(QString scan_dir) { } if(FSWatcher == 0) { // Set up folder watching - FSWatcher = new FileSystemWatcher(scan_dir, this); + FSWatcher = new FileSystemWatcher(this); connect(FSWatcher, SIGNAL(torrentsAdded(QStringList&)), this, SLOT(addTorrentsFromScanFolder(QStringList&))); + FSWatcher->addPath(scan_dir); } else { QString old_scan_dir = ""; if(!FSWatcher->directories().empty()) diff --git a/src/filesystemwatcher.h b/src/filesystemwatcher.h index 2ec609bda..00ded5249 100644 --- a/src/filesystemwatcher.h +++ b/src/filesystemwatcher.h @@ -139,6 +139,7 @@ public: } else { #endif // Normal mode + qDebug("FS Watching is watching %s in normal mode", path.toLocal8Bit().data()); QFileSystemWatcher::addPath(path); scanFolder(); #ifndef Q_WS_WIN @@ -165,11 +166,14 @@ public: protected slots: // XXX: Does not detect file size changes to improve performance. void scanFolder() { + qDebug("Scan folder was called"); QStringList torrents; - if(watch_timer) + if(watch_timer) { torrents = watched_folder.entryList(filters, QDir::Files, QDir::Unsorted); - else + } else { torrents = QDir(QFileSystemWatcher::directories().first()).entryList(filters, QDir::Files, QDir::Unsorted); + qDebug("FSWatcher: Polling manually folder %s", QFileSystemWatcher::directories().first().toLocal8Bit().data()); + } if(!torrents.empty()) emit torrentsAdded(torrents); }