summaryrefslogtreecommitdiffstats
path: root/src/library
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2018-11-01 21:20:09 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2018-11-01 21:20:09 +0100
commit9a2998227aa50e7781a1e8f45c35d486994e7d01 (patch)
tree2ad563934b5bf741d6be07ad79b14e00b1c69313 /src/library
parente0ecb77a5a2c40f9433109ab82f81112ffcb0c5c (diff)
Override getTrackId for external libraries
Diffstat (limited to 'src/library')
-rw-r--r--src/library/banshee/bansheeplaylistmodel.cpp9
-rw-r--r--src/library/banshee/bansheeplaylistmodel.h2
-rw-r--r--src/library/baseexternalplaylistmodel.cpp9
-rw-r--r--src/library/baseexternalplaylistmodel.h1
4 files changed, 21 insertions, 0 deletions
diff --git a/src/library/banshee/bansheeplaylistmodel.cpp b/src/library/banshee/bansheeplaylistmodel.cpp
index d42944b38b..8d70427f16 100644
--- a/src/library/banshee/bansheeplaylistmodel.cpp
+++ b/src/library/banshee/bansheeplaylistmodel.cpp
@@ -348,6 +348,15 @@ TrackPointer BansheePlaylistModel::getTrack(const QModelIndex& index) const {
return pTrack;
}
+TrackId BansheePlaylistModel::getTrackId(const QModelIndex& index) const {
+ const auto track = getTrack(index);
+ if (track) {
+ return track->getId();
+ } else {
+ return TrackId();
+ }
+}
+
// Gets the on-disk location of the track at the given location.
QString BansheePlaylistModel::getTrackLocation(const QModelIndex& index) const {
if (!index.isValid()) {
diff --git a/src/library/banshee/bansheeplaylistmodel.h b/src/library/banshee/bansheeplaylistmodel.h
index 209a5b4eaf..398e8b7c72 100644
--- a/src/library/banshee/bansheeplaylistmodel.h
+++ b/src/library/banshee/bansheeplaylistmodel.h
@@ -20,6 +20,8 @@ class BansheePlaylistModel : public BaseSqlTableModel {
void setTableModel(int playlistId);
TrackPointer getTrack(const QModelIndex& index) const final;
+ TrackId getTrackId(const QModelIndex& index) const final;
+
QString getTrackLocation(const QModelIndex& index) const final;
bool isColumnInternal(int column) final;
diff --git a/src/library/baseexternalplaylistmodel.cpp b/src/library/baseexternalplaylistmodel.cpp
index 7529523896..2ba94fe30b 100644
--- a/src/library/baseexternalplaylistmodel.cpp
+++ b/src/library/baseexternalplaylistmodel.cpp
@@ -65,6 +65,15 @@ TrackPointer BaseExternalPlaylistModel::getTrack(const QModelIndex& index) const
return pTrack;
}
+TrackId BaseExternalPlaylistModel::getTrackId(const QModelIndex& index) const {
+ const auto track = getTrack(index);
+ if (track) {
+ return track->getId();
+ } else {
+ return TrackId();
+ }
+}
+
bool BaseExternalPlaylistModel::isColumnInternal(int column) {
if (column == fieldIndex(ColumnCache::COLUMN_PLAYLISTTRACKSTABLE_TRACKID) ||
(PlayerManager::numPreviewDecks() == 0 &&
diff --git a/src/library/baseexternalplaylistmodel.h b/src/library/baseexternalplaylistmodel.h
index 0b8cd3e7b4..51cbb9c94f 100644
--- a/src/library/baseexternalplaylistmodel.h
+++ b/src/library/baseexternalplaylistmodel.h
@@ -25,6 +25,7 @@ class BaseExternalPlaylistModel : public BaseSqlTableModel {
void setPlaylist(QString path_name);
TrackPointer getTrack(const QModelIndex& index) const override;
+ TrackId getTrackId(const QModelIndex& index) const override;
bool isColumnInternal(int column) override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
void trackLoaded(QString group, TrackPointer pTrack) override;