X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fcoreinfodlg.cpp;h=82816a050deb088a8ec2cc98b5a9799eaa1d9ca0;hb=9f5158eab420977b42d8fc6b98d2eb0de66cbaa4;hp=030d1d093ed25465fc963831c93e3f66a0943c60;hpb=c1722505b4906fe59c48aad54e6545a17afb78d7;p=quassel.git diff --git a/src/qtui/coreinfodlg.cpp b/src/qtui/coreinfodlg.cpp index 030d1d09..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), @@ -41,21 +43,19 @@ void CoreInfoDlg::coreInfoAvailable() ui.labelCoreVersionDate->setText(_coreInfo["quasselBuildDate"].toString()); // "BuildDate" for compatibility ui.labelClientCount->setNum(_coreInfo["sessionConnectedClients"].toInt()); - /* - qWarning() << _coreInfo["sessionConnectedClientData"]; - - int lastPeerId = -1; - QMap lastPeerData; + auto coreSessionSupported = false; for (const auto &peerData : _coreInfo["sessionConnectedClientData"].toList()) { - lastPeerData = peerData.toMap(); - lastPeerId = lastPeerData["id"].toInt(); - } + coreSessionSupported = true; - if (lastPeerId != -1) { - qWarning() << "Kicking client " << lastPeerId; - Client::kickClient(lastPeerId); + 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); @@ -75,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); +}