aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-03-15 10:13:37 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2014-03-15 10:13:37 +0100
commita1465ac8e678ecfcadbac20e0aba4dd406271467 (patch)
treeebdf13e0f37c3e947d4818697acd18cd5b39b4fc
parent2834bc8013e6a48c212d429807b61afdbb1ae0f1 (diff)
qt: Show weeks as well as years behind for long timespans
Closes #3811.
-rw-r--r--src/qt/bitcoingui.cpp20
-rw-r--r--src/qt/locale/bitcoin_en.ts13
2 files changed, 28 insertions, 5 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 0ca16edb8c..da7762282a 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -673,17 +673,27 @@ void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
{
// Represent time from last generated block in human readable text
QString timeBehindText;
- if(secs < 48*60*60)
+ 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/(60*60));
+ timeBehindText = tr("%n hour(s)","",secs/HOUR_IN_SECONDS);
}
- else if(secs < 14*24*60*60)
+ else if(secs < 2*WEEK_IN_SECONDS)
{
- timeBehindText = tr("%n day(s)","",secs/(24*60*60));
+ 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
{
- timeBehindText = tr("%n week(s)","",secs/(7*24*60*60));
+ int years = secs / YEAR_IN_SECONDS;
+ int 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);
diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts
index 628847e030..ebcfde35c4 100644
--- a/src/qt/locale/bitcoin_en.ts
+++ b/src/qt/locale/bitcoin_en.ts
@@ -637,6 +637,19 @@ This product includes software developed by the OpenSSL Project for use in the O
</translation>
</message>
<message>
+ <location line="+0"/>
+ <source>%1 and %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+0"/>
+ <source>%n year(s)</source>
+ <translation type="unfinished">
+ <numerusform>%n year</numerusform>
+ <numerusform>%n years</numerusform>
+ </translation>
+ </message>
+ <message>
<location line="+4"/>
<source>%1 behind</source>
<translation>%1 behind</translation>