SongList SoundCloudService::ExtractSongs(const QVariant& result) { SongList songs; QVariantList q_variant_list = result.toList(); for (const QVariant& q : q_variant_list) { Song song = ExtractSong(q.toMap()); if (song.is_valid()) { songs << song; } } return songs; }
QList<QStandardItem*> SoundCloudService::ExtractActivities(const QVariant& result) { QList<QStandardItem*> activities; QVariantList q_variant_list = result.toMap()["collection"].toList(); for (const QVariant& q : q_variant_list) { QMap<QString, QVariant> activity = q.toMap(); const QString type = activity["type"].toString(); if (type == "track") { Song song = ExtractSong(activity["origin"].toMap()); if (song.is_valid()) { activities << CreateSongItem(song); } } else if (type == "playlist") { // TODO } } return activities; }
QList<QStandardItem*> SoundCloudService::ExtractActivities(const QVariant& result) { QList<QStandardItem*> activities; QVariantList q_variant_list = result.toMap()["collection"].toList(); for (const QVariant& q : q_variant_list) { QMap<QString, QVariant> activity = q.toMap(); const QString type = activity["type"].toString(); if (type == "track") { Song song = ExtractSong(activity["origin"].toMap()); if (song.is_valid()) { activities << CreateSongItem(song); } } else if (type == "playlist") { QMap<QString, QVariant> origin_map = activity["origin"].toMap(); QStandardItem* playlist_item = CreatePlaylistItem(origin_map["title"].toString()); activities << playlist_item; RetrievePlaylist(origin_map["id"].toInt(), playlist_item); } } return activities; }