-
${name}
+ ${name}
${
}
- ${}${release class="Lms-btn Lms-releasename text-primary"}${}
+ ${}${release}${}
${}${artists}${}
${}
diff --git a/src/lms/ui/LmsApplication.cpp b/src/lms/ui/LmsApplication.cpp
index d151a7cc..7f650fbe 100644
--- a/src/lms/ui/LmsApplication.cpp
+++ b/src/lms/ui/LmsApplication.cpp
@@ -452,6 +452,7 @@ LmsApplication::createHome()
_coverResource = std::make_shared
();
declareJavaScriptFunction("onLoadCover", "function(id) { id.className += \" Lms-cover-loaded\"}");
+ declareJavaScriptFunction("stopPropagation", "function(event) { event.stopPropagation() }");
doJavaScript("$('body').tooltip({ selector: '[data-toggle=\"tooltip\"]'})");
Wt::WTemplate* main {root()->addWidget(std::make_unique(Wt::WString::tr("Lms.main.template")))};
diff --git a/src/lms/ui/explore/ReleaseView.cpp b/src/lms/ui/explore/ReleaseView.cpp
index 3b8d5431..d1573fce 100644
--- a/src/lms/ui/explore/ReleaseView.cpp
+++ b/src/lms/ui/explore/ReleaseView.cpp
@@ -22,6 +22,7 @@
#include
#include
#include
+#include
#include
#include
@@ -159,7 +160,7 @@ Release::refreshView()
}
{
- Wt::WText* playBtn {bindNew("play-btn", Wt::WString::tr("Lms.Explore.template.play-btn"), Wt::TextFormat::XHTML)};
+ Wt::WPushButton* playBtn {bindNew("play-btn", Wt::WString::tr("Lms.Explore.template.play-btn"), Wt::TextFormat::XHTML)};
playBtn->clicked().connect([=]
{
releasesAction.emit(PlayQueueAction::Play, {*releaseId});
@@ -167,7 +168,7 @@ Release::refreshView()
}
{
- Wt::WText* moreBtn {bindNew("more-btn", Wt::WString::tr("Lms.Explore.template.more-btn"), Wt::TextFormat::XHTML)};
+ Wt::WPushButton* moreBtn {bindNew("more-btn", Wt::WString::tr("Lms.Explore.template.more-btn"), Wt::TextFormat::XHTML)};
moreBtn->clicked().connect([=]
{
displayReleasePopupMenu(*moreBtn, *releaseId, releasesAction);
@@ -218,6 +219,11 @@ Release::refreshView()
Wt::WTemplate* entry {container->addNew(Wt::WString::tr("Lms.Explore.Release.template.entry"))};
+ entry->clicked().connect([=]
+ {
+ tracksAction.emit(PlayQueueAction::Play, {trackId});
+ });
+
entry->bindString("name", Wt::WString::fromUTF8(track->getName()), Wt::TextFormat::Plain);
const auto artists {track->getArtists({TrackArtistLinkType::Artist})};
@@ -226,10 +232,13 @@ Release::refreshView()
entry->setCondition("if-has-artists", true);
Wt::WContainerWidget* artistsContainer {entry->bindNew("artists")};
+ bool firstArtist {true};
for (const auto& artist : artists)
{
- Wt::WTemplate *t {artistsContainer->addNew(Wt::WString::tr("Lms.Explore.Release.template.entry-artist"))};
- t->bindWidget("artist", LmsApplication::createArtistAnchor(artist));
+ if (!firstArtist)
+ artistsContainer->addNew(" · ");
+ artistsContainer->addWidget(LmsApplication::createArtistAnchor(artist));
+ firstArtist = false;
}
}
@@ -240,14 +249,8 @@ Release::refreshView()
entry->bindInt("track-number", *trackNumber);
}
- Wt::WText* playBtn {entry->bindNew("play-btn", Wt::WString::tr("Lms.Explore.template.play-btn"), Wt::TextFormat::XHTML)};
- playBtn->clicked().connect([=]()
- {
- tracksAction.emit(PlayQueueAction::Play, {trackId});
- });
-
- Wt::WText* moreBtn {entry->bindNew("more-btn", Wt::WString::tr("Lms.Explore.template.more-btn"), Wt::TextFormat::XHTML)};
- moreBtn->clicked().connect([=]()
+ Wt::WPushButton* moreBtn {entry->bindNew("more-btn", Wt::WString::tr("Lms.Explore.template.more-btn"), Wt::TextFormat::XHTML)};
+ moreBtn->clicked().connect([=]
{
displayTrackPopupMenu(*moreBtn, trackId, tracksAction);
});