From a5944c840aaf022ba970de5babc965ca70a6227f Mon Sep 17 00:00:00 2001 From: Janne Koschinski Date: Mon, 28 Aug 2017 03:56:23 +0200 Subject: [PATCH] Make the UI actually emit the required signal --- src/qtui/coreinfodlg.cpp | 5 +++++ src/qtui/coreinfodlg.h | 1 + src/qtui/coresessionwidget.cpp | 17 +++++++++++------ src/qtui/coresessionwidget.h | 7 +++++++ 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/qtui/coreinfodlg.cpp b/src/qtui/coreinfodlg.cpp index 20baccee..ca4faae7 100644 --- a/src/qtui/coreinfodlg.cpp +++ b/src/qtui/coreinfodlg.cpp @@ -49,6 +49,7 @@ void CoreInfoDlg::coreInfoAvailable() auto coreSessionWidget = new CoreSessionWidget(ui.coreSessionScrollContainer); coreSessionWidget->setData(peerData.toMap()); ui.coreSessionContainer->addWidget(coreSessionWidget); + connect(coreSessionWidget, SIGNAL(disconnectClicked(int)), this, SLOT(disconnectClicked(int))); } ui.coreSessionContainer->addStretch(1); @@ -71,3 +72,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); +} diff --git a/src/qtui/coreinfodlg.h b/src/qtui/coreinfodlg.h index b8ebcd0f..20add30a 100644 --- a/src/qtui/coreinfodlg.h +++ b/src/qtui/coreinfodlg.h @@ -42,6 +42,7 @@ protected: private slots: void on_closeButton_clicked() { reject(); } void updateUptime(); + void disconnectClicked(int peerId); private: Ui::CoreInfoDlg ui; diff --git a/src/qtui/coresessionwidget.cpp b/src/qtui/coresessionwidget.cpp index 2cce1459..33568789 100644 --- a/src/qtui/coresessionwidget.cpp +++ b/src/qtui/coresessionwidget.cpp @@ -1,10 +1,6 @@ #include "coresessionwidget.h" -#include -#include -#include -#include -#include #include +#include CoreSessionWidget::CoreSessionWidget(QWidget *parent) @@ -13,12 +9,12 @@ CoreSessionWidget::CoreSessionWidget(QWidget *parent) ui.setupUi(this); layout()->setContentsMargins(0, 0, 0, 0); layout()->setSpacing(0); + connect(ui.disconnectButton, SIGNAL(released()), this, SLOT(disconnectClicked())); } void CoreSessionWidget::setData(QMap map) { QLabel *iconSecure = ui.iconSecure; - QPushButton *disconnectButton = ui.disconnectButton; ui.labelRemoteAddress->setText(map["remoteAddress"].toString()); ui.labelLocation->setText(map["location"].toString()); @@ -30,4 +26,13 @@ void CoreSessionWidget::setData(QMap map) ui.labelLocation->hide(); ui.labelLocationTitle->hide(); } + + bool success = false; + _peerId = map["id"].toInt(&success); + if (!success) _peerId = -1; +} + +void CoreSessionWidget::disconnectClicked() +{ + emit disconnectClicked(_peerId); } diff --git a/src/qtui/coresessionwidget.h b/src/qtui/coresessionwidget.h index 763c6137..f428875f 100644 --- a/src/qtui/coresessionwidget.h +++ b/src/qtui/coresessionwidget.h @@ -18,8 +18,15 @@ public: void setData(QMap); +signals: + void disconnectClicked(int); + +private slots: + void disconnectClicked(); + private: Ui::CoreSessionWidget ui; + int _peerId; }; #endif //CORESESSIONWIDGET_H -- 2.20.1