mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-07 06:36:55 +02:00
Some more scan logic fixes, and stop the scan timer while it's already performing a scan
This commit is contained in:
@@ -106,8 +106,11 @@ DirLister::scanDir( QDir dir, int depth, DirLister::Mode mode )
|
|||||||
if( m_manualFull ||
|
if( m_manualFull ||
|
||||||
( m_mode == TomahawkSettings::Dirs
|
( m_mode == TomahawkSettings::Dirs
|
||||||
&& ( m_dirmtimes.contains( dir.canonicalPath() ) || !m_recursive )
|
&& ( m_dirmtimes.contains( dir.canonicalPath() ) || !m_recursive )
|
||||||
&& mtime == m_dirmtimes.value( dir.canonicalPath() ) ) )
|
&& mtime != m_dirmtimes.value( dir.canonicalPath() ) ) )
|
||||||
|
{
|
||||||
|
qDebug() << "Deleting database file entries from " << dir;
|
||||||
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>( new DatabaseCommand_DeleteFiles( dir, SourceList::instance()->getLocal() ) ) );
|
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>( new DatabaseCommand_DeleteFiles( dir, SourceList::instance()->getLocal() ) ) );
|
||||||
|
}
|
||||||
|
|
||||||
dir.setFilter( QDir::Files | QDir::Readable | QDir::NoDotAndDotDot );
|
dir.setFilter( QDir::Files | QDir::Readable | QDir::NoDotAndDotDot );
|
||||||
dir.setSorting( QDir::Name );
|
dir.setSorting( QDir::Name );
|
||||||
|
@@ -145,6 +145,7 @@ ScanManager::runDirScan( const QStringList& paths, bool manualFull )
|
|||||||
|
|
||||||
if ( !m_musicScannerThreadController && m_scanner.isNull() ) //still running if these are not zero
|
if ( !m_musicScannerThreadController && m_scanner.isNull() ) //still running if these are not zero
|
||||||
{
|
{
|
||||||
|
m_scanTimer->stop();
|
||||||
m_musicScannerThreadController = new QThread( this );
|
m_musicScannerThreadController = new QThread( this );
|
||||||
m_scanner = QWeakPointer< MusicScanner>( new MusicScanner( paths, TomahawkSettings::instance()->scannerMode(), manualFull ) );
|
m_scanner = QWeakPointer< MusicScanner>( new MusicScanner( paths, TomahawkSettings::instance()->scannerMode(), manualFull ) );
|
||||||
m_scanner.data()->moveToThread( m_musicScannerThreadController );
|
m_scanner.data()->moveToThread( m_musicScannerThreadController );
|
||||||
@@ -172,5 +173,6 @@ ScanManager::scannerFinished()
|
|||||||
delete m_musicScannerThreadController;
|
delete m_musicScannerThreadController;
|
||||||
m_musicScannerThreadController = 0;
|
m_musicScannerThreadController = 0;
|
||||||
}
|
}
|
||||||
|
m_scanTimer->start();
|
||||||
emit finished();
|
emit finished();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user