1#include <QLoggingCategory> 
    2#include <QSerialPortInfo> 
    3#include "ParameterPlugin.h" 
    4#include "DlgSettingsSerialPort.h" 
    5#include "ui_DlgSettingsSerialPort.h" 
    7static Q_LOGGING_CATEGORY(log, 
"SerialPort.Dlg")
 
   17    if(m_pFrmParaAppearnce) {
 
   18        m_pFrmParaAppearnce->SetParameter(&m_pPara->m_Terminal);
 
   19        ui->tabWidget->addTab(m_pFrmParaAppearnce,
 
   20                              m_pFrmParaAppearnce->windowTitle());
 
   23    ui->leName->setText(m_pPara->GetName());
 
   24    foreach (
const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
 
   42        szPort = info.portName();
 
   48        ui->cbSerialPort->addItem(szPort);
 
   50    int nSerialPort = m_pPara->GetSerialPort();
 
   52    if(-1 < nSerialPort && nSerialPort < ui->cbSerialPort->count()) {
 
   53        ui->cbSerialPort->setCurrentIndex(nSerialPort);
 
   55    if(-1 != ui->cbSerialPort->currentIndex())
 
   56        info = QSerialPortInfo::availablePorts().at(ui->cbSerialPort->currentIndex());
 
   57    QSerialPort serialPort(info);
 
   59    if(!m_pPara->GetSerialPortName().isEmpty()
 
   60        && ui->cbSerialPort->currentText() != m_pPara->GetSerialPortName()) {
 
   61        ui->cbSerialPort->setCurrentText(m_pPara->GetSerialPortName());
 
   62        serialPort.setPortName(m_pPara->GetSerialPortName());
 
   65    foreach(
const qint32 &baudRate, QSerialPortInfo::standardBaudRates())
 
   67        ui->cbBaudRate->addItem(QString::number(baudRate));
 
   71        szBaudRate = QString::number(serialPort.baudRate());
 
   73        szBaudRate = QString::number(m_pPara->GetBaudRate());
 
   74    ui->cbBaudRate->setCurrentText(szBaudRate);
 
   76    ui->cbDataBits->addItem(
"8", QSerialPort::DataBits::Data8);
 
   77    ui->cbDataBits->addItem(
"7", QSerialPort::DataBits::Data7);
 
   78    ui->cbDataBits->addItem(
"6", QSerialPort::DataBits::Data6);
 
   79    ui->cbDataBits->addItem(
"5", QSerialPort::DataBits::Data5);
 
   80    QSerialPort::DataBits dataBits;
 
   82        dataBits = serialPort.dataBits();
 
   84        dataBits = m_pPara->GetDataBits();
 
   85    int nIndex = ui->cbDataBits->findData(dataBits);
 
   86    ui->cbDataBits->setCurrentIndex(nIndex);
 
   88    ui->cbParity->addItem(tr(
"None"), QSerialPort::Parity::NoParity);
 
   89    ui->cbParity->addItem(tr(
"Even"), QSerialPort::Parity::EvenParity);
 
   90    ui->cbParity->addItem(tr(
"Odd"), QSerialPort::Parity::OddParity);
 
   91    ui->cbParity->addItem(tr(
"Space"), QSerialPort::Parity::SpaceParity);
 
   92    ui->cbParity->addItem(tr(
"Mark"), QSerialPort::Parity::MarkParity);
 
   93    QSerialPort::Parity parity;
 
   95        parity = serialPort.parity();
 
   97        parity = m_pPara->GetParity();
 
   98    nIndex = ui->cbParity->findData(parity);
 
   99    ui->cbParity->setCurrentIndex(nIndex);
 
  101    ui->cbStopBits->addItem(
"1", QSerialPort::StopBits::OneStop);
 
  102    ui->cbStopBits->addItem(
"1.5", QSerialPort::StopBits::OneAndHalfStop);
 
  103    ui->cbStopBits->addItem(
"2", QSerialPort::StopBits::TwoStop);
 
  104    QSerialPort::StopBits stopBits;
 
  105    if(-1 == nSerialPort)
 
  106        stopBits = serialPort.stopBits();
 
  108        stopBits = m_pPara->GetStopBits();
 
  109    nIndex = ui->cbStopBits->findData(stopBits);
 
  110    ui->cbStopBits->setCurrentIndex(nIndex);
 
  112    ui->cbFlowControl->addItem(tr(
"None"), QSerialPort::FlowControl::NoFlowControl);
 
  113    ui->cbFlowControl->addItem(tr(
"HardWare"), QSerialPort::FlowControl::HardwareControl);
 
  114    ui->cbFlowControl->addItem(tr(
"SoftWare"), QSerialPort::FlowControl::SoftwareControl);
 
  115    QSerialPort::FlowControl flowControl;
 
  116    if(-1 == nSerialPort)
 
  117        flowControl = serialPort.flowControl();
 
  119        flowControl = m_pPara->GetFlowControl();
 
  120    nIndex = ui->cbFlowControl->findData(flowControl);
 
  121    ui->cbFlowControl->setCurrentIndex(nIndex);
 
  124CDlgSettingsSerialPort::~CDlgSettingsSerialPort()
 
  129void CDlgSettingsSerialPort::accept()
 
  131    if(m_pFrmParaAppearnce)
 
  132        m_pFrmParaAppearnce->
Accept();
 
  134    m_pPara->SetName(ui->leName->text());
 
  135    m_pPara->SetSerialPort(ui->cbSerialPort->currentIndex());
 
  136    m_pPara->SetSerialPortName(ui->cbSerialPort->currentText());
 
  137    m_pPara->SetBaudRate(ui->cbBaudRate->currentText().toInt());
 
  138    m_pPara->SetParity((QSerialPort::Parity)ui->cbParity->currentData().toInt());
 
  139    m_pPara->SetDataBits((QSerialPort::DataBits)ui->cbDataBits->currentData().toInt());
 
  140    m_pPara->SetStopBits((QSerialPort::StopBits)ui->cbStopBits->currentData().toInt());
 
  141    m_pPara->SetFlowControl((QSerialPort::FlowControl)ui->cbFlowControl->currentData().toInt());
 
virtual int Accept() override
Accept parameters.