From 7bc830f9c92db22fc1af56fcc6d18b59c14e254c Mon Sep 17 00:00:00 2001 From: emeric Date: Thu, 14 Apr 2022 20:39:09 +0200 Subject: [PATCH] Still converting to bootstrap 5 --- approot/artist.xml | 2 +- approot/release.xml | 16 +++++++++++----- approot/releases.xml | 2 +- approot/tracks.xml | 4 ++-- docroot/css/lms.css | 4 ++++ src/lms/ui/LmsApplication.cpp | 1 - src/lms/ui/explore/ArtistView.cpp | 7 +++---- src/lms/ui/explore/ReleaseView.cpp | 29 ++++++++++++++++++++++------- src/lms/ui/explore/ReleasesView.cpp | 5 +++-- src/lms/ui/explore/TracksView.cpp | 5 +++-- 10 files changed, 50 insertions(+), 25 deletions(-) diff --git a/approot/artist.xml b/approot/artist.xml index 12c5c5ff..d3638a18 100644 --- a/approot/artist.xml +++ b/approot/artist.xml @@ -6,7 +6,7 @@
${name} ${clusters class="mb-2"} - ${play-btn class="me-2"}${more-btn} + ${play-btn class="btn btn-lg btn-outline-dark border-0 me-2"}${more-btn class="btn btn-lg btn-outline-dark border-0"}
${} ${releases class="row gy-4"} diff --git a/approot/release.xml b/approot/release.xml index ff6e9d41..bf8426aa 100644 --- a/approot/release.xml +++ b/approot/release.xml @@ -18,7 +18,7 @@ ${}${tr:Lms.Explore.various-artists}${} ${}${year}${} (${orig-year})${} ยท ${}${duration} ${clusters class="mb-2"} - ${play-btn class="btn btn-dark me-2"}${more-btn class="btn btn-dark"} + ${play-btn class="btn btn-lg btn-outline-dark border-0 me-2"}${more-btn class="btn btn-lg btn-outline-dark border-0"} ${container class="d-grid gap-3"} @@ -54,20 +54,26 @@ ${tracks class="d-grid gap-1"} + + ${tracks class="d-grid gap-1"} + +
${}${track-number}${}
- ${name} - ${}
${artists}
${
} +
+ ${name} + ${}${artists}${} +
${duration}
-
- ${more-btn class="btn btn-sm btn-outline-secondary border-0"} +
+ ${play-btn class="btn btn-sm btn-outline-secondary border-0"}${more-btn class="btn btn-sm btn-outline-secondary border-0"}
diff --git a/approot/releases.xml b/approot/releases.xml index e2ea39ad..a1dd021f 100644 --- a/approot/releases.xml +++ b/approot/releases.xml @@ -5,7 +5,7 @@
${mode class="nav nav-pills mb-2"} - ${play-btn class="me-2"}${more-btn} + ${play-btn class="btn btn-lg btn-outline-dark border-0 me-2"}${more-btn class="btn btn-lg btn-outline-dark border-0"}
${releases}
diff --git a/approot/tracks.xml b/approot/tracks.xml index d03cfbdf..bc0f2f80 100644 --- a/approot/tracks.xml +++ b/approot/tracks.xml @@ -6,7 +6,7 @@
${mode class="nav nav-pills mb-2"} - ${play-btn class="me-2"}${more-btn} + ${play-btn class="btn btn-lg btn-outline-dark border-0 me-2"}${more-btn class="btn btn-lg btn-outline-dark border-0"}
${tracks}
@@ -27,7 +27,7 @@
${duration} - ${play-btn class="me-2"}${more-btn} + ${play-btn class="btn btn-sm btn-outline-secondary border-0"}${more-btn class="btn btn-sm btn-outline-secondary border-0"}
diff --git a/docroot/css/lms.css b/docroot/css/lms.css index d42e3544..433f99fb 100644 --- a/docroot/css/lms.css +++ b/docroot/css/lms.css @@ -5,3 +5,7 @@ body { .Lms-player { height: 70px; } + +.Lms-mw-fit-content { + max-width: fit-content; +} diff --git a/src/lms/ui/LmsApplication.cpp b/src/lms/ui/LmsApplication.cpp index 7f650fbe..d151a7cc 100644 --- a/src/lms/ui/LmsApplication.cpp +++ b/src/lms/ui/LmsApplication.cpp @@ -452,7 +452,6 @@ 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/ArtistView.cpp b/src/lms/ui/explore/ArtistView.cpp index d99063fa..3ea99fd4 100644 --- a/src/lms/ui/explore/ArtistView.cpp +++ b/src/lms/ui/explore/ArtistView.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -140,8 +141,7 @@ Artist::refreshView() bindString("name", Wt::WString::fromUTF8(artist->getName()), Wt::TextFormat::Plain); { - 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([=] { artistsAction.emit(PlayQueueAction::Play, {_artistId}); @@ -149,8 +149,7 @@ Artist::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([=] { Wt::WPopupMenu* popup {LmsApp->createPopupMenu()}; diff --git a/src/lms/ui/explore/ReleaseView.cpp b/src/lms/ui/explore/ReleaseView.cpp index d1573fce..6297bd1f 100644 --- a/src/lms/ui/explore/ReleaseView.cpp +++ b/src/lms/ui/explore/ReleaseView.cpp @@ -181,7 +181,7 @@ Release::refreshView() const auto totalDisc {release->getTotalDisc()}; const bool isReleaseMultiDisc {totalDisc && *totalDisc > 1}; - // Expect to be call in asc order + // Expect to be called in asc order std::map trackContainers; auto getOrAddDiscContainer = [&](std::size_t discNumber, const std::string& discSubtitle) -> Wt::WContainerWidget* { @@ -204,6 +204,18 @@ Release::refreshView() return tracksContainer; }; + Wt::WContainerWidget* noDiscTracksContainer{}; + auto getOrAddNoDiscContainer = [&] + { + if (noDiscTracksContainer) + return noDiscTracksContainer; + + Wt::WTemplate* disc {rootContainer->addNew(Wt::WString::tr("Lms.Explore.Release.template.entry-nodisc"))}; + noDiscTracksContainer = disc->bindNew("tracks"); + + return noDiscTracksContainer; + }; + const auto clusterIds {_filters->getClusterIds()}; const auto tracks {release->getTracks(clusterIds)}; @@ -213,17 +225,14 @@ Release::refreshView() const auto discNumber {track->getDiscNumber()}; - Wt::WContainerWidget* container {rootContainer}; + Wt::WContainerWidget* container; if (isReleaseMultiDisc && discNumber) container = getOrAddDiscContainer(*discNumber, track->getDiscSubtitle()); + else + container = getOrAddNoDiscContainer(); 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})}; @@ -249,6 +258,12 @@ Release::refreshView() entry->bindInt("track-number", *trackNumber); } + Wt::WPushButton* 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::WPushButton* moreBtn {entry->bindNew("more-btn", Wt::WString::tr("Lms.Explore.template.more-btn"), Wt::TextFormat::XHTML)}; moreBtn->clicked().connect([=] { diff --git a/src/lms/ui/explore/ReleasesView.cpp b/src/lms/ui/explore/ReleasesView.cpp index 49fe6865..dfde6d22 100644 --- a/src/lms/ui/explore/ReleasesView.cpp +++ b/src/lms/ui/explore/ReleasesView.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include "services/database/Release.hpp" @@ -60,12 +61,12 @@ Releases::Releases(Filters& filters) addItem(*menu, Wt::WString::tr("Lms.Explore.all"), ReleaseCollector::Mode::All); } - 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([this] { releasesAction.emit(PlayQueueAction::Play, getAllReleases()); }); - 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([=] { Wt::WPopupMenu* popup {LmsApp->createPopupMenu()}; diff --git a/src/lms/ui/explore/TracksView.cpp b/src/lms/ui/explore/TracksView.cpp index b03c3b0c..6822652b 100644 --- a/src/lms/ui/explore/TracksView.cpp +++ b/src/lms/ui/explore/TracksView.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include "services/database/Session.hpp" @@ -62,13 +63,13 @@ _trackCollector {filters, _defaultMode, _maxCount} addItem(*menu, Wt::WString::tr("Lms.Explore.all"), TrackCollector::Mode::All); } - 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([=] { tracksAction.emit(PlayQueueAction::Play, getAllTracks()); }); - 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([=] { Wt::WPopupMenu* popup {LmsApp->createPopupMenu()};