rpcsx/rpcs3/rpcs3qt/localized.cpp

58 lines
1.2 KiB
C++
Raw Normal View History

2020-12-05 13:08:24 +01:00
#include "localized.h"
Localized::Localized()
{
}
2020-03-22 16:15:14 +01:00
2020-10-26 23:50:47 +01:00
QString Localized::GetVerboseTimeByMs(quint64 elapsed_ms, bool show_days) const
2020-03-22 16:15:14 +01:00
{
2020-10-26 23:50:47 +01:00
const quint64 elapsed_seconds = (elapsed_ms / 1000) + ((elapsed_ms % 1000) > 0 ? 1 : 0);
quint64 hours = elapsed_seconds / 3600;
2020-03-22 16:15:14 +01:00
2020-10-26 23:50:47 +01:00
quint64 days = 0;
if (show_days)
{
days = hours / 24;
hours = hours % 24;
}
2020-10-26 23:50:47 +01:00
const quint64 minutes = (elapsed_seconds % 3600) / 60;
const quint64 seconds = (elapsed_seconds % 3600) % 60;
2020-10-26 23:50:47 +01:00
const QString str_days = tr("%Ln day(s)", "", days);
const QString str_hours = tr("%Ln hour(s)", "", hours);
const QString str_minutes = tr("%Ln minute(s)", "", minutes);
const QString str_seconds = tr("%Ln second(s)", "", seconds);
2020-03-22 16:15:14 +01:00
if (days != 0)
{
if (hours == 0)
return str_days;
else
return tr("%0 and %1", "Days and hours").arg(str_days).arg(str_hours);
}
else
{
if (hours != 0)
2020-03-22 16:15:14 +01:00
{
if (minutes == 0)
return str_hours;
else
return tr("%0 and %1", "Hours and minutes").arg(str_hours).arg(str_minutes);
2020-03-22 16:15:14 +01:00
}
else
2020-03-22 16:15:14 +01:00
{
if (minutes != 0)
{
if (seconds != 0)
return tr("%0 and %1", "Minutes and seconds").arg(str_minutes).arg(str_seconds);
else
return str_minutes;
}
else
{
return str_seconds;
}
2020-03-22 16:15:14 +01:00
}
}
}