116 lines
3.6 KiB
C++
116 lines
3.6 KiB
C++
#include "diagramConnectSetting.h"
|
|
#include "ui_diagramConnectSetting.h"
|
|
#include "diagramCommunication/include/configManager.h"
|
|
#include "uiCommunicationBus.h"
|
|
#include "communicationManager.h"
|
|
|
|
DiagramConnectSetting::DiagramConnectSetting(QWidget *parent)
|
|
: QDialog(parent)
|
|
, ui(new Ui::diagramConnectSetting)
|
|
{
|
|
ui->setupUi(this);
|
|
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
|
|
initial();
|
|
}
|
|
|
|
DiagramConnectSetting::~DiagramConnectSetting()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void DiagramConnectSetting::initial()
|
|
{
|
|
connect(ui->btn_testRecommand,&QPushButton::clicked,this,&DiagramConnectSetting::onTestHttpRecommandClicked);
|
|
connect(ui->btn_testData,&QPushButton::clicked,this,&DiagramConnectSetting::onTestHttpDataClicked);
|
|
connect(ui->btn_testData,&QPushButton::clicked,this,&DiagramConnectSetting::onTestWebsocketClicked);
|
|
connect(ui->btn_testWebsoc,&QPushButton::clicked,this,&DiagramConnectSetting::onTestWebsocketClicked);
|
|
connect(ui->btn_ok,&QPushButton::clicked,this,&DiagramConnectSetting::onOkClicked);
|
|
connect(ui->btn_cancel,&QPushButton::clicked,this,&DiagramConnectSetting::onCancelClicked);
|
|
}
|
|
|
|
void DiagramConnectSetting::updateByConfig(ChannelConfig info,int nType)
|
|
{
|
|
if(nType == 0){
|
|
ui->le_httpName->setText(info.name);
|
|
ui->le_httpIp->setText(info.endpoint);
|
|
ui->le_httpOver->setText(QString::number(info.timeout));
|
|
}
|
|
else if(nType == 1){
|
|
ui->le_websocName->setText(info.name);
|
|
ui->le_websocIp->setText(info.endpoint);
|
|
ui->le_websocOver->setText(QString::number(info.timeout));
|
|
ui->le_websocHeart->setText(QString::number(info.heartbeatInterval));
|
|
}
|
|
}
|
|
|
|
void DiagramConnectSetting::showDlg()
|
|
{
|
|
show();
|
|
ConfigManager* config = ConfigManager::instance();
|
|
auto httpInfo = config->getHttpConfig();
|
|
updateByConfig(httpInfo,0);
|
|
auto socketInfo = config->getWebSocketConfig();
|
|
updateByConfig(socketInfo,1);
|
|
}
|
|
|
|
void DiagramConnectSetting::updateHttpLog(QString sType,QString data)
|
|
{
|
|
ui->lst_log->addItem("接收http:"+data);
|
|
if(sType == "recommend"){
|
|
ui->label_httpRecommand->setText("联通");
|
|
}
|
|
else if(sType == "subscriptions"){
|
|
ui->label_httpData->setText("联通");
|
|
}
|
|
else if(sType == "subscriptionTest"){
|
|
ui->label_httpData->setText("联通");
|
|
}
|
|
}
|
|
|
|
void DiagramConnectSetting::updateWebsocketLog(QString str)
|
|
{
|
|
ui->lst_log->addItem("接收websocket:"+str);
|
|
}
|
|
|
|
void DiagramConnectSetting::onTestHttpRecommandClicked()
|
|
{
|
|
QString strUrl = ui->le_httpIp->text()+"/measurement/recommend?input=";
|
|
UiCommunicationBus::instance()->sendHttpRequest(strUrl);
|
|
}
|
|
|
|
void DiagramConnectSetting::onTestHttpDataClicked()
|
|
{
|
|
QString sPath = ui->le_httpIp->text()+"/monitors/data/subscriptions";
|
|
|
|
UiCommunicationBus::instance()->sendHttpRequest(sPath,QVariant(),"POST");
|
|
}
|
|
|
|
void DiagramConnectSetting::onTestWebsocketClicked()
|
|
{
|
|
|
|
}
|
|
|
|
void DiagramConnectSetting::onOkClicked()
|
|
{
|
|
CommunicationManager* comm = CommunicationManager::instance();
|
|
ConfigManager* config = ConfigManager::instance();
|
|
|
|
// 应用配置
|
|
auto httpConfig = config->getHttpConfig();
|
|
auto websocketConfig = config->getWebSocketConfig();
|
|
httpConfig.endpoint = ui->le_httpIp->text();
|
|
httpConfig.timeout = ui->le_httpOver->text().toInt();
|
|
|
|
websocketConfig.endpoint = ui->le_websocIp->text();
|
|
websocketConfig.timeout = ui->le_websocOver->text().toInt();
|
|
websocketConfig.heartbeatInterval = ui->le_websocHeart->text().toInt();
|
|
comm->updateHttpConfig(httpConfig);
|
|
comm->updateWebSocketConfig(config->getWebSocketConfig());
|
|
hide();
|
|
}
|
|
|
|
void DiagramConnectSetting::onCancelClicked()
|
|
{
|
|
hide();
|
|
}
|