1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-10 16:14:40 +02:00

Delayed ScanManager init, so we can connect to its signal beforehand.

This commit is contained in:
Christian Muehlhaeuser
2014-10-23 16:10:08 +02:00
parent eeb0a55222
commit 25a716f47a
3 changed files with 21 additions and 13 deletions

View File

@@ -89,17 +89,6 @@ ScanManager::ScanManager( QObject* parent )
m_scanTimer = new QTimer( this );
m_scanTimer->setSingleShot( false );
m_scanTimer->setInterval( TomahawkSettings::instance()->scannerTime() * 1000 );
connect( TomahawkSettings::instance(), SIGNAL( changed() ), SLOT( onSettingsChanged() ) );
connect( m_scanTimer, SIGNAL( timeout() ), SLOT( scanTimerTimeout() ) );
if ( TomahawkSettings::instance()->hasScannerPaths() )
{
m_cachedScannerDirs = TomahawkSettings::instance()->scannerPaths();
m_scanTimer->start();
if ( TomahawkSettings::instance()->watchForChanges() )
QTimer::singleShot( 1000, this, SLOT( runStartupScan() ) );
}
}
@@ -119,6 +108,22 @@ ScanManager::~ScanManager()
}
void
ScanManager::init()
{
connect( TomahawkSettings::instance(), SIGNAL( changed() ), SLOT( onSettingsChanged() ) );
connect( m_scanTimer, SIGNAL( timeout() ), SLOT( scanTimerTimeout() ) );
if ( TomahawkSettings::instance()->hasScannerPaths() )
{
m_cachedScannerDirs = TomahawkSettings::instance()->scannerPaths();
m_scanTimer->start();
if ( TomahawkSettings::instance()->watchForChanges() )
QTimer::singleShot( 1000, this, SLOT( runStartupScan() ) );
}
}
void
ScanManager::onSettingsChanged()
{

View File

@@ -66,6 +66,8 @@ public:
explicit ScanManager( QObject* parent = 0 );
virtual ~ScanManager();
void init();
signals:
void started();
void progress( unsigned int files );

View File

@@ -608,6 +608,7 @@ TomahawkApp::onInfoSystemReady()
Echonest::Config::instance()->setNetworkAccessManager( Tomahawk::Utils::nam() );
EchonestGenerator::setupCatalogs();
m_scanManager = QPointer<ScanManager>( new ScanManager( this ) );
if ( !m_headless )
{
tDebug() << "Init MainWindow.";
@@ -626,10 +627,10 @@ TomahawkApp::onInfoSystemReady()
tDebug() << "Init Pipeline.";
initPipeline();
m_scanManager = QPointer<ScanManager>( new ScanManager( this ) );
m_scanManager->init();
if ( arguments().contains( "--filescan" ) )
{
m_scanManager.data()->runFullRescan();
m_scanManager->runFullRescan();
}
// load remote list of resolvers able to be installed