/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "coreinfodlg.h"
+#include <QDateTime>
+
#include "client.h"
#include "signalproxy.h"
void CoreInfoDlg::coreInfoAvailable() {
ui.labelCoreVersion->setText(_coreInfo["quasselVersion"].toString());
- ui.labelUptime->setText(_coreInfo["startTime"].toString());
+ ui.labelCoreBuildDate->setText(_coreInfo["quasselBuildDate"].toString());
ui.labelClientCount->setNum(_coreInfo["sessionConnectedClients"].toInt());
- // data["quasselBuildDate"] = Global::quasselBuildDate;
+ updateUptime();
+ startTimer(1000);
+}
+
+void CoreInfoDlg::updateUptime() {
+ QDateTime startTime = _coreInfo["startTime"].toDateTime();
+
+ 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 = 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.toLocalTime().toString(Qt::TextDate));
+ ui.labelUptime->setText(uptimeText);
}