void PlaylistModel::componentComplete() { QStringList tracksList(PlaylistUtils::parsePlaylist(m_url)); if (tracksList.isEmpty()) { m_loaded = true; emit loadedChanged(); } else { QSparqlConnection *connection = new QSparqlConnection("QTRACKER_DIRECT", QSparqlConnectionOptions(), this); for (int i = 0, max = tracksList.size(); i < max; i++) { QString url(tracksList.at(i)); m_tracks.append(new PlaylistTrack(url)); QSparqlResult *result = connection->exec(QSparqlQuery(PlaylistUtils::trackSparqlQuery(url), QSparqlQuery::SelectStatement)); result->setProperty("trackIndex", i); connect(result, &QSparqlResult::finished, this, &PlaylistModel::onQueryFinished); m_queries.append(result); } } }