Beispiel #1
0
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);
    }
}
Beispiel #2
0
StreamsBrowsePage::~StreamsBrowsePage()
{
    for (NetworkJob *job: resolveJobs) {
        disconnect(job, SIGNAL(finished()), this, SLOT(tuneInResolved()));
        job->deleteLater();
    }
    resolveJobs.clear();
    Configuration config(metaObject()->className());
    view->save(config);
}
Beispiel #3
0
 foreach (NetworkJob *job, resolveJobs) {
     disconnect(job, SIGNAL(finished()), this, SLOT(tuneInResolved()));
     job->deleteLater();
 }