PlayList *PlayListRecord::playList() { if (!m_playList && m_provider) { m_playList = new PlayList(); m_playList->setRecord(this); QObject::connect( m_provider, SIGNAL(gotItems(QList<QUrl>,QList<QVariantHash>)), this, SLOT(gotItems(QList<QUrl>,QList<QVariantHash>)), static_cast<Qt::ConnectionType>(Qt::AutoConnection | Qt::UniqueConnection)); QObject::connect( m_provider, SIGNAL(itemsCountChanged(int)), this, SLOT(providerItemsCountChanged(int)), static_cast<Qt::ConnectionType>(Qt::AutoConnection | Qt::UniqueConnection)); m_provider->request(m_name, providerExtra()); }
void LocalPlayListProvider::request(const QString &name, const QVariantHash &extra) { int id = extra.value("id").toInt(); QList<QUrl> imageUrls = LocalDatabase::instance()->queryImageUrlsForLocalPlayListRecord(id); QList<QVariantHash> extraInfos; emit gotItems(imageUrls, extraInfos); }