mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 10:43:19 -03:00
gui, refactor: use std::chrono for formatDurationStr() helper
This commit is contained in:
parent
8fe6f5a6fb
commit
6f2593dc23
1 changed files with 12 additions and 17 deletions
|
@ -713,23 +713,18 @@ QString ConnectionTypeToQString(ConnectionType conn_type, bool prepend_direction
|
|||
|
||||
QString formatDurationStr(std::chrono::seconds dur)
|
||||
{
|
||||
const auto secs = count_seconds(dur);
|
||||
QStringList strList;
|
||||
int days = secs / 86400;
|
||||
int hours = (secs % 86400) / 3600;
|
||||
int mins = (secs % 3600) / 60;
|
||||
int seconds = secs % 60;
|
||||
|
||||
if (days)
|
||||
strList.append(QObject::tr("%1 d").arg(days));
|
||||
if (hours)
|
||||
strList.append(QObject::tr("%1 h").arg(hours));
|
||||
if (mins)
|
||||
strList.append(QObject::tr("%1 m").arg(mins));
|
||||
if (seconds || (!days && !hours && !mins))
|
||||
strList.append(QObject::tr("%1 s").arg(seconds));
|
||||
|
||||
return strList.join(" ");
|
||||
using days = std::chrono::duration<int, std::ratio<86400>>; // can remove this line after C++20
|
||||
const auto d{std::chrono::duration_cast<days>(dur)};
|
||||
const auto h{std::chrono::duration_cast<std::chrono::hours>(dur - d)};
|
||||
const auto m{std::chrono::duration_cast<std::chrono::minutes>(dur - d - h)};
|
||||
const auto s{std::chrono::duration_cast<std::chrono::seconds>(dur - d - h - m)};
|
||||
QStringList str_list;
|
||||
if (auto d2{d.count()}) str_list.append(QObject::tr("%1 d").arg(d2));
|
||||
if (auto h2{h.count()}) str_list.append(QObject::tr("%1 h").arg(h2));
|
||||
if (auto m2{m.count()}) str_list.append(QObject::tr("%1 m").arg(m2));
|
||||
const auto s2{s.count()};
|
||||
if (s2 || str_list.empty()) str_list.append(QObject::tr("%1 s").arg(s2));
|
||||
return str_list.join(" ");
|
||||
}
|
||||
|
||||
QString formatServicesStr(quint64 mask)
|
||||
|
|
Loading…
Add table
Reference in a new issue