Use list instead of map for songs in internet search
Fixes issues with sorting
This commit is contained in:
@@ -393,11 +393,11 @@ MimeData *InternetSearchModel::LoadTracks(const InternetSearchView::ResultList &
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
SongMap songs;
|
||||
SongList songs;
|
||||
QList<QUrl> urls;
|
||||
urls.reserve(results.count());
|
||||
for (const InternetSearchView::Result &result : results) {
|
||||
songs.insert(result.metadata_.song_id(), result.metadata_);
|
||||
songs.append(result.metadata_);
|
||||
urls << result.metadata_.url();
|
||||
}
|
||||
|
||||
|
||||
@@ -766,7 +766,7 @@ void InternetSearchView::AddArtists() {
|
||||
MimeData *mimedata = SelectedMimeData();
|
||||
if (!mimedata) return;
|
||||
if (const InternetSongMimeData *internet_song_data = qobject_cast<const InternetSongMimeData*>(mimedata)) {
|
||||
emit AddArtistsSignal(internet_song_data->songs.values());
|
||||
emit AddArtistsSignal(internet_song_data->songs);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -776,7 +776,7 @@ void InternetSearchView::AddAlbums() {
|
||||
MimeData *mimedata = SelectedMimeData();
|
||||
if (!mimedata) return;
|
||||
if (const InternetSongMimeData *internet_song_data = qobject_cast<const InternetSongMimeData*>(mimedata)) {
|
||||
emit AddAlbumsSignal(internet_song_data->songs.values());
|
||||
emit AddAlbumsSignal(internet_song_data->songs);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ class InternetSearchView : public QWidget {
|
||||
void AddToPlaylist(QMimeData*);
|
||||
void AddArtistsSignal(SongList);
|
||||
void AddAlbumsSignal(SongList);
|
||||
void AddSongsSignal(SongMap);
|
||||
void AddSongsSignal(SongList);
|
||||
|
||||
private slots:
|
||||
void SwapModels();
|
||||
|
||||
@@ -123,7 +123,7 @@ class InternetService : public QObject {
|
||||
|
||||
void AddArtists(SongList songs);
|
||||
void AddAlbums(SongList songs);
|
||||
void AddSongs(SongMap songs);
|
||||
void AddSongs(SongList songs);
|
||||
|
||||
void RemoveArtists(SongList songs);
|
||||
void RemoveAlbums(SongList songs);
|
||||
|
||||
@@ -21,8 +21,6 @@
|
||||
#ifndef INTERNETSONGMIMEDATA_H
|
||||
#define INTERNETSONGMIMEDATA_H
|
||||
|
||||
#include <QMap>
|
||||
|
||||
#include "core/mimedata.h"
|
||||
#include "core/song.h"
|
||||
|
||||
@@ -35,7 +33,7 @@ class InternetSongMimeData : public MimeData {
|
||||
explicit InternetSongMimeData(InternetService *_service, QObject* = nullptr) : service(_service) {}
|
||||
|
||||
InternetService *service;
|
||||
SongMap songs;
|
||||
SongList songs;
|
||||
};
|
||||
|
||||
#endif // INTERNETSONGMIMEDATA_H
|
||||
|
||||
Reference in New Issue
Block a user