Made the release search results size the same as in release lists

This commit is contained in:
emeric
2020-05-17 13:50:31 +02:00
parent 6df6779fd2
commit 6989c3aa81
5 changed files with 19 additions and 54 deletions
+15 -2
View File
@@ -33,10 +33,11 @@ using namespace Database;
namespace UserInterface::ReleaseListHelpers
{
static
std::unique_ptr<Wt::WTemplate>
createEntrySmall(const Database::Release::pointer& release)
createEntryInternal(const Database::Release::pointer& release, const std::string& templateKey)
{
auto entry {std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.Explore.Releases.template.entry-small"))};
auto entry {std::make_unique<Wt::WTemplate>(Wt::WString::tr(templateKey))};
entry->bindWidget("release-name", LmsApplication::createReleaseAnchor(release));
@@ -64,5 +65,17 @@ namespace UserInterface::ReleaseListHelpers
return entry;
}
std::unique_ptr<Wt::WTemplate>
createEntry(const Release::pointer& release)
{
return createEntryInternal(release, "Lms.Explore.Releases.template.entry");
}
std::unique_ptr<Wt::WTemplate>
createEntrySmall(const Release::pointer& release)
{
return createEntryInternal(release, "Lms.Explore.Releases.template.entry-small");
}
} // namespace UserInterface
+1 -1
View File
@@ -32,6 +32,6 @@ namespace UserInterface::ReleaseListHelpers
{
std::unique_ptr<Wt::WTemplate> createEntrySmall(const Wt::Dbo::ptr<Database::Release>& release);
std::unique_ptr<Wt::WTemplate> createEntry(const Wt::Dbo::ptr<Database::Release>& release);
} // namespace UserInterface
+2 -49
View File
@@ -29,12 +29,11 @@
#include "database/Release.hpp"
#include "database/User.hpp"
#include "database/TrackList.hpp"
#include "utils/Logger.hpp"
#include "utils/String.hpp"
#include "resource/ImageResource.hpp"
#include "ReleaseListHelpers.hpp"
#include "Filters.hpp"
#include "LmsApplication.hpp"
@@ -106,52 +105,6 @@ Releases::refreshView(Mode mode)
refreshView();
}
std::unique_ptr<Wt::WTemplate>
Releases::createEntry(const Release::pointer& release)
{
const IdType releaseId {release.id()};
auto entry = std::make_unique<Wt::WTemplate>(Wt::WString::tr("Lms.Explore.Releases.template.entry"));
entry->addFunction("tr", Wt::WTemplate::Functions::tr);
Wt::WAnchor* anchor = entry->bindWidget("cover", LmsApplication::createReleaseAnchor(release, false));
auto cover = std::make_unique<Wt::WImage>();
cover->setImageLink(LmsApp->getImageResource()->getReleaseUrl(release.id(), ImageResource::Size::Small));
cover->setStyleClass("Lms-cover");
anchor->setImage(std::move(cover));
entry->bindWidget("release-name", LmsApplication::createReleaseAnchor(release));
auto artists = release->getReleaseArtists();
if (artists.empty())
artists = release->getArtists();
if (artists.size() > 1)
{
entry->setCondition("if-has-artist", true);
entry->bindNew<Wt::WText>("artist-name", Wt::WString::tr("Lms.Explore.various-artists"));
}
else if (artists.size() == 1)
{
entry->setCondition("if-has-artist", true);
entry->bindWidget("artist-name", LmsApplication::createArtistAnchor(artists.front()));
}
Wt::WText* playBtn = entry->bindNew<Wt::WText>("play-btn", Wt::WString::tr("Lms.Explore.template.play-btn"), Wt::TextFormat::XHTML);
playBtn->clicked().connect([=]
{
releasesAction.emit(PlayQueueAction::Play, {releaseId});
});
Wt::WText* addBtn = entry->bindNew<Wt::WText>("add-btn", Wt::WString::tr("Lms.Explore.template.add-btn"), Wt::TextFormat::XHTML);
addBtn->clicked().connect([=]
{
releasesAction.emit(PlayQueueAction::AddLast, {releaseId});
});
return entry;
}
void
Releases::addSome()
{
@@ -161,7 +114,7 @@ Releases::addSome()
for (const Release::pointer& release : getReleases(Range {static_cast<std::size_t>(_container->count()), batchSize}, moreResults))
{
_container->addWidget(createEntry(release));
_container->addWidget(ReleaseListHelpers::createEntry(release));
}
_showMore->setHidden(!moreResults);
-1
View File
@@ -61,7 +61,6 @@ class Releases : public Wt::WTemplate
std::vector<Wt::Dbo::ptr<Database::Release>> getReleases(std::optional<Database::Range> range, bool& moreResults);
std::vector<Wt::Dbo::ptr<Database::Release>> getRandomReleases(std::optional<Database::Range> range, bool& moreResults);
std::vector<Database::IdType> getAllReleases();
std::unique_ptr<Wt::WTemplate> createEntry(const Wt::Dbo::ptr<Database::Release>& release);
static constexpr Mode defaultMode {Mode::Random};
static constexpr std::size_t batchSize {20};
+1 -1
View File
@@ -155,7 +155,7 @@ namespace UserInterface
auto* container {bindNew<Wt::WContainerWidget>("releases")};
for (const Database::Release::pointer& release : releases)
container->addWidget(ReleaseListHelpers::createEntrySmall(release));
container->addWidget(ReleaseListHelpers::createEntry(release));
}
}