Indicate the playing track while in release view

This commit is contained in:
emeric
2018-09-13 20:37:10 +02:00
parent 7264cdc364
commit 36ea379787
4 changed files with 17 additions and 2 deletions
+5
View File
@@ -146,6 +146,7 @@ a:hover {
.Lms-explore-release-entry-name {
margin-top: 4px;
margin-bottom: 4px;
font-weight: inherit;
}
.Lms-explore-release-entry:hover {
@@ -156,6 +157,10 @@ a:hover {
text-align: center;
}
.Lms-explore-release-entry-playing {
font-weight: bold;
}
.Lms-explore-artists-entry {
min-height: 48px;
}
+3 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Emeric Poupon
* Copyright (C) 2018 Emeric Poupon
*
* This file is part of LMS.
*
@@ -448,11 +448,13 @@ LmsApplication::createHome()
playqueue->loadTrack.connect([=] (Database::IdType trackId, bool play)
{
_events.lastLoadedTrackId = trackId;
_events.trackLoaded(trackId, play);
});
playqueue->trackUnload.connect([=]
{
_events.lastLoadedTrackId.reset();
_events.trackUnloaded();
});
+1
View File
@@ -47,6 +47,7 @@ struct Events
// A track is being loaded
Wt::Signal<Database::IdType /* trackId */, bool /* play */> trackLoaded;
boost::optional<Database::IdType> lastLoadedTrackId;
// Unload current track
Wt::Signal<> trackUnloaded;
+8 -1
View File
@@ -62,7 +62,6 @@ Release::refresh()
return;
clear();
auto releaseId = readAs<Database::IdType>(wApp->internalPathNextPart("/release/"));
if (!releaseId)
return;
@@ -192,6 +191,14 @@ Release::refresh()
{
trackAdd.emit(trackId);
}));
LmsApp->getEvents().trackLoaded.connect(entry, [=] (Database::IdType loadedTrackId, bool /*play*/)
{
entry->toggleStyleClass("Lms-explore-release-entry-playing", loadedTrackId == trackId);
});
if (LmsApp->getEvents().lastLoadedTrackId && *LmsApp->getEvents().lastLoadedTrackId == trackId)
entry->addStyleClass("Lms-explore-release-entry-playing");
}
}