void StreamsBrowsePage::addToFavourites(const QList<StreamItem> &items) { int added=0; for (const StreamItem item: items) { QUrl url(item.url); QUrlQuery query(url); query.removeQueryItem(QLatin1String("locale")); if (!query.isEmpty()) { url.setQuery(query); } QString urlStr=url.toString(); if (urlStr.endsWith('&')) { urlStr=urlStr.left(urlStr.length()-1); } if (urlStr.startsWith(QLatin1String("http://opml.radiotime.com/Tune.ashx"))) { NetworkJob *job=NetworkAccessManager::self()->get(urlStr, 5000); job->setProperty(constNameProperty, item.modifiedName); connect(job, SIGNAL(finished()), this, SLOT(tuneInResolved())); resolveJobs.insert(job); added++; } else if (StreamsModel::self()->addToFavourites(urlStr, item.modifiedName)) { added++; } } if (!added) { view->showMessage(tr("Already in favorites"), constMsgDisplayTime); } }
StreamsBrowsePage::~StreamsBrowsePage() { for (NetworkJob *job: resolveJobs) { disconnect(job, SIGNAL(finished()), this, SLOT(tuneInResolved())); job->deleteLater(); } resolveJobs.clear(); Configuration config(metaObject()->className()); view->save(config); }
foreach (NetworkJob *job, resolveJobs) { disconnect(job, SIGNAL(finished()), this, SLOT(tuneInResolved())); job->deleteLater(); }