summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoergAtGithub <JoergAtGithub@worldwartweb.com>2020-10-25 20:11:22 +0100
committerJoergAtGithub <JoergAtGithub@worldwartweb.com>2020-10-25 20:11:22 +0100
commite29c38a5fd34687751369f266c393a9aacf4ecde (patch)
tree0f754878cede921e73a4e3b671f6353d63ac1624 /src
parent2ee6f314807bc970f51e58387ddd719758f2039a (diff)
Enforce override by = 0 and implemented function getCoverInfo for ProxyTrackModel
Diffstat (limited to 'src')
-rw-r--r--src/library/browse/browsetablemodel.cpp11
-rw-r--r--src/library/browse/browsetablemodel.h1
-rw-r--r--src/library/proxytrackmodel.cpp5
-rw-r--r--src/library/proxytrackmodel.h1
-rw-r--r--src/library/trackmodel.h4
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.