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/GDDC/gddcSet.cpp

209 lines
6.9 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include "gddcSet.h"
#include "ui_gddcSet.h"
#include <QSettings>
//#pragma execution_character_set(“utf-8”)
GDDCSet::GDDCSet(QWidget *parent)
: QWidget(parent)
, ui(new Ui::GDDCSet)
{
ui->setupUi(this);
initWindow();
initParam();
initUDPSocket();
}
GDDCSet::~GDDCSet()
{
delete ui;
}
void GDDCSet::initWindow()
{
this->setWindowTitle("通信设置");
setAttribute(Qt::WA_QuitOnClose,false);
}
void GDDCSet::initUDPSocket()
{
}
void GDDCSet::initParam()
{
//m_myPairNetwork("",0,"",0);
// QSettings setting("./sentence.ini",QSettings::IniFormat);
// setting.setIniCodec(QTextCodec::codecForName("UTF-8")); //重点
ui->comboBox_streamType->addItem("RTSP");
ui->comboBox_streamType->addItem("UDP Raw");
ui->comboBox_streamType->addItem("UDP 422");
ui->comboBox_streamType->addItem("UDP TS");
ui->comboBox_playURL1->addItem("rtsp://192.168.1.160:554/live/track0");
ui->comboBox_playURL1->setEditable(true);
/*"rtsp://192.168.1.160:554/live/track0"*/
/*"rtmp://liteavapp.qcloud.com/live/liteavdemoplayerstreamid"*/
ui->lineEdit_playport1->setText("10008");
ui->lineEdit_playport2->setText("0");
ui->radioButton_NetCtrlUDP->setChecked(true);
ui->radioButton_NetCtrlTCP->setChecked(false);
//读取本机网络设备
QString urlFile = QCoreApplication::applicationDirPath()+"/config.ini";
QString name = QDir::currentPath()+"./config.ini";
m_configIniPath = name.toLatin1();
char* strSysIniName = m_configIniPath.data();//系统配置文件路径
char inBuf[100];
::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放URL", "-1", inBuf, 100, strSysIniName);
m_playURL2 = QString::fromUtf8(inBuf);
ui->lineEdit_playURL2->setText(m_playURL2);
::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放Port", "-1", inBuf, 100, strSysIniName);
m_playPort2 = atoi(inBuf);;
ui->lineEdit_playport2->setText(QString::number(m_playPort2));
::GetPrivateProfileStringA("光电吊舱-视频连接-显示窗口1", "播放Port", "-1", inBuf, 100, strSysIniName);
m_playPort1 = atoi(inBuf);;
ui->lineEdit_playport1->setText(QString::number(m_playPort1));
::GetPrivateProfileStringA("光电吊舱-网络控制", "远端IP", "-1", inBuf, 100, strSysIniName);
m_myPairNetwork.setRemoteIP(QString::fromUtf8(inBuf));
::GetPrivateProfileStringA("光电吊舱-网络控制", "远端Port", "-1", inBuf, 100, strSysIniName);
m_myPairNetwork.setRemotePort(atoi(inBuf));
::GetPrivateProfileStringA("光电吊舱-网络控制", "本地IP", "-1", inBuf, 100, strSysIniName);
m_myPairNetwork.setLocalIP(QString::fromUtf8(inBuf));
::GetPrivateProfileStringA("光电吊舱-网络控制", "本地Port", "-1", inBuf, 100, strSysIniName);
m_myPairNetwork.setLocalPort(atoi(inBuf));
ui->lineEdit_NetCtrlRemoteIp->setText(m_myPairNetwork.getRemoteIP());
ui->lineEdit_NetCtrlRemotePort->setText(QString::number(m_myPairNetwork.getRemotePort()));
ui->lineEdit_NetCtrlLocalIp->setText(m_myPairNetwork.getLocalIP());
ui->lineEdit_NetCtrlLocalPort->setText(QString::number(m_myPairNetwork.getLocalPort()));
}
//视频连接-显示窗口1-连接
void GDDCSet::on_pushButton_ConnectURL1_clicked()
{
saveDataToLocalIni();
if(ui->pushButton_ConnectURL1->text()=="连接")
{
emit SignalStartConnect(1);
ui->pushButton_ConnectURL1->setText("断开");
}
else
{
emit SignalStopConnect(1);
ui->pushButton_ConnectURL1->setText("连接");
}
}
//视频连接-显示窗口2-连接
void GDDCSet::on_pushButton_ConnectURL2_clicked()
{
saveDataToLocalIni();
if(ui->pushButton_ConnectURL2->text()=="连接")
{
emit SignalStartConnect(2);
ui->pushButton_ConnectURL2->setText("断开");
}
else
{
emit SignalStopConnect(2);
ui->pushButton_ConnectURL2->setText("连接");
}
}
//串口控制-刷新
void GDDCSet::on_pushButton_serialControlRefalsh_clicked()
{
saveDataToLocalIni();
}
//串口控制-连接
void GDDCSet::on_pushButton_serialControlConnect_clicked()
{
saveDataToLocalIni();
if(ui->pushButton_serialControlConnect->text()=="连接")
{
emit SignalStartConnect(3);
ui->pushButton_serialControlConnect->setText("断开");
}
else
{
emit SignalStopConnect(3);
ui->pushButton_serialControlConnect->setText("连接");
}
}
//网络控制-连接
void GDDCSet::on_pushButton_NetCtrlConnect_clicked()
{
saveDataToLocalIni();
if(ui->pushButton_NetCtrlConnect->text()=="连接")
{
if(ui->radioButton_NetCtrlUDP->isChecked())
{
emit SignalStartConnect(4);
}
else
{
emit SignalStartConnect(5);
}
ui->pushButton_NetCtrlConnect->setText("断开");
}
else
{
emit SignalStopConnect(4);
emit SignalStopConnect(5);
ui->pushButton_NetCtrlConnect->setText("连接");
}
}
//保存数据至本地ini文件
void GDDCSet::saveDataToLocalIni()
{
char* strSysIniName = m_configIniPath.data();//系统配置文件路径
char* inBuf;
QByteArray ba;
m_myPairNetwork.setLocalIP(ui->lineEdit_NetCtrlLocalIp->text());
ba = m_myPairNetwork.getLocalIP().toLocal8Bit();
inBuf = ba.data();//toLatin1,toUtf8
::WritePrivateProfileStringA("光电吊舱-网络控制", "本地IP", inBuf, strSysIniName);
m_myPairNetwork.setLocalPort(ui->lineEdit_NetCtrlLocalPort->text().toInt());
_itoa_s(m_myPairNetwork.getLocalPort(),inBuf,10,10);//要转换的数字,存放转换结果的字符串,存放结果的字符数组长度,转化的进制数2表示2进制10表示10进制
::WritePrivateProfileStringA("光电吊舱-网络控制", "本地Port", inBuf, strSysIniName);
m_myPairNetwork.setRemoteIP(ui->lineEdit_NetCtrlRemoteIp->text());
ba = m_myPairNetwork.getRemoteIP().toLocal8Bit();
inBuf = ba.data();
::WritePrivateProfileStringA("光电吊舱-网络控制", "远端IP", inBuf, strSysIniName);
m_myPairNetwork.setRemotePort(ui->lineEdit_NetCtrlRemotePort->text().toInt());
_itoa_s(m_myPairNetwork.getRemotePort(),inBuf,10,10);
::WritePrivateProfileStringA("光电吊舱-网络控制", "远端Port", inBuf, strSysIniName);
m_playURL2 = ui->lineEdit_playURL2->text();
ba = m_playURL2.toLocal8Bit();
inBuf = ba.data();
::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放URL", inBuf, strSysIniName);
m_playPort2 = ui->lineEdit_playport2->text().toInt();
_itoa_s(m_playPort2,inBuf,10,10);
::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口2", "播放Port", inBuf, strSysIniName);
m_playURL1 = ui->comboBox_playURL1->currentText();
m_playPort1 = ui->lineEdit_playport1->text().toInt();
_itoa_s(m_playPort1,inBuf,10,10);
::WritePrivateProfileStringA("光电吊舱-视频连接-显示窗口1", "播放Port", inBuf, strSysIniName);
}