fix uptime calculation when client and core are in different timezones
[quassel.git] / src / qtui / coreinfodlg.cpp
index a63d78d..6c5d6fa 100644 (file)
@@ -43,11 +43,12 @@ void CoreInfoDlg::coreInfoAvailable() {
 void CoreInfoDlg::updateUptime() {
   QDateTime startTime = _coreInfo["startTime"].toDateTime();
   
-  int uptime = startTime.secsTo(QDateTime::currentDateTime());
+  int uptime = startTime.secsTo(QDateTime::currentDateTime().toUTC());
   int updays = uptime / 86400; uptime %= 86400;
   int uphours = uptime / 3600; uptime %= 3600;
   int upmins = uptime / 60; uptime %= 60;
 
-  QString uptimeText = QString(tr("%1 Day(s) %2:%3:%4 (since %5)")).arg(updays).arg(uphours,2,10,QChar('0')).arg(upmins,2,10,QChar('0')).arg(uptime,2,10,QChar('0')).arg(startTime.toString(Qt::TextDate));
+  QString uptimeText = tr("%n Day(s)", "", updays)
+                     + tr(" %1:%2:%3 (since %4)").arg(uphours,2,10,QChar('0')).arg(upmins,2,10,QChar('0')).arg(uptime,2,10,QChar('0')).arg(startTime.toString(Qt::TextDate));
   ui.labelUptime->setText(uptimeText);
 }