Renamed playlist to playqueue

This commit is contained in:
emeric
2018-03-04 20:25:03 +01:00
parent a3fd11c85b
commit da138aa06e
7 changed files with 45 additions and 45 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ lms_approot_DATA = \
approot/artist.xml \ approot/artist.xml \
approot/mediaplayer.xml \ approot/mediaplayer.xml \
approot/messages.xml \ approot/messages.xml \
approot/playlist.xml \ approot/playqueue.xml \
approot/releases.xml \ approot/releases.xml \
approot/release.xml \ approot/release.xml \
approot/settings.xml \ approot/settings.xml \
+1 -1
View File
@@ -6,7 +6,7 @@
<message id="msg-artists">Artists</message> <message id="msg-artists">Artists</message>
<message id="msg-releases">Albums</message> <message id="msg-releases">Albums</message>
<message id="msg-tracks">Tracks</message> <message id="msg-tracks">Tracks</message>
<message id="msg-playlist">Playlist</message> <message id="msg-playqueue">Play Queue</message>
<message id="msg-filter-add">Add filter</message> <message id="msg-filter-add">Add filter</message>
<message id="msg-search-placeholder">Search...</message> <message id="msg-search-placeholder">Search...</message>
@@ -2,36 +2,36 @@
<messages xmlns:if="Wt.WTemplate.conditions"> <messages xmlns:if="Wt.WTemplate.conditions">
<!--FORMS message blocks--> <!--FORMS message blocks-->
<message id="btn-playlist-save-btn"> <message id="btn-playqueue-save-btn">
<i class="fa fa-upload"></i> <i class="fa fa-upload"></i>
</message> </message>
<message id="btn-playlist-load-btn"> <message id="btn-playqueue-load-btn">
<i class="fa fa-download"></i> <i class="fa fa-download"></i>
</message> </message>
<message id="btn-playlist-clear-btn"> <message id="btn-playqueue-clear-btn">
<i class="fa fa-times-circle"></i> <i class="fa fa-times-circle"></i>
</message> </message>
<message id="template-playlist"> <message id="template-playqueue">
<div class="page-header"> <div class="page-header">
<h2>${tr:msg-playlist}</h2> <h2>${tr:msg-playqueue}</h2>
${save-btn} ${load-btn} ${clear-btn} ${save-btn} ${load-btn} ${clear-btn}
</div> </div>
${entries} ${entries}
${show-more} ${show-more}
</message> </message>
<message id="btn-playlist-entry-play-btn"> <message id="btn-playqueue-entry-play-btn">
<i class="fa fa-play"></i> <i class="fa fa-play"></i>
</message> </message>
<message id="btn-playlist-entry-del-btn"> <message id="btn-playqueue-entry-del-btn">
<i class="fa fa-remove"></i> <i class="fa fa-remove"></i>
</message> </message>
<message id="template-playlist-entry"> <message id="template-playqueue-entry">
${pos} ${name} ${<if-has-release>}${release-name}${</if-has-release>} ${<if-has-artist>}${artist-name}${</if-has-artist>} ${play-btn} ${del-btn} ${pos} ${name} ${<if-has-release>}${release-name}${</if-has-release>} ${<if-has-artist>}${artist-name}${</if-has-artist>} ${play-btn} ${del-btn}
</message> </message>
+1 -1
View File
@@ -28,7 +28,7 @@ lms_SOURCES = \
$(srcdir)/ui/HomeView.cpp \ $(srcdir)/ui/HomeView.cpp \
$(srcdir)/ui/LmsApplication.cpp \ $(srcdir)/ui/LmsApplication.cpp \
$(srcdir)/ui/MediaPlayer.cpp \ $(srcdir)/ui/MediaPlayer.cpp \
$(srcdir)/ui/PlaylistView.cpp \ $(srcdir)/ui/PlayQueueView.cpp \
$(srcdir)/ui/ReleasesView.cpp \ $(srcdir)/ui/ReleasesView.cpp \
$(srcdir)/ui/ReleaseView.cpp \ $(srcdir)/ui/ReleaseView.cpp \
$(srcdir)/ui/TracksView.cpp \ $(srcdir)/ui/TracksView.cpp \
+10 -10
View File
@@ -33,7 +33,7 @@
#include "Explore.hpp" #include "Explore.hpp"
#include "HomeView.hpp" #include "HomeView.hpp"
#include "MediaPlayer.hpp" #include "MediaPlayer.hpp"
#include "PlaylistView.hpp" #include "PlayQueueView.hpp"
#include "settings/DatabaseView.hpp" #include "settings/DatabaseView.hpp"
@@ -87,7 +87,7 @@ LmsApplication::LmsApplication(const Wt::WEnvironment& env, Wt::Dbo::SqlConnecti
messageResourceBundle().use(appRoot() + "artists"); messageResourceBundle().use(appRoot() + "artists");
messageResourceBundle().use(appRoot() + "mediaplayer"); messageResourceBundle().use(appRoot() + "mediaplayer");
messageResourceBundle().use(appRoot() + "messages"); messageResourceBundle().use(appRoot() + "messages");
messageResourceBundle().use(appRoot() + "playlist"); messageResourceBundle().use(appRoot() + "playqueue");
messageResourceBundle().use(appRoot() + "release"); messageResourceBundle().use(appRoot() + "release");
messageResourceBundle().use(appRoot() + "releases"); messageResourceBundle().use(appRoot() + "releases");
messageResourceBundle().use(appRoot() + "settings"); messageResourceBundle().use(appRoot() + "settings");
@@ -192,7 +192,7 @@ enum IdxRoot
{ {
IdxHome = 0, IdxHome = 0,
IdxExplore, IdxExplore,
IdxPlaylist, IdxPlayQueue,
IdxSettingsDatabase, IdxSettingsDatabase,
}; };
@@ -209,7 +209,7 @@ handlePathChange(Wt::WStackedWidget* stack)
{ "/releases", IdxExplore }, { "/releases", IdxExplore },
{ "/release", IdxExplore }, { "/release", IdxExplore },
{ "/tracks", IdxExplore }, { "/tracks", IdxExplore },
{ "/playlist", IdxPlaylist }, { "/playqueue", IdxPlayQueue },
{ "/settings/database", IdxSettingsDatabase }, { "/settings/database", IdxSettingsDatabase },
}; };
@@ -271,8 +271,8 @@ LmsApplication::handleAuthEvent(void)
menuItem->setSelectable(false); menuItem->setSelectable(false);
} }
{ {
auto menuItem = menu->insertItem(3, Wt::WString::tr("msg-playlist")); auto menuItem = menu->insertItem(3, Wt::WString::tr("msg-playqueue"));
menuItem->setLink(Wt::WLink(Wt::WLink::InternalPath, "/playlist")); menuItem->setLink(Wt::WLink(Wt::WLink::InternalPath, "/playqueue"));
menuItem->setSelectable(false); menuItem->setSelectable(false);
} }
{ {
@@ -298,20 +298,20 @@ LmsApplication::handleAuthEvent(void)
auto explore = new Explore(); auto explore = new Explore();
mainStack->addWidget(explore); mainStack->addWidget(explore);
auto playlist = new Playlist(); auto playqueue = new PlayQueue();
mainStack->addWidget(playlist); mainStack->addWidget(playqueue);
auto databaseSettings = new Settings::DatabaseView(); auto databaseSettings = new Settings::DatabaseView();
mainStack->addWidget(databaseSettings); mainStack->addWidget(databaseSettings);
explore->tracksAdd.connect(std::bind([=] (std::vector<Database::Track::pointer> tracks) explore->tracksAdd.connect(std::bind([=] (std::vector<Database::Track::pointer> tracks)
{ {
playlist->addTracks(tracks); playqueue->addTracks(tracks);
}, std::placeholders::_1)); }, std::placeholders::_1));
explore->tracksPlay.connect(std::bind([=] (std::vector<Database::Track::pointer> tracks) explore->tracksPlay.connect(std::bind([=] (std::vector<Database::Track::pointer> tracks)
{ {
playlist->playTracks(tracks); playqueue->playTracks(tracks);
}, std::placeholders::_1)); }, std::placeholders::_1));
// MediaPlayer // MediaPlayer
@@ -24,25 +24,25 @@
#include "utils/Logger.hpp" #include "utils/Logger.hpp"
#include "LmsApplication.hpp" #include "LmsApplication.hpp"
#include "PlaylistView.hpp" #include "PlayQueueView.hpp"
namespace UserInterface { namespace UserInterface {
static const std::string currentPlaylistName = "__current__playlist__"; static const std::string currentPlayQueueName = "__current__playqueue__";
Playlist::Playlist(Wt::WContainerWidget* parent) PlayQueue::PlayQueue(Wt::WContainerWidget* parent)
: Wt::WContainerWidget(parent) : Wt::WContainerWidget(parent)
{ {
auto container = new Wt::WTemplate(Wt::WString::tr("template-playlist"), this); auto container = new Wt::WTemplate(Wt::WString::tr("template-playqueue"), this);
container->addFunction("tr", &Wt::WTemplate::Functions::tr); container->addFunction("tr", &Wt::WTemplate::Functions::tr);
auto saveBtn = new Wt::WText(Wt::WString::tr("btn-playlist-save-btn"), Wt::XHTMLText); auto saveBtn = new Wt::WText(Wt::WString::tr("btn-playqueue-save-btn"), Wt::XHTMLText);
container->bindWidget("save-btn", saveBtn); container->bindWidget("save-btn", saveBtn);
auto loadBtn = new Wt::WText(Wt::WString::tr("btn-playlist-load-btn"), Wt::XHTMLText); auto loadBtn = new Wt::WText(Wt::WString::tr("btn-playqueue-load-btn"), Wt::XHTMLText);
container->bindWidget("load-btn", loadBtn); container->bindWidget("load-btn", loadBtn);
auto clearBtn = new Wt::WText(Wt::WString::tr("btn-playlist-clear-btn"), Wt::XHTMLText); auto clearBtn = new Wt::WText(Wt::WString::tr("btn-playqueue-clear-btn"), Wt::XHTMLText);
container->bindWidget("clear-btn", clearBtn); container->bindWidget("clear-btn", clearBtn);
_entriesContainer = new Wt::WContainerWidget(); _entriesContainer = new Wt::WContainerWidget();
@@ -62,17 +62,17 @@ Playlist::Playlist(Wt::WContainerWidget* parent)
} }
void void
Playlist::addTracks(const std::vector<Database::Track::pointer>& tracks) PlayQueue::addTracks(const std::vector<Database::Track::pointer>& tracks)
{ {
// Use a "session" playlist in order to store the current playlist // Use a "session" playqueue in order to store the current playqueue
// so that the user can disconnect and get its playlist back // so that the user can disconnect and get its playqueue back
LMS_LOG(UI, DEBUG) << "Adding tracks to the current queue"; LMS_LOG(UI, DEBUG) << "Adding tracks to the current queue";
auto playlist = Database::Playlist::get(DboSession(), currentPlaylistName, CurrentUser()); auto playlist = Database::Playlist::get(DboSession(), currentPlayQueueName, CurrentUser());
if (!playlist) if (!playlist)
{ {
playlist = Database::Playlist::create(DboSession(), currentPlaylistName, false, CurrentUser()); playlist = Database::Playlist::create(DboSession(), currentPlayQueueName, false, CurrentUser());
} }
std::size_t pos = playlist->getCount(); std::size_t pos = playlist->getCount();
@@ -85,15 +85,15 @@ Playlist::addTracks(const std::vector<Database::Track::pointer>& tracks)
} }
void void
Playlist::playTracks(const std::vector<Database::Track::pointer>& tracks) PlayQueue::playTracks(const std::vector<Database::Track::pointer>& tracks)
{ {
LMS_LOG(UI, DEBUG) << "Emptying current queue to play new tracks"; LMS_LOG(UI, DEBUG) << "Emptying current queue to play new tracks";
Wt::Dbo::Transaction transaction(DboSession()); Wt::Dbo::Transaction transaction(DboSession());
auto playlist = Database::Playlist::get(DboSession(), currentPlaylistName, CurrentUser()); auto playqueue = Database::Playlist::get(DboSession(), currentPlayQueueName, CurrentUser());
if (playlist) if (playqueue)
playlist.modify()->clear(); playqueue.modify()->clear();
_entriesContainer->clear(); _entriesContainer->clear();
@@ -104,18 +104,18 @@ Playlist::playTracks(const std::vector<Database::Track::pointer>& tracks)
void void
Playlist::refresh() PlayQueue::refresh()
{ {
_entriesContainer->clear(); _entriesContainer->clear();
addSome(); addSome();
} }
void void
Playlist::addSome() PlayQueue::addSome()
{ {
Wt::Dbo::Transaction transaction (DboSession()); Wt::Dbo::Transaction transaction (DboSession());
auto playlist = Database::Playlist::get(DboSession(), currentPlaylistName, CurrentUser()); auto playlist = Database::Playlist::get(DboSession(), currentPlayQueueName, CurrentUser());
if (!playlist) if (!playlist)
return; return;
@@ -123,7 +123,7 @@ Playlist::addSome()
auto tracks = playlist->getTracks(_entriesContainer->count(), 50, moreResults); auto tracks = playlist->getTracks(_entriesContainer->count(), 50, moreResults);
for (auto track : tracks) for (auto track : tracks)
{ {
Wt::WTemplate* entry = new Wt::WTemplate(Wt::WString::tr("template-playlist-entry"), _entriesContainer); Wt::WTemplate* entry = new Wt::WTemplate(Wt::WString::tr("template-playqueue-entry"), _entriesContainer);
entry->bindString("pos", std::to_string(_entriesContainer->count())); entry->bindString("pos", std::to_string(_entriesContainer->count()));
entry->bindString("name", Wt::WString::fromUTF8(track->getName()), Wt::PlainText); entry->bindString("name", Wt::WString::fromUTF8(track->getName()), Wt::PlainText);
@@ -147,11 +147,11 @@ Playlist::addSome()
entry->bindWidget("release-name", releaseAnchor); entry->bindWidget("release-name", releaseAnchor);
} }
auto playBtn = new Wt::WText(Wt::WString::tr("btn-playlist-entry-play-btn"), Wt::XHTMLText); auto playBtn = new Wt::WText(Wt::WString::tr("btn-playqueue-entry-play-btn"), Wt::XHTMLText);
entry->bindWidget("play-btn", playBtn); entry->bindWidget("play-btn", playBtn);
// TODO // TODO
auto addBtn = new Wt::WText(Wt::WString::tr("btn-playlist-entry-del-btn"), Wt::XHTMLText); auto addBtn = new Wt::WText(Wt::WString::tr("btn-playqueue-entry-del-btn"), Wt::XHTMLText);
entry->bindWidget("del-btn", addBtn); entry->bindWidget("del-btn", addBtn);
// TODO // TODO
} }
@@ -26,10 +26,10 @@
namespace UserInterface { namespace UserInterface {
class Playlist : public Wt::WContainerWidget class PlayQueue : public Wt::WContainerWidget
{ {
public: public:
Playlist(Wt::WContainerWidget* parent = 0); PlayQueue(Wt::WContainerWidget* parent = 0);
void addTracks(const std::vector<Database::Track::pointer>& tracks); void addTracks(const std::vector<Database::Track::pointer>& tracks);
void playTracks(const std::vector<Database::Track::pointer>& tracks); void playTracks(const std::vector<Database::Track::pointer>& tracks);