int MagnatuneXmlParser::parse(QXmlStreamReader &xml) { QList<Song> *songList=new QList<Song>(); while (!xml.atEnd()) { xml.readNext(); if (QXmlStreamReader::StartElement==xml.tokenType() && QLatin1String("Track")==xml.name()) { songList->append(parseSong(xml)); if (songList->count()>50) { emit songs(songList); songList=new QList<Song>(); } } } if (songList->isEmpty()) { delete songList; } else { emit songs(songList); } return artists.count(); }
MPDSongList MPDSongModel::songs(const QModelIndex &index) const { QModelIndexList indexes; indexes.append(index); return songs(indexes); }