diff options
author | JoergAtGithub <JoergAtGithub@worldwartweb.com> | 2020-10-25 20:11:22 +0100 |
---|---|---|
committer | JoergAtGithub <JoergAtGithub@worldwartweb.com> | 2020-10-25 20:11:22 +0100 |
commit | e29c38a5fd34687751369f266c393a9aacf4ecde (patch) | |
tree | 0f754878cede921e73a4e3b671f6353d63ac1624 | |
parent | 2ee6f314807bc970f51e58387ddd719758f2039a (diff) |
Enforce override by = 0 and implemented function getCoverInfo for ProxyTrackModel
-rw-r--r-- | src/library/browse/browsetablemodel.cpp | 11 | ||||
-rw-r--r-- | src/library/browse/browsetablemodel.h | 1 | ||||
-rw-r--r-- | src/library/proxytrackmodel.cpp | 5 | ||||
-rw-r--r-- | src/library/proxytrackmodel.h | 1 | ||||
-rw-r--r-- | src/library/trackmodel.h | 4 |
5 files changed, 19 insertions, 3 deletions
diff --git a/src/library/browse/browsetablemodel.cpp b/src/library/browse/browsetablemodel.cpp index 8525e2e991..afee0b9a2b 100644 --- a/src/library/browse/browsetablemodel.cpp +++ b/src/library/browse/browsetablemodel.cpp @@ -203,6 +203,17 @@ TrackId BrowseTableModel::getTrackId(const QModelIndex& index) const { } } +CoverInfo BrowseTableModel::getCoverInfo(const QModelIndex& index) const { + TrackPointer pTrack = getTrack(index); + if (pTrack) { + return CoverInfo::CoverInfo(pTrack->getCoverInfo(), getTrackLocation(index)); + } else { + qWarning() + << "Track is not available in library" + << getTrackLocation(index); + return CoverInfo(); + } +} const QVector<int> BrowseTableModel::getTrackRows(TrackId trackId) const { Q_UNUSED(trackId); // We can't implement this as it stands. diff --git a/src/library/browse/browsetablemodel.h b/src/library/browse/browsetablemodel.h index 205f11c0e7..b704237757 100644 --- a/src/library/browse/browsetablemodel.h +++ b/src/library/browse/browsetablemodel.h @@ -56,6 +56,7 @@ class BrowseTableModel final : public QStandardItemModel, public virtual TrackMo QString getTrackLocation(const QModelIndex& index) const override; TrackId getTrackId(const QModelIndex& index) const override; + CoverInfo getCoverInfo(const QModelIndex& index) const override; const QVector<int> getTrackRows(TrackId trackId) const override; void search(const QString& searchText,const QString& extraFilter = QString()) override; void removeTracks(const QModelIndexList& indices) override; diff --git a/src/library/proxytrackmodel.cpp b/src/library/proxytrackmodel.cpp index 37b5cdfe5a..fbd37bdd3e 100644 --- a/src/library/proxytrackmodel.cpp +++ b/src/library/proxytrackmodel.cpp @@ -38,6 +38,11 @@ TrackId ProxyTrackModel::getTrackId(const QModelIndex& index) const { return m_pTrackModel ? m_pTrackModel->getTrackId(indexSource) : TrackId(); } +CoverInfo ProxyTrackModel::getCoverInfo(const QModelIndex& index) const { + QModelIndex indexSource = mapToSource(index); + return m_pTrackModel ? m_pTrackModel->getCoverInfo(indexSource) : CoverInfo(); +} + const QVector<int> ProxyTrackModel::getTrackRows(TrackId trackId) const { return m_pTrackModel ? m_pTrackModel->getTrackRows(trackId) : QVector<int>(); } diff --git a/src/library/proxytrackmodel.h b/src/library/proxytrackmodel.h index 7b72ea652b..e7044ca3e6 100644 --- a/src/library/proxytrackmodel.h +++ b/src/library/proxytrackmodel.h @@ -27,6 +27,7 @@ class ProxyTrackModel : public QSortFilterProxyModel, public TrackModel { TrackPointer getTrackByRef(const TrackRef& trackRef) const final; QString getTrackLocation(const QModelIndex& index) const final; TrackId getTrackId(const QModelIndex& index) const final; + CoverInfo getCoverInfo(const QModelIndex& index) const final; const QVector<int> getTrackRows(TrackId trackId) const final; void search(const QString& searchText,const QString& extraFilter = QString()) final; const QString currentSearch() const final; diff --git a/src/library/trackmodel.h b/src/library/trackmodel.h index 89e1de2027..ba1b0c47f5 100644 --- a/src/library/trackmodel.h +++ b/src/library/trackmodel.h @@ -100,9 +100,7 @@ class TrackModel { // Gets the track ID of the track at the given QModelIndex virtual TrackId getTrackId(const QModelIndex& index) const = 0; - virtual CoverInfo getCoverInfo(const QModelIndex&) const { - return CoverInfo(); - } + virtual CoverInfo getCoverInfo(const QModelIndex& index) const = 0; // Gets the rows of the track in the current result set. Returns an // empty list if the track ID is not present in the result set. |