-void CoreInfoDlg::coreInfoAvailable() {
- ui.labelCoreVersion->setText(_coreInfo["quasselVersion"].toString());
- ui.labelUptime->setText(_coreInfo["startTime"].toString());
- ui.labelClientCount->setNum(_coreInfo["sessionConnectedClients"].toInt());
- // data["quasselBuildDate"] = Global::quasselBuildDate;
+
+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);