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);
}