Use DbPlaylistItem base class for Jamendo and Magnatune

Moving these from LibraryPlaylistItem removes local file specific
implementations of IsLocalLibraryItem and Reload. Returning true for
IsLocalLibraryItem caused ratings to be set on unrelated library songs.
This commit is contained in:
Jim Broadus 2020-06-16 17:08:23 -07:00 committed by John Maguire
parent f563b7da40
commit 76a24a0a28
4 changed files with 8 additions and 20 deletions

View File

@ -20,12 +20,10 @@
#include "jamendoplaylistitem.h" #include "jamendoplaylistitem.h"
JamendoPlaylistItem::JamendoPlaylistItem(const QString& type) JamendoPlaylistItem::JamendoPlaylistItem(const QString& type)
: LibraryPlaylistItem(type) {} : DbPlaylistItem(type) {}
JamendoPlaylistItem::JamendoPlaylistItem(const Song& song) JamendoPlaylistItem::JamendoPlaylistItem(const Song& song)
: LibraryPlaylistItem("Jamendo") { : DbPlaylistItem("Jamendo", song) {}
song_ = song;
}
bool JamendoPlaylistItem::InitFromQuery(const SqlRow& query) { bool JamendoPlaylistItem::InitFromQuery(const SqlRow& query) {
// Rows from the songs tables come first // Rows from the songs tables come first
@ -33,5 +31,3 @@ bool JamendoPlaylistItem::InitFromQuery(const SqlRow& query) {
return song_.is_valid(); return song_.is_valid();
} }
QUrl JamendoPlaylistItem::Url() const { return song_.url(); }

View File

@ -20,16 +20,14 @@
#ifndef INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_ #ifndef INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_
#define INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_ #define INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_
#include "library/libraryplaylistitem.h" #include "playlist/dbplaylistitem.h"
class JamendoPlaylistItem : public LibraryPlaylistItem { class JamendoPlaylistItem : public DbPlaylistItem {
public: public:
explicit JamendoPlaylistItem(const QString& type); explicit JamendoPlaylistItem(const QString& type);
explicit JamendoPlaylistItem(const Song& song); explicit JamendoPlaylistItem(const Song& song);
bool InitFromQuery(const SqlRow& query); bool InitFromQuery(const SqlRow& query);
QUrl Url() const;
}; };
#endif // INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_ #endif // INTERNET_JAMENDO_JAMENDOPLAYLISTITEM_H_

View File

@ -21,12 +21,10 @@
#include "internet/core/internetmodel.h" #include "internet/core/internetmodel.h"
MagnatunePlaylistItem::MagnatunePlaylistItem(const QString& type) MagnatunePlaylistItem::MagnatunePlaylistItem(const QString& type)
: LibraryPlaylistItem(type) {} : DbPlaylistItem(type) {}
MagnatunePlaylistItem::MagnatunePlaylistItem(const Song& song) MagnatunePlaylistItem::MagnatunePlaylistItem(const Song& song)
: LibraryPlaylistItem("Magnatune") { : DbPlaylistItem("Magnatune", song) {}
song_ = song;
}
bool MagnatunePlaylistItem::InitFromQuery(const SqlRow& query) { bool MagnatunePlaylistItem::InitFromQuery(const SqlRow& query) {
// Rows from the songs tables come first // Rows from the songs tables come first
@ -34,5 +32,3 @@ bool MagnatunePlaylistItem::InitFromQuery(const SqlRow& query) {
return song_.is_valid(); return song_.is_valid();
} }
QUrl MagnatunePlaylistItem::Url() const { return song_.url(); }

View File

@ -20,16 +20,14 @@
#ifndef INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_ #ifndef INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_
#define INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_ #define INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_
#include "library/libraryplaylistitem.h" #include "playlist/dbplaylistitem.h"
class MagnatunePlaylistItem : public LibraryPlaylistItem { class MagnatunePlaylistItem : public DbPlaylistItem {
public: public:
explicit MagnatunePlaylistItem(const QString& type); explicit MagnatunePlaylistItem(const QString& type);
explicit MagnatunePlaylistItem(const Song& song); explicit MagnatunePlaylistItem(const Song& song);
bool InitFromQuery(const SqlRow& query); bool InitFromQuery(const SqlRow& query);
QUrl Url() const;
}; };
#endif // INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_ #endif // INTERNET_MAGNATUNE_MAGNATUNEPLAYLISTITEM_H_