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.
108 lines
4.1 KiB
C++
108 lines
4.1 KiB
C++
4 months ago
|
#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());
|
||
|
}
|
||
|
}
|