[Refactor] refactor function that forms human readable text out of a timeoffset
This commit is contained in:
parent
53f8f226bd
commit
0904c3cda4
3 changed files with 39 additions and 24 deletions
|
@ -762,30 +762,7 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVer
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Represent time from last generated block in human readable text
|
QString timeBehindText = GUIUtil::formateNiceTimeOffset(secs);
|
||||||
QString timeBehindText;
|
|
||||||
const int HOUR_IN_SECONDS = 60*60;
|
|
||||||
const int DAY_IN_SECONDS = 24*60*60;
|
|
||||||
const int WEEK_IN_SECONDS = 7*24*60*60;
|
|
||||||
const int YEAR_IN_SECONDS = 31556952; // Average length of year in Gregorian calendar
|
|
||||||
if(secs < 2*DAY_IN_SECONDS)
|
|
||||||
{
|
|
||||||
timeBehindText = tr("%n hour(s)","",secs/HOUR_IN_SECONDS);
|
|
||||||
}
|
|
||||||
else if(secs < 2*WEEK_IN_SECONDS)
|
|
||||||
{
|
|
||||||
timeBehindText = tr("%n day(s)","",secs/DAY_IN_SECONDS);
|
|
||||||
}
|
|
||||||
else if(secs < YEAR_IN_SECONDS)
|
|
||||||
{
|
|
||||||
timeBehindText = tr("%n week(s)","",secs/WEEK_IN_SECONDS);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qint64 years = secs / YEAR_IN_SECONDS;
|
|
||||||
qint64 remainder = secs % YEAR_IN_SECONDS;
|
|
||||||
timeBehindText = tr("%1 and %2").arg(tr("%n year(s)", "", years)).arg(tr("%n week(s)","", remainder/WEEK_IN_SECONDS));
|
|
||||||
}
|
|
||||||
|
|
||||||
progressBarLabel->setVisible(true);
|
progressBarLabel->setVisible(true);
|
||||||
progressBar->setFormat(tr("%1 behind").arg(timeBehindText));
|
progressBar->setFormat(tr("%1 behind").arg(timeBehindText));
|
||||||
|
|
|
@ -952,4 +952,40 @@ QString formatTimeOffset(int64_t nTimeOffset)
|
||||||
return QString(QObject::tr("%1 s")).arg(QString::number((int)nTimeOffset, 10));
|
return QString(QObject::tr("%1 s")).arg(QString::number((int)nTimeOffset, 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString formateNiceTimeOffset(qint64 secs)
|
||||||
|
{
|
||||||
|
// Represent time from last generated block in human readable text
|
||||||
|
QString timeBehindText;
|
||||||
|
const int HOUR_IN_SECONDS = 60*60;
|
||||||
|
const int DAY_IN_SECONDS = 24*60*60;
|
||||||
|
const int WEEK_IN_SECONDS = 7*24*60*60;
|
||||||
|
const int YEAR_IN_SECONDS = 31556952; // Average length of year in Gregorian calendar
|
||||||
|
if(secs < 60)
|
||||||
|
{
|
||||||
|
timeBehindText = QObject::tr("%n seconds(s)","",secs);
|
||||||
|
}
|
||||||
|
else if(secs < 2*HOUR_IN_SECONDS)
|
||||||
|
{
|
||||||
|
timeBehindText = QObject::tr("%n minutes(s)","",secs/60);
|
||||||
|
}
|
||||||
|
else if(secs < 2*DAY_IN_SECONDS)
|
||||||
|
{
|
||||||
|
timeBehindText = QObject::tr("%n hour(s)","",secs/HOUR_IN_SECONDS);
|
||||||
|
}
|
||||||
|
else if(secs < 2*WEEK_IN_SECONDS)
|
||||||
|
{
|
||||||
|
timeBehindText = QObject::tr("%n day(s)","",secs/DAY_IN_SECONDS);
|
||||||
|
}
|
||||||
|
else if(secs < YEAR_IN_SECONDS)
|
||||||
|
{
|
||||||
|
timeBehindText = QObject::tr("%n week(s)","",secs/WEEK_IN_SECONDS);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qint64 years = secs / YEAR_IN_SECONDS;
|
||||||
|
qint64 remainder = secs % YEAR_IN_SECONDS;
|
||||||
|
timeBehindText = QObject::tr("%1 and %2").arg(QObject::tr("%n year(s)", "", years)).arg(QObject::tr("%n week(s)","", remainder/WEEK_IN_SECONDS));
|
||||||
|
}
|
||||||
|
return timeBehindText;
|
||||||
|
}
|
||||||
} // namespace GUIUtil
|
} // namespace GUIUtil
|
||||||
|
|
|
@ -200,6 +200,8 @@ namespace GUIUtil
|
||||||
/* Format a CNodeCombinedStats.nTimeOffset into a user-readable string. */
|
/* Format a CNodeCombinedStats.nTimeOffset into a user-readable string. */
|
||||||
QString formatTimeOffset(int64_t nTimeOffset);
|
QString formatTimeOffset(int64_t nTimeOffset);
|
||||||
|
|
||||||
|
QString formateNiceTimeOffset(qint64 secs);
|
||||||
|
|
||||||
#if defined(Q_OS_MAC) && QT_VERSION >= 0x050000
|
#if defined(Q_OS_MAC) && QT_VERSION >= 0x050000
|
||||||
// workaround for Qt OSX Bug:
|
// workaround for Qt OSX Bug:
|
||||||
// https://bugreports.qt-project.org/browse/QTBUG-15631
|
// https://bugreports.qt-project.org/browse/QTBUG-15631
|
||||||
|
|
Loading…
Reference in a new issue