Fixed long durations

This commit is contained in:
emeric
2022-07-02 16:54:39 +02:00
parent 1c7ef90108
commit 352ba4e98f
5 changed files with 19 additions and 5 deletions
+1 -1
View File
@@ -9,6 +9,7 @@
<message id="Lms.PlayQueue.template.save-btn"><i class="fa fa-fw fa-save"></i></message>
<message id="Lms.PlayQueue.template">
<div class="small text-muted mb-2">${track-count} · ${duration}</div>
<div class="mb-3">
<div class="btn-group me-2">
${repeat-btn class="btn-check"}
@@ -25,7 +26,6 @@
<div class="d-inline-block me-2" title="${tr:Lms.PlayQueue.clear}">
${clear-btn class="btn btn-warning"}
</div>
${track-count}
</div>
${entries}
</message>
+2
View File
@@ -187,6 +187,7 @@ PlayQueue::PlayQueue()
}
_nbTracks = bindNew<Wt::WText>("track-count");
_duration = bindNew<Wt::WText>("duration");
LmsApp->preQuit().connect([=]
{
@@ -367,6 +368,7 @@ PlayQueue::updateInfo()
const auto trackCount {getTrackList()->getCount()};
_nbTracks->setText(Wt::WString::trn("Lms.track-count", trackCount).arg(trackCount));
_duration->setText(Utils::durationToString(getTrackList()->getDuration()));
}
void
+1
View File
@@ -101,6 +101,7 @@ class PlayQueue : public Template
Database::TrackListId _tracklistId {};
InfiniteScrollingContainer* _entriesContainer {};
Wt::WText* _nbTracks {};
Wt::WText* _duration {};
Wt::WCheckBox* _repeatBtn {};
Wt::WCheckBox* _radioBtn {};
std::optional<std::size_t> _trackPos; // current track position, if set
+15 -3
View File
@@ -37,9 +37,21 @@ namespace UserInterface::Utils
const std::chrono::seconds duration {std::chrono::duration_cast<std::chrono::seconds>(msDuration)};
std::ostringstream oss;
oss << (duration.count() / 60)
<< ":"
<< std::setfill('0') << std::setw(2) << duration.count() % 60;
if (duration.count() >= 3600)
{
oss << (duration.count() / 3600)
<< ":"
<< std::setfill('0') << std::setw(2) << (duration.count() % 3600) / 60
<< ":"
<< std::setfill('0') << std::setw(2) << duration.count() % 60;
}
else
{
oss << (duration.count() / 60)
<< ":"
<< std::setfill('0') << std::setw(2) << duration.count() % 60;
}
return oss.str();
}
-1
View File
@@ -87,7 +87,6 @@ namespace UserInterface
_container->remove(*itTrackList->second);
_trackListWidgets.erase(itTrackList);
}
void