Added covers for the playqueue view
This commit is contained in:
+12
-5
@@ -31,11 +31,18 @@
|
|||||||
<message id="Lms.PlayQueue.template.entry">
|
<message id="Lms.PlayQueue.template.entry">
|
||||||
<div class="row Lms-playqueue-entry Lms-entry-hoverable Lms-vertical-align ${is-selected}">
|
<div class="row Lms-playqueue-entry Lms-entry-hoverable Lms-vertical-align ${is-selected}">
|
||||||
<div class="col-xs-9 Lms-playqueue-entry-name">
|
<div class="col-xs-9 Lms-playqueue-entry-name">
|
||||||
<h4><div class="Lms-trackname text-primary">${name}</div></h4>
|
<div class="media">
|
||||||
${<if-has-artists-or-release>}
|
<div class="media-left media-middle hidden-xs">
|
||||||
${<if-has-release>}<small>${release class="Lms-releasename text-primary"}</small>${</if-has-release>}
|
${cover class="media-object Lms-cover"}
|
||||||
${<if-has-artists>}${artists}${</if-has-artists>}
|
</div>
|
||||||
${</if-has-artists-or-release>}
|
<div class="media-body media-middle">
|
||||||
|
<h4><div class="Lms-trackname text-primary">${name}</div></h4>
|
||||||
|
${<if-has-artists-or-release>}
|
||||||
|
${<if-has-release>}<small>${release class="Lms-releasename text-primary"}</small>${</if-has-release>}
|
||||||
|
${<if-has-artists>}${artists}${</if-has-artists>}
|
||||||
|
${</if-has-artists-or-release>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3">
|
<div class="col-xs-3">
|
||||||
<div class="Lms-playqueue-entry-controls Lms-vertical-align">
|
<div class="Lms-playqueue-entry-controls Lms-vertical-align">
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include "utils/Service.hpp"
|
#include "utils/Service.hpp"
|
||||||
#include "utils/String.hpp"
|
#include "utils/String.hpp"
|
||||||
|
|
||||||
|
#include "resource/ImageResource.hpp"
|
||||||
#include "TrackStringUtils.hpp"
|
#include "TrackStringUtils.hpp"
|
||||||
#include "LmsApplication.hpp"
|
#include "LmsApplication.hpp"
|
||||||
|
|
||||||
@@ -343,15 +344,15 @@ PlayQueue::addSome()
|
|||||||
auto tracklistEntries = tracklist->getEntries(_entriesContainer->count(), 50);
|
auto tracklistEntries = tracklist->getEntries(_entriesContainer->count(), 50);
|
||||||
for (const Database::TrackListEntry::pointer& tracklistEntry : tracklistEntries)
|
for (const Database::TrackListEntry::pointer& tracklistEntry : tracklistEntries)
|
||||||
{
|
{
|
||||||
auto tracklistEntryId = tracklistEntry.id();
|
const auto tracklistEntryId {tracklistEntry.id()};
|
||||||
auto track = tracklistEntry->getTrack();
|
const auto track {tracklistEntry->getTrack()};
|
||||||
|
|
||||||
Wt::WTemplate* entry = _entriesContainer->addNew<Wt::WTemplate>(Wt::WString::tr("Lms.PlayQueue.template.entry"));
|
Wt::WTemplate* entry = _entriesContainer->addNew<Wt::WTemplate>(Wt::WString::tr("Lms.PlayQueue.template.entry"));
|
||||||
|
|
||||||
entry->bindString("name", Wt::WString::fromUTF8(track->getName()), Wt::TextFormat::Plain);
|
entry->bindString("name", Wt::WString::fromUTF8(track->getName()), Wt::TextFormat::Plain);
|
||||||
|
|
||||||
auto artists {track->getArtists()};
|
const auto artists {track->getArtists()};
|
||||||
auto release = track->getRelease();
|
const auto release {track->getRelease()};
|
||||||
|
|
||||||
if (!artists.empty() || release)
|
if (!artists.empty() || release)
|
||||||
entry->setCondition("if-has-artists-or-release", true);
|
entry->setCondition("if-has-artists-or-release", true);
|
||||||
@@ -370,7 +371,20 @@ PlayQueue::addSome()
|
|||||||
if (release)
|
if (release)
|
||||||
{
|
{
|
||||||
entry->setCondition("if-has-release", true);
|
entry->setCondition("if-has-release", true);
|
||||||
entry->bindWidget("release", LmsApplication::createReleaseAnchor(track->getRelease()));
|
entry->bindWidget("release", LmsApplication::createReleaseAnchor(release));
|
||||||
|
{
|
||||||
|
Wt::WAnchor* anchor = entry->bindWidget("cover", LmsApplication::createReleaseAnchor(release, false));
|
||||||
|
auto cover = std::make_unique<Wt::WImage>();
|
||||||
|
cover->setImageLink(LmsApp->getImageResource()->getReleaseUrl(release.id(), 96));
|
||||||
|
cover->setStyleClass("Lms-cover-small");
|
||||||
|
anchor->setImage(std::move(cover));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auto cover = entry->bindNew<Wt::WImage>("cover");
|
||||||
|
cover->setImageLink(LmsApp->getImageResource()->getTrackUrl(track.id(), 96));
|
||||||
|
cover->setStyleClass("Lms-cover-small");
|
||||||
}
|
}
|
||||||
|
|
||||||
entry->bindString("duration", trackDurationToString(track->getDuration()), Wt::TextFormat::Plain);
|
entry->bindString("duration", trackDurationToString(track->getDuration()), Wt::TextFormat::Plain);
|
||||||
|
|||||||
Reference in New Issue
Block a user