Added a link to music brainz for releaseS/artists
This commit is contained in:
+9
-3
@@ -12,6 +12,14 @@
|
|||||||
</div>
|
</div>
|
||||||
${releases class="Lms-explore-artist-entries-container"}
|
${releases class="Lms-explore-artist-entries-container"}
|
||||||
</div>
|
</div>
|
||||||
|
${<if-has-mbid>}
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="well well-sm">
|
||||||
|
<h3>${tr:Lms.Explore.links}</h3>
|
||||||
|
${mbid-link class="text-muted"}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
${</if-has-mbid>}
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="well well-sm">
|
<div class="well well-sm">
|
||||||
<h3>${tr:Lms.Explore.Artist.similar-artists}</h3>
|
<h3>${tr:Lms.Explore.Artist.similar-artists}</h3>
|
||||||
@@ -22,8 +30,7 @@
|
|||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Artist.template.entry">
|
<message id="Lms.Explore.Artist.template.entry">
|
||||||
<div class="row Lms-explore-artist-entry Lms-entry-hoverable">
|
<div class="Lms-explore-artist-entry Lms-entry-hoverable">
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle">
|
<div class="media-left media-middle">
|
||||||
<div class="media-object Lms-cover-container-medium">
|
<div class="media-object Lms-cover-container-medium">
|
||||||
@@ -40,7 +47,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
</messages>
|
</messages>
|
||||||
|
|||||||
+3
-9
@@ -13,27 +13,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
${artists}
|
${artists}
|
||||||
<div class="row">
|
<div class="Lms-horizontal-center">
|
||||||
<div class="col-xs-12 Lms-horizontal-center">
|
|
||||||
${show-more class="btn-primary Lms-show-more"}
|
${show-more class="btn-primary Lms-show-more"}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Artists.template.entry">
|
<message id="Lms.Explore.Artists.template.entry">
|
||||||
<div class="row Lms-explore-artists-entry Lms-entry-hoverable Lms-vertical-align">
|
<div class="Lms-explore-artists-entry Lms-entry-hoverable Lms-vertical-align">
|
||||||
<div class="col-xs-12">
|
|
||||||
<h4>${name class="Lms-artistname text-primary"}</h4>
|
<h4>${name class="Lms-artistname text-primary"}</h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Artists.template.entry-small">
|
<message id="Lms.Explore.Artists.template.entry-small">
|
||||||
<div class="row Lms-explore-artists-entry-small Lms-entry-hoverable Lms-vertical-align">
|
<div class="Lms-explore-artists-entry-small Lms-entry-hoverable Lms-vertical-align">
|
||||||
<div class="col-xs-12">
|
|
||||||
${name class="Lms-artistname text-primary"}
|
${name class="Lms-artistname text-primary"}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
</messages>
|
</messages>
|
||||||
|
|||||||
@@ -105,7 +105,10 @@
|
|||||||
<message id="Lms.Explore.artists">Artists</message>
|
<message id="Lms.Explore.artists">Artists</message>
|
||||||
<message id="Lms.Explore.filter-added">Filter added</message>
|
<message id="Lms.Explore.filter-added">Filter added</message>
|
||||||
<message id="Lms.Explore.filters">Filters</message>
|
<message id="Lms.Explore.filters">Filters</message>
|
||||||
|
<message id="Lms.Explore.links">Links</message>
|
||||||
<message id="Lms.Explore.most-played">Most played</message>
|
<message id="Lms.Explore.most-played">Most played</message>
|
||||||
|
<message id="Lms.Explore.musicbrainz-artist">MusicBrainz Artist</message>
|
||||||
|
<message id="Lms.Explore.musicbrainz-release">MusicBrainz Release</message>
|
||||||
<message id="Lms.Explore.random">Random</message>
|
<message id="Lms.Explore.random">Random</message>
|
||||||
<message id="Lms.Explore.recently-added">Recently added</message>
|
<message id="Lms.Explore.recently-added">Recently added</message>
|
||||||
<message id="Lms.Explore.recently-played">Recently played</message>
|
<message id="Lms.Explore.recently-played">Recently played</message>
|
||||||
@@ -193,4 +196,3 @@
|
|||||||
<message id="Lms.Settings.settings-saved">New settings saved!</message>
|
<message id="Lms.Settings.settings-saved">New settings saved!</message>
|
||||||
|
|
||||||
</messages>
|
</messages>
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,10 @@
|
|||||||
<message id="Lms.Explore.artists">Artistes</message>
|
<message id="Lms.Explore.artists">Artistes</message>
|
||||||
<message id="Lms.Explore.filter-added">Filtre ajouté</message>
|
<message id="Lms.Explore.filter-added">Filtre ajouté</message>
|
||||||
<message id="Lms.Explore.filters">Filtres</message>
|
<message id="Lms.Explore.filters">Filtres</message>
|
||||||
<message id="Lms.Explore.mostly-played">Plus joués</message>
|
<message id="Lms.Explore.links">Liens</message>
|
||||||
|
<message id="Lms.Explore.most-played">Plus joués</message>
|
||||||
|
<message id="Lms.Explore.musicbrainz-artist">MusicBrainz Artist</message>
|
||||||
|
<message id="Lms.Explore.musicbrainz-release">MusicBrainz Release</message>
|
||||||
<message id="Lms.Explore.random">Aléatoire</message>
|
<message id="Lms.Explore.random">Aléatoire</message>
|
||||||
<message id="Lms.Explore.recently-added">Ajoutés récemment</message>
|
<message id="Lms.Explore.recently-added">Ajoutés récemment</message>
|
||||||
<message id="Lms.Explore.recently-played">Joués récemment</message>
|
<message id="Lms.Explore.recently-played">Joués récemment</message>
|
||||||
@@ -190,7 +193,6 @@
|
|||||||
<message id="Lms.Settings.transcode-mode.always">Toujours</message>
|
<message id="Lms.Settings.transcode-mode.always">Toujours</message>
|
||||||
<message id="Lms.Settings.transcode-mode.if-format-not-supported">Seulement lorsque le format n'est pas pris en charge</message>
|
<message id="Lms.Settings.transcode-mode.if-format-not-supported">Seulement lorsque le format n'est pas pris en charge</message>
|
||||||
<message id="Lms.Settings.transcode-mode.never">Jamais</message>
|
<message id="Lms.Settings.transcode-mode.never">Jamais</message>
|
||||||
<message id="Lms.Settings.settings">Paramètres</message>
|
|
||||||
<message id="Lms.Settings.settings-saved">Paramètres sauvegardés !</message>
|
<message id="Lms.Settings.settings-saved">Paramètres sauvegardés !</message>
|
||||||
|
|
||||||
<!--Wt-->
|
<!--Wt-->
|
||||||
|
|||||||
@@ -9,20 +9,18 @@
|
|||||||
|
|
||||||
<message id="Lms.PlayQueue.template">
|
<message id="Lms.PlayQueue.template">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-lg-8">
|
||||||
<div class="Lms-header">
|
<div class="Lms-header">
|
||||||
<h2>${tr:Lms.PlayQueue.playqueue}</h2>
|
<h2>${tr:Lms.PlayQueue.playqueue}</h2>
|
||||||
${clear-btn}${shuffle-btn}${repeat-btn}${radio-btn}
|
${clear-btn}${shuffle-btn}${repeat-btn}${radio-btn}
|
||||||
<h4><small>${nb-tracks}</small></h4>
|
<h4><small>${nb-tracks}</small></h4>
|
||||||
</div>
|
</div>
|
||||||
${entries}
|
${entries}
|
||||||
<div class="row">
|
<div class="Lms-horizontal-center">
|
||||||
<div class="col-xs-12 Lms-horizontal-center">
|
|
||||||
${show-more class="btn-primary Lms-show-more"}
|
${show-more class="btn-primary Lms-show-more"}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.PlayQueue.template.play-btn"><i class="fa fa-fw fa-play-circle Lms-playqueue-btn Lms-control-btn"></i></message>
|
<message id="Lms.PlayQueue.template.play-btn"><i class="fa fa-fw fa-play-circle Lms-playqueue-btn Lms-control-btn"></i></message>
|
||||||
|
|||||||
+15
-4
@@ -21,13 +21,24 @@
|
|||||||
</div>
|
</div>
|
||||||
${container class="Lms-explore-release-entries-container"}
|
${container class="Lms-explore-release-entries-container"}
|
||||||
</div>
|
</div>
|
||||||
|
${<if-has-copyright>}
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="well well-sm">
|
<div class="well well-sm">
|
||||||
${<if-has-copyright-or-copyright-url>}
|
|
||||||
<h3>${tr:Lms.Explore.Release.copyright}</h3>
|
<h3>${tr:Lms.Explore.Release.copyright}</h3>
|
||||||
${<if-has-copyright>}<small>${copyright}</small>${</if-has-copyright>}
|
${copyright class="text-muted"}
|
||||||
${<if-has-copyright-url>}<small>${copyright-url}</small>${</if-has-copyright-url>}
|
</div>
|
||||||
${</if-has-copyright-or-copyright-url>}
|
</div>
|
||||||
|
${</if-has-copyright>}
|
||||||
|
${<if-has-mbid>}
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="well well-sm">
|
||||||
|
<h3>${tr:Lms.Explore.links}</h3>
|
||||||
|
${mbid-link class="text-muted"}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
${</if-has-mbid>}
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="well well-sm">
|
||||||
<h3>${tr:Lms.Explore.Release.similar-releases}</h3>
|
<h3>${tr:Lms.Explore.Release.similar-releases}</h3>
|
||||||
${similar-releases}
|
${similar-releases}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,16 +9,13 @@
|
|||||||
${play-btn}${add-btn}
|
${play-btn}${add-btn}
|
||||||
</div>
|
</div>
|
||||||
${releases}
|
${releases}
|
||||||
<div class="row">
|
<div class="Lms-horizontal-center">
|
||||||
<div class="col-xs-12 Lms-horizontal-center">
|
|
||||||
${show-more class="btn-primary Lms-show-more"}
|
${show-more class="btn-primary Lms-show-more"}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Releases.template.entry">
|
<message id="Lms.Explore.Releases.template.entry">
|
||||||
<div class="row Lms-explore-releases-entry Lms-entry-hoverable">
|
<div class="Lms-explore-releases-entry Lms-entry-hoverable">
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle">
|
<div class="media-left media-middle">
|
||||||
<div class="media-object Lms-cover-container-medium">
|
<div class="media-object Lms-cover-container-medium">
|
||||||
@@ -34,12 +31,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Releases.template.entry-small">
|
<message id="Lms.Explore.Releases.template.entry-small">
|
||||||
<div class="row Lms-explore-releaselink Lms-entry-hoverable">
|
<div class="Lms-explore-releaselink Lms-entry-hoverable">
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle">
|
<div class="media-left media-middle">
|
||||||
<div class="media-object Lms-cover-container-smaller">
|
<div class="media-object Lms-cover-container-smaller">
|
||||||
@@ -54,7 +49,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+12
-2
@@ -3,26 +3,36 @@
|
|||||||
<!--FORMS message blocks-->
|
<!--FORMS message blocks-->
|
||||||
|
|
||||||
<message id="Lms.Explore.Search.template">
|
<message id="Lms.Explore.Search.template">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-8">
|
||||||
<div class="Lms-header">
|
<div class="Lms-header">
|
||||||
<h2>${tr:Lms.Explore.Search.search}</h2>
|
<h2>${tr:Lms.Explore.Search.search}</h2>
|
||||||
</div>
|
</div>
|
||||||
${<if-artists>}
|
${<if-artists>}
|
||||||
|
<div class="well well-sm">
|
||||||
<h3>${tr:Lms.Explore.artists}</h3>
|
<h3>${tr:Lms.Explore.artists}</h3>
|
||||||
${artists}
|
${artists}
|
||||||
|
</div>
|
||||||
${</if-artists>}
|
${</if-artists>}
|
||||||
${<if-releases>}
|
${<if-releases>}
|
||||||
|
<div class="well well-sm">
|
||||||
<h3>${tr:Lms.Explore.releases}</h3>
|
<h3>${tr:Lms.Explore.releases}</h3>
|
||||||
${releases}
|
${releases}
|
||||||
|
</div>
|
||||||
${</if-releases>}
|
${</if-releases>}
|
||||||
${<if-tracks>}
|
${<if-tracks>}
|
||||||
|
<div class="well well-sm">
|
||||||
<h3>${tr:Lms.Explore.tracks}</h3>
|
<h3>${tr:Lms.Explore.tracks}</h3>
|
||||||
${tracks}
|
${tracks}
|
||||||
|
</div>
|
||||||
${</if-tracks>}
|
${</if-tracks>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Search.template.track-entry">
|
<message id="Lms.Explore.Search.template.track-entry">
|
||||||
<div class="row Lms-explore-tracks-entry Lms-entry-hoverable Lms-vertical-align">
|
<div class="Lms-explore-tracks-entry Lms-entry-hoverable Lms-vertical-align">
|
||||||
<div class="col-xs-12 Lms-explore-tracks-entry-name">
|
<div class="Lms-explore-tracks-entry-name">
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-left media-middle hidden-xs">
|
<div class="media-left media-middle hidden-xs">
|
||||||
<div class="media-object Lms-cover-container-small">
|
<div class="media-object Lms-cover-container-small">
|
||||||
|
|||||||
+4
-6
@@ -4,21 +4,19 @@
|
|||||||
<!--FORMS message blocks-->
|
<!--FORMS message blocks-->
|
||||||
|
|
||||||
<message id="Lms.Explore.Tracks.template">
|
<message id="Lms.Explore.Tracks.template">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-8">
|
||||||
<div class="Lms-header">
|
<div class="Lms-header">
|
||||||
<h2>${tr:Lms.Explore.tracks}</h2>
|
<h2>${tr:Lms.Explore.tracks}</h2>
|
||||||
${mode class="nav nav-pills Lms-explore-mode-container"}
|
${mode class="nav nav-pills Lms-explore-mode-container"}
|
||||||
${play-btn}${add-btn}
|
${play-btn}${add-btn}
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-8">
|
|
||||||
${tracks}
|
${tracks}
|
||||||
</div>
|
<div class="Lms-horizontal-center">
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-8 col-xs-12 Lms-horizontal-center">
|
|
||||||
${show-more class="btn-primary Lms-show-more"}
|
${show-more class="btn-primary Lms-show-more"}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message id="Lms.Explore.Tracks.template.entry">
|
<message id="Lms.Explore.Tracks.template.entry">
|
||||||
|
|||||||
@@ -77,10 +77,11 @@ Artist::refreshView()
|
|||||||
|
|
||||||
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
||||||
|
|
||||||
const Database::Artist::pointer artist = Database::Artist::getById(LmsApp->getDbSession(), *artistId);
|
const Database::Artist::pointer artist {Database::Artist::getById(LmsApp->getDbSession(), *artistId)};
|
||||||
if (!artist)
|
if (!artist)
|
||||||
throw ArtistNotFoundException {*artistId};
|
throw ArtistNotFoundException {*artistId};
|
||||||
|
|
||||||
|
refreshLinks(artist);
|
||||||
refreshSimilarArtists(similarArtistIds);
|
refreshSimilarArtists(similarArtistIds);
|
||||||
|
|
||||||
Wt::WContainerWidget* clusterContainers = bindNew<Wt::WContainerWidget>("clusters");
|
Wt::WContainerWidget* clusterContainers = bindNew<Wt::WContainerWidget>("clusters");
|
||||||
@@ -199,7 +200,7 @@ Artist::createRelease(const Database::Artist::pointer& artist, const Release::po
|
|||||||
void
|
void
|
||||||
Artist::refreshSimilarArtists(const std::vector<Database::IdType>& similarArtistsId)
|
Artist::refreshSimilarArtists(const std::vector<Database::IdType>& similarArtistsId)
|
||||||
{
|
{
|
||||||
auto* similarArtistsContainer {bindNew<Wt::WContainerWidget>("similar-artists")};
|
Wt::WContainerWidget* similarArtistsContainer {bindNew<Wt::WContainerWidget>("similar-artists")};
|
||||||
|
|
||||||
for (Database::IdType artistId : similarArtistsId)
|
for (Database::IdType artistId : similarArtistsId)
|
||||||
{
|
{
|
||||||
@@ -211,5 +212,20 @@ Artist::refreshSimilarArtists(const std::vector<Database::IdType>& similarArtist
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Artist::refreshLinks(const Database::Artist::pointer& artist)
|
||||||
|
{
|
||||||
|
const auto mbid {artist->getMBID()};
|
||||||
|
if (mbid)
|
||||||
|
{
|
||||||
|
setCondition("if-has-mbid", true);
|
||||||
|
|
||||||
|
Wt::WLink link {"https://musicbrainz.org/artist/" + std::string {mbid->getAsString()}};
|
||||||
|
link.setTarget(Wt::LinkTarget::NewWindow);
|
||||||
|
|
||||||
|
bindNew<Wt::WAnchor>("mbid-link", link, Wt::WString::tr("Lms.Explore.musicbrainz-artist"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace UserInterface
|
} // namespace UserInterface
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ class Artist : public Wt::WTemplate
|
|||||||
private:
|
private:
|
||||||
void refreshView();
|
void refreshView();
|
||||||
void refreshSimilarArtists(const std::vector<Database::IdType>& similarArtistsId);
|
void refreshSimilarArtists(const std::vector<Database::IdType>& similarArtistsId);
|
||||||
|
void refreshLinks(const Wt::Dbo::ptr<Database::Artist>& artist);
|
||||||
|
|
||||||
std::unique_ptr<Wt::WTemplate> createRelease(const Wt::Dbo::ptr<Database::Artist>& artist, const Wt::Dbo::ptr<Database::Release>& release);
|
std::unique_ptr<Wt::WTemplate> createRelease(const Wt::Dbo::ptr<Database::Artist>& artist, const Wt::Dbo::ptr<Database::Release>& release);
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ Release::refreshView()
|
|||||||
throw ReleaseNotFoundException {*releaseId};
|
throw ReleaseNotFoundException {*releaseId};
|
||||||
|
|
||||||
refreshCopyright(release);
|
refreshCopyright(release);
|
||||||
|
refreshLinks(release);
|
||||||
refreshSimilarReleases(similarReleasesIds);
|
refreshSimilarReleases(similarReleasesIds);
|
||||||
|
|
||||||
bindString("name", Wt::WString::fromUTF8(release->getName()), Wt::TextFormat::Plain);
|
bindString("name", Wt::WString::fromUTF8(release->getName()), Wt::TextFormat::Plain);
|
||||||
@@ -261,24 +262,40 @@ Release::refreshCopyright(const Database::Release::pointer& release)
|
|||||||
std::optional<std::string> copyright {release->getCopyright()};
|
std::optional<std::string> copyright {release->getCopyright()};
|
||||||
std::optional<std::string> copyrightURL {release->getCopyrightURL()};
|
std::optional<std::string> copyrightURL {release->getCopyrightURL()};
|
||||||
|
|
||||||
setCondition("if-has-copyright-or-copyright-url", copyright || copyrightURL);
|
if (!copyright && !copyrightURL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
setCondition("if-has-copyright", true);
|
||||||
|
|
||||||
|
std::string copyrightText {copyright ? *copyright : ""};
|
||||||
|
if (copyrightText.empty() && copyrightURL)
|
||||||
|
copyrightText = *copyrightURL;
|
||||||
|
|
||||||
if (copyrightURL)
|
if (copyrightURL)
|
||||||
{
|
{
|
||||||
setCondition("if-has-copyright-url", true);
|
|
||||||
|
|
||||||
Wt::WLink link {*copyrightURL};
|
Wt::WLink link {*copyrightURL};
|
||||||
link.setTarget(Wt::LinkTarget::NewWindow);
|
link.setTarget(Wt::LinkTarget::NewWindow);
|
||||||
|
|
||||||
Wt::WAnchor* anchor {bindNew<Wt::WAnchor>("copyright-url", link)};
|
Wt::WAnchor* anchor {bindNew<Wt::WAnchor>("copyright", link)};
|
||||||
anchor->setTextFormat(Wt::TextFormat::XHTML);
|
anchor->setTextFormat(Wt::TextFormat::Plain);
|
||||||
anchor->setText(Wt::WString::tr("Lms.Explore.Release.template.link-btn"));
|
anchor->setText(Wt::WString::fromUTF8(copyrightText));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (copyright)
|
|
||||||
{
|
|
||||||
setCondition("if-has-copyright", true);
|
|
||||||
bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain);
|
bindString("copyright", Wt::WString::fromUTF8(*copyright), Wt::TextFormat::Plain);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Release::refreshLinks(const Database::Release::pointer& release)
|
||||||
|
{
|
||||||
|
const auto mbid {release->getMBID()};
|
||||||
|
if (mbid)
|
||||||
|
{
|
||||||
|
setCondition("if-has-mbid", true);
|
||||||
|
|
||||||
|
Wt::WLink link {"https://musicbrainz.org/release/" + std::string {mbid->getAsString()}};
|
||||||
|
link.setTarget(Wt::LinkTarget::NewWindow);
|
||||||
|
|
||||||
|
bindNew<Wt::WAnchor>("mbid-link", link, Wt::WString::tr("Lms.Explore.musicbrainz-release"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ namespace UserInterface
|
|||||||
private:
|
private:
|
||||||
void refreshView();
|
void refreshView();
|
||||||
void refreshCopyright(const Wt::Dbo::ptr<Database::Release>& release);
|
void refreshCopyright(const Wt::Dbo::ptr<Database::Release>& release);
|
||||||
|
void refreshLinks(const Wt::Dbo::ptr<Database::Release>& release);
|
||||||
void refreshSimilarReleases(const std::vector<Database::IdType>& similarReleasesId);
|
void refreshSimilarReleases(const std::vector<Database::IdType>& similarReleasesId);
|
||||||
|
|
||||||
Filters* _filters {};
|
Filters* _filters {};
|
||||||
|
|||||||
Reference in New Issue
Block a user