You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
5.5 KiB
C++
147 lines
5.5 KiB
C++
#include "homepagesetingwidget.h"
|
|
|
|
#include "ui_homepagesetingwidget.h"
|
|
|
|
HomePageSetingWidget::HomePageSetingWidget(QWidget *parent)
|
|
: QWidget(parent), ui(new Ui::HomePageSetingWidget) {
|
|
ui->setupUi(this);
|
|
init();
|
|
}
|
|
HomePageSetingWidget::~HomePageSetingWidget() {
|
|
delete ui;
|
|
}
|
|
|
|
void HomePageSetingWidget::init() {
|
|
// 选择配置文件
|
|
urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
|
|
_configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
|
|
|
|
// 读取配置信息
|
|
_GDDC.net.remoteIp = _configIni->value("Pod/IP").toString();
|
|
_GDDC.net.remotePort = _configIni->value("Pod/Port").toInt();
|
|
_lLink.url = _configIni->value("L-Link/IP").toString();
|
|
_adHocNetwork.url = _configIni->value("HocNetwork/IP").toString();
|
|
_satelliteComm.url = _configIni->value("SatelliteComm/IP").toString();
|
|
_rescueLoad.url = _configIni->value("RescueLoading/IP").toString();
|
|
_pdtLoad.url = _configIni->value("PdtLoading/IP").toString();
|
|
_ModelCamera.net.remoteIp =
|
|
_configIni->value("ModelCamera/remoteIp").toString();
|
|
_ModelCamera.net.remotePort =
|
|
_configIni->value("ModelCamera/remotePort").toInt();
|
|
_ModelCamera.net.localIp =
|
|
_configIni->value("ModelCamera/localIp").toString();
|
|
_ModelCamera.net.localPort =
|
|
_configIni->value("ModelCamera/localPort").toInt();
|
|
|
|
// 存储配置信息到MAP容器中
|
|
_allParamMap.insert({"Pod", _GDDC});
|
|
_allParamMap.insert({"L-Link", _lLink});
|
|
_allParamMap.insert({"HocNetwork", _adHocNetwork});
|
|
_allParamMap.insert({"SatelliteComm", _satelliteComm});
|
|
_allParamMap.insert({"ModelCamera", _ModelCamera});
|
|
_allParamMap.insert({"RescueLoading", _rescueLoad});
|
|
_allParamMap.insert({"PdtLoading", _pdtLoad});
|
|
|
|
// 显示到配置页面
|
|
ui->GDDCLineEdit->setText(_GDDC.net.remoteIp);
|
|
ui->lLinkLineEdit->setText(_lLink.url);
|
|
ui->netLineEdit->setText(_adHocNetwork.url);
|
|
ui->sateliteLineEdit->setText(_satelliteComm.url);
|
|
ui->RescueLineEdit->setText(_rescueLoad.url);
|
|
ui->PdtLineEdit->setText(_pdtLoad.url);
|
|
ui->modelCameraLineEditRemoteIp->setText(_ModelCamera.net.remoteIp);
|
|
ui->modelCameraLineEditRemotePort->setText(
|
|
QString::number(_ModelCamera.net.remotePort));
|
|
ui->modelCameraLineEditLocalIp->setText(_ModelCamera.net.localIp);
|
|
ui->modelCameraLineEditLocalPort->setText(
|
|
QString::number(_ModelCamera.net.localPort));
|
|
|
|
// 发送消息到其他页面
|
|
emit sendOneSet(GDDC, _GDDC);
|
|
emit sendOneSet(L_Link, _lLink);
|
|
emit sendOneSet(Adhoc_Network, _adHocNetwork);
|
|
emit sendOneSet(Satelite_Comm, _satelliteComm);
|
|
emit sendOneSet(ModelCamera, _ModelCamera);
|
|
}
|
|
|
|
void HomePageSetingWidget::on_GDDCPushButton_clicked() {
|
|
// 写参数到配置文件
|
|
_GDDC.net.remoteIp = ui->GDDCLineEdit->text();
|
|
_configIni->setValue("Pod/IP", _GDDC.net.remoteIp);
|
|
emit sendOneSet(GDDC, _GDDC);
|
|
}
|
|
void HomePageSetingWidget::on_lLinkButton_clicked() {
|
|
// 写参数到配置文件
|
|
_lLink.url = ui->lLinkLineEdit->text();
|
|
_configIni->setValue("L-Link/IP", _lLink.url);
|
|
emit sendOneSet(L_Link, _lLink);
|
|
}
|
|
|
|
void HomePageSetingWidget::on_netButton_clicked() {
|
|
// 写参数到配置文件
|
|
_adHocNetwork.url = ui->netLineEdit->text();
|
|
_configIni->setValue("HocNetwork/IP", _adHocNetwork.url);
|
|
emit sendOneSet(Adhoc_Network, _adHocNetwork);
|
|
}
|
|
|
|
void HomePageSetingWidget::on_sateliteButton_clicked() {
|
|
// 写参数到配置文件
|
|
_satelliteComm.url = ui->sateliteLineEdit->text();
|
|
_configIni->setValue("SatelliteComm/IP", _satelliteComm.url);
|
|
emit sendOneSet(Satelite_Comm, _satelliteComm);
|
|
}
|
|
|
|
//搜救载荷
|
|
void HomePageSetingWidget::on_RescueButton_clicked()
|
|
{
|
|
// 写参数到配置文件
|
|
_rescueLoad.url = ui->RescueLineEdit->text();
|
|
_configIni->setValue("RescueLoading/IP", _rescueLoad.url);
|
|
emit sendOneSet(RescueLoading, _rescueLoad);
|
|
}
|
|
|
|
void HomePageSetingWidget::on_PdtButton_clicked()
|
|
{
|
|
// 写参数到配置文件
|
|
_pdtLoad.url = ui->PdtLineEdit->text();
|
|
_configIni->setValue("PdtLoading/IP", _pdtLoad.url);
|
|
emit sendOneSet(PdtLoading, _pdtLoad);
|
|
}
|
|
|
|
// 三维相机
|
|
void HomePageSetingWidget::on_modelCameraButton_clicked() {
|
|
// 写参数到配置文件
|
|
_ModelCamera.net.remoteIp = ui->modelCameraLineEditRemoteIp->text();
|
|
_ModelCamera.net.remotePort =
|
|
ui->modelCameraLineEditRemotePort->text().toInt();
|
|
_ModelCamera.net.localIp = ui->modelCameraLineEditLocalIp->text();
|
|
_ModelCamera.net.localPort =
|
|
ui->modelCameraLineEditLocalPort->text().toInt();
|
|
_configIni->setValue("ModelCamera/remoteIp", _ModelCamera.net.remoteIp);
|
|
_configIni->setValue("ModelCamera/remotePort", _ModelCamera.net.remotePort);
|
|
_configIni->setValue("ModelCamera/localIp", _ModelCamera.net.localIp);
|
|
_configIni->setValue("ModelCamera/localPort", _ModelCamera.net.localPort);
|
|
emit sendOneSet(ModelCamera, _ModelCamera);
|
|
}
|
|
// 一键配置
|
|
void HomePageSetingWidget::on_oneKeyButton_clicked() {
|
|
on_GDDCPushButton_clicked();
|
|
on_lLinkButton_clicked();
|
|
on_netButton_clicked();
|
|
on_sateliteButton_clicked();
|
|
on_modelCameraButton_clicked();
|
|
on_sateliteButton_clicked();
|
|
on_RescueButton_clicked();
|
|
on_PdtButton_clicked();
|
|
}
|
|
/*************************************************
|
|
* @func getAllParam
|
|
* @brief 向外部提供接口 获取配置文件中的所有url信息
|
|
* @param
|
|
**************************************************/
|
|
std::unordered_map<QString, settingStruct> HomePageSetingWidget::getAllParam() {
|
|
return _allParamMap;
|
|
}
|
|
|
|
|