Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}