X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fcoreinfodlg.cpp;h=82816a050deb088a8ec2cc98b5a9799eaa1d9ca0;hb=b8e812857ca64834078e1f620bf98fffa48b7768;hp=babb4ad6f954e22485bdf18879bfd3daa7ea18f5;hpb=0a43227b8cd44625f4881cc1545d42c8c8a4876c;p=quassel.git diff --git a/src/qtui/coreinfodlg.cpp b/src/qtui/coreinfodlg.cpp index babb4ad6..82816a05 100644 --- a/src/qtui/coreinfodlg.cpp +++ b/src/qtui/coreinfodlg.cpp @@ -24,6 +24,8 @@ #include "client.h" #include "signalproxy.h" +#include "bufferwidget.h" +#include "coresessionwidget.h" CoreInfoDlg::CoreInfoDlg(QWidget *parent) : QDialog(parent), @@ -38,8 +40,23 @@ CoreInfoDlg::CoreInfoDlg(QWidget *parent) void CoreInfoDlg::coreInfoAvailable() { ui.labelCoreVersion->setText(_coreInfo["quasselVersion"].toString()); - ui.labelCoreBuildDate->setText(_coreInfo["quasselBuildDate"].toString()); + ui.labelCoreVersionDate->setText(_coreInfo["quasselBuildDate"].toString()); // "BuildDate" for compatibility ui.labelClientCount->setNum(_coreInfo["sessionConnectedClients"].toInt()); + + auto coreSessionSupported = false; + for (const auto &peerData : _coreInfo["sessionConnectedClientData"].toList()) { + coreSessionSupported = true; + + auto coreSessionWidget = new CoreSessionWidget(ui.coreSessionScrollContainer); + coreSessionWidget->setData(peerData.toMap()); + ui.coreSessionContainer->addWidget(coreSessionWidget); + connect(coreSessionWidget, SIGNAL(disconnectClicked(int)), this, SLOT(disconnectClicked(int))); + } + + ui.coreSessionScrollArea->setVisible(coreSessionSupported); + + ui.coreSessionContainer->addStretch(1); + updateUptime(); startTimer(1000); } @@ -58,3 +75,7 @@ void CoreInfoDlg::updateUptime() + 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); } +void CoreInfoDlg::disconnectClicked(int peerId) +{ + Client::kickClient(peerId); +}