diff --git a/approot/playqueue.xml b/approot/playqueue.xml
index 3bcc9d92..08d85395 100644
--- a/approot/playqueue.xml
+++ b/approot/playqueue.xml
@@ -49,8 +49,13 @@
${}${artists}${}
${}
-
- ${play-btn}${del-btn}
+
+
+ ${play-btn}${del-btn}
+
+
+ ${duration}
+
diff --git a/approot/release.xml b/approot/release.xml
index 9360d5c5..e6445458 100644
--- a/approot/release.xml
+++ b/approot/release.xml
@@ -31,8 +31,13 @@
${name}
${
- ${play-btn}${add-btn}
+
+
+ ${play-btn}${add-btn}
+
+
+ ${duration}
+
diff --git a/approot/tracks.xml b/approot/tracks.xml
index d4d8510a..d4346966 100644
--- a/approot/tracks.xml
+++ b/approot/tracks.xml
@@ -31,8 +31,13 @@
${
- ${play-btn}${add-btn}
+
+
+ ${play-btn}${add-btn}
+
+
+ ${duration}
+
diff --git a/docroot/css/lms.css b/docroot/css/lms.css
index 95b88cfa..1315f9b1 100644
--- a/docroot/css/lms.css
+++ b/docroot/css/lms.css
@@ -176,19 +176,34 @@ a:hover {
margin: 0px;
}
-
.Lms-explore-release-entry:hover {
background-color: lightgrey;
}
+.Lms-explore-release-entry:hover .Lms-explore-release-entry-controls {
+ display: block;
+}
+
+.Lms-explore-release-entry:hover .Lms-explore-release-entry-track-duration {
+ display: none;
+}
+
.Lms-explore-release-entry-controls {
text-align: right;
+ display: none;
}
.Lms-explore-release-entry-playing {
font-weight: bold;
}
+.Lms-explore-release-entry-track-duration {
+ color: darkgrey;
+ text-align: right;
+ white-space: nowrap;
+ display: block;
+}
+
.Lms-explore-releaselink {
margin: 0px;
padding-top: 4px;
@@ -253,6 +268,14 @@ a:hover {
background-color: lightgrey;
}
+.Lms-explore-tracks-entry:hover .Lms-explore-tracks-entry-controls {
+ display: block;
+}
+
+.Lms-explore-tracks-entry:hover .Lms-explore-tracks-entry-duration {
+ display: none;
+}
+
.Lms-explore-tracks-entry-name {
margin-top: 4px;
margin-bottom: 4px;
@@ -260,6 +283,14 @@ a:hover {
.Lms-explore-tracks-entry-controls {
text-align: right;
+ display: none;
+}
+
+.Lms-explore-tracks-entry-duration {
+ color: darkgrey;
+ text-align: right;
+ white-space: nowrap;
+ display: block;
}
.Lms-explore-tracksinfo-entry {
@@ -293,13 +324,12 @@ a:hover {
background-color: lightgrey;
}
-.Lms-playqueue-entry-name {
- margin-top: 4px;
- margin-bottom: 4px;
+.Lms-playqueue-entry:hover .Lms-playqueue-entry-controls {
+ display: block;
}
-.Lms-playqueue-entry-controls {
- text-align: right;
+.Lms-playqueue-entry:hover .Lms-playqueue-entry-duration {
+ display: none;
}
.Lms-playqueue-btn {
@@ -316,6 +346,23 @@ a:hover {
color: #337ab7;
}
+.Lms-playqueue-entry-controls {
+ text-align: right;
+ display: none;
+}
+
+.Lms-playqueue-entry-duration {
+ color: darkgrey;
+ text-align: right;
+ white-space: nowrap;
+ display: block;
+}
+
+.Lms-playqueue-entry-name {
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
.Lms-playqueue-selected {
font-weight: 800;
}
diff --git a/src/Makefile.am b/src/Makefile.am
index a4399b27..8c459272 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -94,6 +94,8 @@ lms_SOURCES = \
$(srcdir)/ui/PlayHistoryView.hpp \
$(srcdir)/ui/SettingsView.cpp \
$(srcdir)/ui/SettingsView.hpp \
+ $(srcdir)/ui/TrackStringUtils.cpp \
+ $(srcdir)/ui/TrackStringUtils.hpp \
$(srcdir)/ui/admin/DatabaseSettingsView.cpp \
$(srcdir)/ui/admin/DatabaseSettingsView.hpp \
$(srcdir)/ui/admin/DatabaseStatus.cpp \
diff --git a/src/ui/PlayQueueView.cpp b/src/ui/PlayQueueView.cpp
index 92267aad..6f0dd5a9 100644
--- a/src/ui/PlayQueueView.cpp
+++ b/src/ui/PlayQueueView.cpp
@@ -30,6 +30,7 @@
#include "utils/Logger.hpp"
#include "utils/Service.hpp"
#include "utils/Utils.hpp"
+#include "TrackStringUtils.hpp"
#include "LmsApplication.hpp"
namespace UserInterface {
@@ -373,6 +374,8 @@ PlayQueue::addSome()
entry->bindWidget("release", LmsApplication::createReleaseAnchor(track->getRelease()));
}
+ entry->bindString("duration", trackDurationToString(track->getDuration()), Wt::TextFormat::Plain);
+
Wt::WText* playBtn = entry->bindNew