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.
PayloadAPP/Src/HomePage/homepagesetingwidget.cpp

83 lines
2.8 KiB
C++

#include "homepagesetingwidget.h"
#include "ui_homepagesetingwidget.h"
HomePageSetingWidget::HomePageSetingWidget(QWidget *parent)
: QWidget(parent), ui(new Ui::HomePageSetingWidget), _GDDCIp(""),
_lLinkIp(""), _adHocNetwork(""), _satelliteComm("") {
ui->setupUi(this);
init();
}
HomePageSetingWidget::~HomePageSetingWidget() { delete ui; }
void HomePageSetingWidget::init() {
// 选择配置文件
urlFile = QCoreApplication::applicationDirPath() + "/config.ini";
_configIni = std::make_unique<QSettings>(urlFile, QSettings::IniFormat);
// 读取配置信息
_GDDCIp = _configIni->value("光电吊舱/IP").toString();
_lLinkIp = _configIni->value("L链/IP").toString();
_adHocNetwork = _configIni->value("宽带自组网/IP").toString();
_satelliteComm = _configIni->value("机载卫通/IP").toString();
// 存储配置信息到MAP容器中
_urlMap.insert({"光电吊舱", _GDDCIp});
_urlMap.insert({"L链", _lLinkIp});
_urlMap.insert({"宽带自组网", _adHocNetwork});
_urlMap.insert({"机载卫通", _satelliteComm});
// 显示到配置页面
ui->GDDCLineEdit->setText(_GDDCIp);
ui->lLinkLineEdit->setText(_lLinkIp);
ui->netLineEdit->setText(_adHocNetwork);
ui->sateliteLineEdit->setText(_satelliteComm);
// 发送消息到其他页面
emit sendOnlyUrl(GDDC, _GDDCIp);
emit sendOnlyUrl(L_Link, _lLinkIp);
emit sendOnlyUrl(Adhoc_Network, _adHocNetwork);
emit sendOnlyUrl(Satelite_Comm, _satelliteComm);
}
void HomePageSetingWidget::on_GDDCPushButton_clicked() {
// 写参数到配置文件
_GDDCIp = ui->GDDCLineEdit->text();
_configIni->setValue("光电吊舱/IP", _GDDCIp);
emit sendOnlyUrl(GDDC, _GDDCIp);
}
void HomePageSetingWidget::on_lLinkButton_clicked() {
// 写参数到配置文件
_lLinkIp = ui->lLinkLineEdit->text();
_configIni->setValue("L链/IP", _lLinkIp);
emit sendOnlyUrl(L_Link, _lLinkIp);
}
void HomePageSetingWidget::on_netButton_clicked() {
// 写参数到配置文件
_adHocNetwork = ui->netLineEdit->text();
_configIni->setValue("宽带自组网/IP", _adHocNetwork);
emit sendOnlyUrl(Adhoc_Network, _adHocNetwork);
}
void HomePageSetingWidget::on_sateliteButton_clicked() {
// 写参数到配置文件
_satelliteComm = ui->sateliteLineEdit->text();
_configIni->setValue("机载卫通/IP", _satelliteComm);
emit sendOnlyUrl(Satelite_Comm, _satelliteComm);
}
// 一键配置
void HomePageSetingWidget::on_oneKeyButton_clicked() {
on_GDDCPushButton_clicked();
on_lLinkButton_clicked();
on_netButton_clicked();
on_sateliteButton_clicked();
}
/*************************************************
* @func getUrl
* @brief 向外部提供接口 获取配置文件中的所有url信息
* @param
**************************************************/
std::unordered_map<QString, QString> HomePageSetingWidget::getUrl() {
return _urlMap;
}