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

207 lines
6.8 KiB
C++

#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("通信设置");
}
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 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);
}