Added show more to playlist

This commit is contained in:
emeric
2018-02-22 13:54:32 +01:00
parent 5b4fe044de
commit 86077c1e44
11 changed files with 55 additions and 24 deletions
+10 -2
View File
@@ -83,16 +83,24 @@ PlaylistEntry::create(Wt::Dbo::Session& session, Wt::Dbo::ptr<Track> track, Wt::
std::vector<Wt::Dbo::ptr<Track>>
Playlist::getTracks(int offset, int size) const
Playlist::getTracks(int offset, int size, bool& moreResults) const
{
assert(session());
Wt::Dbo::collection<Wt::Dbo::ptr<PlaylistEntry>> entries = session()->find<PlaylistEntry>().where("playlist_id = ?").bind(self().id()).orderBy("pos").offset(offset).limit(size);
moreResults = false;
Wt::Dbo::collection<Wt::Dbo::ptr<PlaylistEntry>> entries = session()->find<PlaylistEntry>().where("playlist_id = ?").bind(self().id()).orderBy("pos").offset(offset).limit(size + 1);
std::vector<Wt::Dbo::ptr<Track>> res;
for (auto entry : entries)
{
if (size != -1 && res.size() == static_cast<std::size_t>(size))
{
moreResults = true;
break;
}
res.push_back(entry->getTrack());
}
+1 -1
View File
@@ -54,7 +54,7 @@ class Playlist : public Wt::Dbo::Dbo<Playlist>
void clear() { _entries.clear(); }
// Get tracks, ordered by position
std::vector<Wt::Dbo::ptr<Track>> getTracks(int offset = -1, int size = -1) const;
std::vector<Wt::Dbo::ptr<Track>> getTracks(int offset, int size, bool& moreResults) const;
template<class Action>
void persist(Action& a)