From d5ead9193f43d02064a9b6fce0561baedac54cdc Mon Sep 17 00:00:00 2001 From: emeric Date: Fri, 8 Mar 2019 17:17:56 +0100 Subject: [PATCH] Moved the copyright information in the new release info view --- approot/release.xml | 7 ---- approot/releaseinfo.xml | 5 +++ src/ui/explore/ReleaseInfoView.cpp | 52 ++++++++++++++++++++++++------ src/ui/explore/ReleaseView.cpp | 24 +------------- 4 files changed, 48 insertions(+), 40 deletions(-) diff --git a/approot/release.xml b/approot/release.xml index 0824a57b..dfbce12c 100644 --- a/approot/release.xml +++ b/approot/release.xml @@ -20,13 +20,6 @@ ${play-btn}${add-btn} ${tracks} - ${} - - ${}${copyright}${} - ${}${copyright-url}${} - ${} diff --git a/approot/releaseinfo.xml b/approot/releaseinfo.xml index 1b933078..f30c6f5b 100644 --- a/approot/releaseinfo.xml +++ b/approot/releaseinfo.xml @@ -3,6 +3,11 @@ + ${} +

${tr:Lms.Explore.Release.copyright}

+ ${}${copyright}${} + ${}${copyright-url}${} + ${
}

${tr:Lms.Explore.ReleaseInfo.similar-releases}

${similar-releases}
diff --git a/src/ui/explore/ReleaseInfoView.cpp b/src/ui/explore/ReleaseInfoView.cpp index d003a14d..ffd89b14 100644 --- a/src/ui/explore/ReleaseInfoView.cpp +++ b/src/ui/explore/ReleaseInfoView.cpp @@ -19,6 +19,8 @@ #include "ReleaseInfoView.hpp" +#include + #include "database/Release.hpp" #include "main/Services.hpp" #include "similarity/SimilaritySearcher.hpp" @@ -55,29 +57,59 @@ void ReleaseInfo::refresh() { _similarReleasesContainer->clear(); + setCondition("if-has-copyright-or-copyright-url", false); + setCondition("if-has-copyright-url", false); + setCondition("if-has-copyright", false); if (!wApp->internalPathMatches("/release/")) return; - auto releaseId = readAs(wApp->internalPathNextPart("/release/")); + auto releaseId {readAs(wApp->internalPathNextPart("/release/"))}; if (!releaseId) return; - auto releasesIds = getServices().similaritySearcher->getSimilarReleases(LmsApp->getDboSession(), *releaseId, 5); + std::vector releasesIds {getServices().similaritySearcher->getSimilarReleases(LmsApp->getDboSession(), *releaseId, 5)}; - Wt::Dbo::Transaction transaction(LmsApp->getDboSession()); + Wt::Dbo::Transaction transaction {LmsApp->getDboSession()}; - std::vector releases; - for (auto releaseId : releasesIds) + Database::Release::pointer release {Database::Release::getById(LmsApp->getDboSession(), *releaseId)}; + if (!release) + return; + + boost::optional copyright {release->getCopyright()}; + boost::optional copyrightURL {release->getCopyrightURL()}; + + setCondition("if-has-copyright-or-copyright-url", copyright || copyrightURL); + + if (copyrightURL) { - auto release = Database::Release::getById(LmsApp->getDboSession(), releaseId); + setCondition("if-has-copyright-url", true); - if (release) - releases.push_back(release); + Wt::WLink link {*copyrightURL}; + link.setTarget(Wt::LinkTarget::NewWindow); + + Wt::WAnchor* anchor {bindNew("copyright-url", link)}; + anchor->setTextFormat(Wt::TextFormat::XHTML); + anchor->setText(Wt::WString::tr("Lms.Explore.Release.template.link-btn")); } - for (auto release : releases) - _similarReleasesContainer->addNew(release); + if (copyright) + { + setCondition("if-has-copyright", true); + bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain); + } + + std::vector similarReleases; + for (Database::IdType id : releasesIds) + { + Database::Release::pointer similarRelease {Database::Release::getById(LmsApp->getDboSession(), id)}; + + if (similarRelease) + similarReleases.emplace_back(similarRelease); + } + + for (const auto& similarRelease : similarReleases) + _similarReleasesContainer->addNew(similarRelease); } } // namespace UserInterface diff --git a/src/ui/explore/ReleaseView.cpp b/src/ui/explore/ReleaseView.cpp index e1c0e139..737ac409 100644 --- a/src/ui/explore/ReleaseView.cpp +++ b/src/ui/explore/ReleaseView.cpp @@ -19,8 +19,8 @@ #include "ReleaseView.hpp" -#include #include +#include #include #include #include @@ -94,28 +94,6 @@ Release::refresh() } } - boost::optional copyright = release->getCopyright(); - boost::optional copyrightURL = release->getCopyrightURL(); - - t->setCondition("if-has-copyright-or-copyright-url", copyright || copyrightURL); - - if (copyrightURL) - { - t->setCondition("if-has-copyright-url", true); - - Wt::WLink link(*copyrightURL); - link.setTarget(Wt::LinkTarget::NewWindow); - Wt::WAnchor* anchor = t->bindNew("copyright-url", link); - anchor->setTextFormat(Wt::TextFormat::XHTML); - anchor->setText(Wt::WString::tr("Lms.Explore.Release.template.link-btn")); - } - - if (copyright) - { - t->setCondition("if-has-copyright", true); - t->bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain); - } - { auto artists = release->getArtists(); if (artists.size() > 1)