Create NetworkAccessManager only when needed

This commit is contained in:
craig.p.drummond
2014-03-03 19:30:09 +00:00
parent 7c1a7dede4
commit b57ae6e96b
2 changed files with 13 additions and 4 deletions

View File

@@ -473,8 +473,8 @@ const QStringList & Covers::standardNames()
}
CoverDownloader::CoverDownloader()
: manager(0)
{
manager=new NetworkAccessManager(this);
thread=new Thread(metaObject()->className());
moveToThread(thread);
thread->start();
@@ -541,7 +541,7 @@ bool CoverDownloader::downloadViaHttp(Job &job, JobType type)
#endif
job.type=type;
NetworkJob *j=manager->get(u);
NetworkJob *j=network()->get(u);
connect(j, SIGNAL(finished()), this, SLOT(jobFinished()));
jobs.insert(j, job);
DBUG << u.toString();
@@ -568,7 +568,7 @@ void CoverDownloader::downloadViaLastFm(Job &job)
url.setQuery(query);
#endif
NetworkJob *j = manager->get(url);
NetworkJob *j = network()->get(url);
connect(j, SIGNAL(finished()), this, SLOT(lastFmCallFinished()));
job.type=JobLastFm;
jobs.insert(j, job);
@@ -632,7 +632,7 @@ void CoverDownloader::lastFmCallFinished()
#else
u=QUrl(url);
#endif
NetworkJob *j=manager->get(QNetworkRequest(u));
NetworkJob *j=network()->get(QNetworkRequest(u));
connect(j, SIGNAL(finished()), this, SLOT(jobFinished()));
DBUG << "download" << u.toString();
jobs.insert(j, job);
@@ -802,6 +802,14 @@ QHash<NetworkJob *, CoverDownloader::Job>::Iterator CoverDownloader::findJob(con
return end;
}
NetworkAccessManager * CoverDownloader::network()
{
if (!manager) {
manager=new NetworkAccessManager(this);
}
return manager;
}
CoverLocator::CoverLocator()
: timer(0)
{