gui: add FormatPeerAge() utility helper

Co-authored-by: randymcmillan <randy.lee.mcmillan@gmail.com>
This commit is contained in:
Jon Atack
2022-02-13 19:44:05 +01:00
committed by randymcmillan
parent 310ba92494
commit 127de22c5f
2 changed files with 15 additions and 0 deletions

View File

@@ -79,6 +79,8 @@
void ForceActivation();
#endif
using namespace std::chrono_literals;
namespace GUIUtil {
QString dateTimeStr(const QDateTime &date)
@@ -727,6 +729,16 @@ QString formatDurationStr(std::chrono::seconds dur)
return str_list.join(" ");
}
QString FormatPeerAge(std::chrono::seconds time_connected)
{
const auto time_now{GetTime<std::chrono::seconds>()};
const auto age{time_now - time_connected};
if (age >= 24h) return QObject::tr("%1 d").arg(age / 24h);
if (age >= 1h) return QObject::tr("%1 h").arg(age / 1h);
if (age >= 1min) return QObject::tr("%1 m").arg(age / 1min);
return QObject::tr("%1 s").arg(age / 1s);
}
QString formatServicesStr(quint64 mask)
{
QStringList strList;

View File

@@ -223,6 +223,9 @@ namespace GUIUtil
/** Convert seconds into a QString with days, hours, mins, secs */
QString formatDurationStr(std::chrono::seconds dur);
/** Convert peer connection time to a QString denominated in the most relevant unit. */
QString FormatPeerAge(std::chrono::seconds time_connected);
/** Format CNodeStats.nServices bitmask into a user-readable string */
QString formatServicesStr(quint64 mask);