#include "streamaddrsettingsdlg.h" #include "ui_streamaddrsettingsdlg.h" StreamAddrSettingsDlg::StreamAddrSettingsDlg(QWidget *parent) : QDialog(parent), ui(new Ui::StreamAddrSettingsDlg) { ui->setupUi(this); this->setWindowTitle(QStringLiteral("视频流设置")); // 飞机类型 QStringList uavTypeList; uavTypeList.append("FP98"); uavTypeList.append("FP985"); uavTypeList.append("FP981C"); uavTypeList.append("FP981CS"); uavTypeList.append("FP981A"); ui->uavTypeCombox->insertItems(0, uavTypeList); // ui->pushStreamIPCombox->insertItem(0, QStringLiteral("航天飞鹏服务器")); ui->pushStreamIPCombox->insertItem(1, QStringLiteral("航天飞鹏阿里云服务器")); ui->pushStreamIPCombox->insertItem(2, QStringLiteral("自定义")); } StreamAddrSettingsDlg::~StreamAddrSettingsDlg() { delete ui; } void StreamAddrSettingsDlg::showEvent(QShowEvent *event) { initSavedParms(); } void StreamAddrSettingsDlg::on_pushStreamIPCombox_currentIndexChanged( int index) { if (2 == index) { ui->pushStreamIPCombox->setEditable(true); } else { ui->pushStreamIPCombox->setEditable(false); } } // 保存设置 void StreamAddrSettingsDlg::on_saveBtn_clicked() { if (!g_networkSettingInfo) { this->close(); return; } g_networkSettingInfo->setValue("NetworkStreamSettings/uavType", ui->uavTypeCombox->currentIndex()); g_networkSettingInfo->setValue("NetworkStreamSettings/uavID", ui->uavIDspinBox->value()); g_networkSettingInfo->setValue("NetworkStreamSettings/podPullAddress", ui->podPullStreamIPEdit->text()); g_networkSettingInfo->setValue("NetworkStreamSettings/pullAddress1", ui->pullStreamAddrEdit1->text()); g_networkSettingInfo->setValue("NetworkStreamSettings/pullAddress2", ui->pullStreamAddrEdit2->text()); g_networkSettingInfo->setValue("NetworkStreamSettings/pullAddress3", ui->pullStreamAddrEdit3->text()); g_networkSettingInfo->setValue("NetworkStreamSettings/pullAddress4", ui->pullStreamAddrEdit4->text()); int pushStreamIndex = ui->pushStreamIPCombox->currentIndex(); g_networkSettingInfo->setValue("NetworkStreamSettings/pushStreamType", pushStreamIndex); if (2 == pushStreamIndex) { g_networkSettingInfo->setValue( "NetworkStreamSettings/pushStreamAddress", ui->pushStreamIPCombox->currentText()); } this->close(); } void StreamAddrSettingsDlg::initSavedParms() { if (!g_networkSettingInfo) return; ui->uavTypeCombox->setCurrentIndex( g_networkSettingInfo->value("NetworkStreamSettings/uavType").toInt()); ui->uavIDspinBox->setValue( g_networkSettingInfo->value("NetworkStreamSettings/uavID").toInt()); ui->podPullStreamIPEdit->setText( g_networkSettingInfo->value("NetworkStreamSettings/podPullAddress") .toString()); ui->pullStreamAddrEdit1->setText( g_networkSettingInfo->value("NetworkStreamSettings/pullAddress1") .toString()); ui->pullStreamAddrEdit2->setText( g_networkSettingInfo->value("NetworkStreamSettings/pullAddress2") .toString()); ui->pullStreamAddrEdit3->setText( g_networkSettingInfo->value("NetworkStreamSettings/pullAddress3") .toString()); ui->pullStreamAddrEdit4->setText( g_networkSettingInfo->value("NetworkStreamSettings/pullAddress4") .toString()); int pushStreamIndex = g_networkSettingInfo->value("NetworkStreamSettings/pushStreamType") .toInt(); ui->pushStreamIPCombox->setCurrentIndex(pushStreamIndex); if (2 == pushStreamIndex) { ui->pushStreamIPCombox->setItemText( pushStreamIndex, g_networkSettingInfo ->value("NetworkStreamSettings/pushStreamAddress") .toString()); } }