mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
ffdf5a144c
This has historically been done in the Recent Messages API, but this functionality is being moved to Chatterino instead * Remove `clearchatToNotice=true` query parameter to the Recent Messages API
66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
#include "FormatTime.hpp"
|
|
|
|
namespace chatterino {
|
|
namespace {
|
|
void appendDuration(int count, QChar &&order, QString &outString)
|
|
{
|
|
outString.append(QString::number(count));
|
|
outString.append(order);
|
|
}
|
|
} // namespace
|
|
|
|
QString formatTime(int totalSeconds)
|
|
{
|
|
QString res;
|
|
|
|
int seconds = totalSeconds % 60;
|
|
int timeoutMinutes = totalSeconds / 60;
|
|
int minutes = timeoutMinutes % 60;
|
|
int timeoutHours = timeoutMinutes / 60;
|
|
int hours = timeoutHours % 24;
|
|
int days = timeoutHours / 24;
|
|
if (days > 0)
|
|
{
|
|
appendDuration(days, 'd', res);
|
|
}
|
|
if (hours > 0)
|
|
{
|
|
if (!res.isEmpty())
|
|
{
|
|
res.append(" ");
|
|
}
|
|
appendDuration(hours, 'h', res);
|
|
}
|
|
if (minutes > 0)
|
|
{
|
|
if (!res.isEmpty())
|
|
{
|
|
res.append(" ");
|
|
}
|
|
appendDuration(minutes, 'm', res);
|
|
}
|
|
if (seconds > 0)
|
|
{
|
|
if (!res.isEmpty())
|
|
{
|
|
res.append(" ");
|
|
}
|
|
appendDuration(seconds, 's', res);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
QString formatTime(QString totalSecondsString)
|
|
{
|
|
bool ok = true;
|
|
int totalSeconds(totalSecondsString.toInt(&ok));
|
|
if (ok)
|
|
{
|
|
return formatTime(totalSeconds);
|
|
}
|
|
|
|
return "n/a";
|
|
}
|
|
|
|
} // namespace chatterino
|