#include "commandwidget.h" #include "ui_commandwidget.h" CommandWidget::CommandWidget(QWidget *parent) : QWidget(parent), ui(new Ui::CommandWidget) { ui->setupUi(this); ui->stopConnectionToolBtn->setDisabled(true); ui->settingToolBtn->setIcon(QIcon(":/images/settings.png")); ui->settingToolBtn->setText("通信设置"); ui->settingToolBtn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); udpSocket = new QUdpSocket(this); connect(&settingDlg, &CommunicationSettingDlg::sendErrorMessage, this, &CommandWidget::receiveMessageSlots); } CommandWidget::~CommandWidget() { delete ui; if (udpSocket) udpSocket->deleteLater(); } void CommandWidget::on_settingToolBtn_clicked() { settingDlg.exec(); } // 连接 void CommandWidget::on_startConnectionToolBtn_clicked() { ui->startConnectionToolBtn->setDisabled(true); if (!g_networkSettingInfo) return; int dataSourceType = g_networkSettingInfo->value("DataSource").toInt(); QString groupName = ""; switch (dataSourceType) { case 0: groupName = "LLink"; break; case 1: groupName = "SATCOM1"; break; case 2: groupName = "SATCOM2"; break; default: break; } m_remoteIP = g_networkSettingInfo->value(groupName + "/remoteIP").toString(); m_remotePort = g_networkSettingInfo->value(groupName + "/remotePort").toInt(); int localPort = g_networkSettingInfo->value(groupName + "/localPort").toInt(); QString localIP = g_networkSettingInfo->value(groupName + "/localIP").toString(); if (dataSourceType == 0) { // 组播 emit startConnectionSignal(m_remoteIP, m_remotePort); } else { // 单播 emit startConnectionSignal(localIP, localPort); } ui->stopConnectionToolBtn->setDisabled(false); } // 断开 void CommandWidget::on_stopConnectionToolBtn_clicked() { ui->stopConnectionToolBtn->setDisabled(true); emit stopConnectionSignal(); // ui->stopConnectionToolBtn->setDisabled(false); ui->startConnectionToolBtn->setDisabled(false); } void CommandWidget::receiveMessageSlots(QString message, int type) { emit sendErrorMessage(message, type); }