42 #include "settingswidget.h"
43 #include "ui_settingswidget.h"
45 #include "../triggercontrol.h"
58 #include <QtSerialPort/QSerialPort>
59 #include <QtSerialPort/QSerialPortInfo>
81 connect(ui->m_qPushButton_apply,SIGNAL(released()),
this, SLOT(apply()));
84 connect(ui->m_qComboBox_port, SIGNAL(currentIndexChanged(
int)),
this, SLOT(showPortInfo(
int)));
88 fillPortsParameters();
106 void SettingsWidget::apply()
115 void SettingsWidget::fillPortsInfo()
117 ui->m_qComboBox_port->clear();
119 foreach (
const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
122 list << info.portName()
123 << info.description()
124 << info.manufacturer()
125 << info.systemLocation();
129 ui->m_qComboBox_port->addItem(list.first(), list);
136 void SettingsWidget::fillPortsParameters()
138 ui->m_qComboBox_baudrate->addItem(QLatin1String(
"9600"), QSerialPort::Baud9600);
139 ui->m_qComboBox_baudrate->addItem(QLatin1String(
"19200"), QSerialPort::Baud19200);
140 ui->m_qComboBox_baudrate->addItem(QLatin1String(
"38400"), QSerialPort::Baud38400);
141 ui->m_qComboBox_baudrate->addItem(QLatin1String(
"115200"), QSerialPort::Baud115200);
142 ui->m_qComboBox_baudrate->setCurrentIndex(3);
144 ui->m_qComboBox_databits->addItem(QLatin1String(
"7"),QSerialPort::Data7);
145 ui->m_qComboBox_databits->addItem(QLatin1String(
"8"),QSerialPort::Data8);
146 ui->m_qComboBox_databits->setCurrentIndex(1);
148 ui->m_qComboBox_parity->addItem(QLatin1String(
"None"), QSerialPort::NoParity);
149 ui->m_qComboBox_parity->addItem(QLatin1String(
"Even"), QSerialPort::EvenParity);
150 ui->m_qComboBox_parity->addItem(QLatin1String(
"Odd"), QSerialPort::OddParity);
151 ui->m_qComboBox_parity->addItem(QLatin1String(
"Mark"), QSerialPort::MarkParity);
152 ui->m_qComboBox_parity->addItem(QLatin1String(
"Space"), QSerialPort::SpaceParity);
154 ui->m_qComboBox_stopbits->addItem(QLatin1String(
"1"), QSerialPort::OneStop);
155 ui->m_qComboBox_stopbits->addItem(QLatin1String(
"2"), QSerialPort::TwoStop);
156 ui->m_qComboBox_stopbits->setCurrentIndex(1);
158 ui->m_qComboBox_flowcontrol->addItem(QLatin1String(
"None"), QSerialPort::NoFlowControl);
159 ui->m_qComboBox_flowcontrol->addItem(QLatin1String(
"RTS/CTS"), QSerialPort::HardwareControl);
160 ui->m_qComboBox_flowcontrol->addItem(QLatin1String(
"XON/XOFF"), QSerialPort::SoftwareControl);
165 void SettingsWidget::showPortInfo(
int idx)
168 QStringList list = ui->m_qComboBox_port->itemData(idx).toStringList();
169 ui->m_qLabel_description->setText(tr(
"Description: %1").arg(list.at(1)));
170 ui->m_qLabel_producer->setText(tr(
"Manufacturer: %1").arg(list.at(2)));
171 ui->m_qLabel_place->setText(tr(
"Location: %1").arg(list.at(3)));
179 void SettingsWidget::updateSettings()
183 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().name = ui->m_qComboBox_port->currentText();
187 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().baudRate =
static_cast<QSerialPort::BaudRate
>(
188 ui->m_qComboBox_baudrate->itemData(ui->m_qComboBox_baudrate->currentIndex()).toInt());
189 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stringBaudRate = QString::number(tcsWidget->m_pTriggerControl->m_pSerialPort->settings().baudRate);
192 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().dataBits =
static_cast<QSerialPort::DataBits
>(
193 ui->m_qComboBox_databits->itemData(ui->m_qComboBox_databits->currentIndex()).toInt());
194 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stringDataBits = ui->m_qComboBox_databits->currentText();
197 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().parity =
static_cast<QSerialPort::Parity
>(
198 ui->m_qComboBox_parity->itemData(ui->m_qComboBox_parity->currentIndex()).toInt());
199 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stringParity = ui->m_qComboBox_parity->currentText();
202 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stopBits =
static_cast<QSerialPort::StopBits
>(
203 ui->m_qComboBox_stopbits->itemData(ui->m_qComboBox_stopbits->currentIndex()).toInt());
204 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stringStopBits = ui->m_qComboBox_stopbits->currentText();
207 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().flowControl =
static_cast<QSerialPort::FlowControl
>(
208 ui->m_qComboBox_flowcontrol->itemData(ui->m_qComboBox_flowcontrol->currentIndex()).toInt());
209 tcsWidget->m_pTriggerControl->m_pSerialPort->settings().stringFlowControl = ui->m_qComboBox_flowcontrol->currentText();
Contains the declaration of the SerialPort class.