2 #include "ui_controllerwindow.h" 19 _serialSettings(serialSettings)
23 _validator =
new QIntValidator(0, 4000000,
this);
51 const QStringList list =
_ui->portBox->itemData(index).toStringList();
52 _ui->descriptionLabel->setText(tr(
"Opis: %1").arg(list.count() > 1 ? list.at(1) : tr(
" ")));
53 _ui->locationLabel->setText(tr(
"Lokalizacja: %1").arg(list.count() > 2 ? list.at(2) : tr(
" ")));
63 bool isCustom = !
_ui->baudRateBox->itemData(index).isValid();
64 _ui->baudRateBox->setEditable(isCustom);
66 _ui->baudRateBox->clearEditText();
67 QLineEdit *edit =
_ui->baudRateBox->lineEdit();
78 _ui->baudRateBox->clear();
79 _ui->baudRateBox->addItem(QStringLiteral(
"9600"), QSerialPort::Baud9600);
80 _ui->baudRateBox->addItem(QStringLiteral(
"19200"), QSerialPort::Baud19200);
81 _ui->baudRateBox->addItem(QStringLiteral(
"38400"), QSerialPort::Baud38400);
82 _ui->baudRateBox->addItem(QStringLiteral(
"115200"), QSerialPort::Baud115200);
84 _ui->baudRateBox->setCurrentIndex(
_serialSettings->value(
"serial/indexBaudRate",3).toInt());
86 _ui->dataBitsBox->clear();
87 _ui->dataBitsBox->addItem(QStringLiteral(
"5"), QSerialPort::Data5);
88 _ui->dataBitsBox->addItem(QStringLiteral(
"6"), QSerialPort::Data6);
89 _ui->dataBitsBox->addItem(QStringLiteral(
"7"), QSerialPort::Data7);
90 _ui->dataBitsBox->addItem(QStringLiteral(
"8"), QSerialPort::Data8);
91 _ui->dataBitsBox->setCurrentIndex(
_serialSettings->value(
"serial/indexDataBits",3).toInt());
93 _ui->parityBox->clear();
94 _ui->parityBox->addItem(tr(
"None"), QSerialPort::NoParity);
95 _ui->parityBox->addItem(tr(
"Even"), QSerialPort::EvenParity);
96 _ui->parityBox->addItem(tr(
"Odd"), QSerialPort::OddParity);
97 _ui->parityBox->addItem(tr(
"Mark"), QSerialPort::MarkParity);
98 _ui->parityBox->addItem(tr(
"Space"), QSerialPort::SpaceParity);
99 _ui->parityBox->setCurrentIndex(
_serialSettings->value(
"serial/indexParity",0).toInt());
101 _ui->stopBitsBox->clear();
102 _ui->stopBitsBox->addItem(QStringLiteral(
"1"), QSerialPort::OneStop);
103 _ui->stopBitsBox->addItem(QStringLiteral(
"2"), QSerialPort::TwoStop);
104 _ui->stopBitsBox->setCurrentIndex(
_serialSettings->value(
"serial/indexStopBits",0).toInt());
112 _ui->portBox->clear();
113 _ui->descriptionLabel->setText(tr(
"Opis: "));
114 _ui->locationLabel->setText(tr(
"Lokalizacja: "));
116 auto infos = QSerialPortInfo::availablePorts();
117 for (
const QSerialPortInfo &info : infos) {
119 description = info.description();
120 list << info.portName()
121 << (!description.isEmpty() ? description : tr(
" "))
122 << info.systemLocation();
124 _ui->portBox->addItem(list.first(), list);
127 if (infos.size() > 1) {
139 _serialSettings->setValue(
"serial/baudRate",static_cast<QSerialPort::BaudRate>(
140 _ui->baudRateBox->itemData(
_ui->baudRateBox->currentIndex()).toInt()));
143 _serialSettings->setValue(
"serial/dataBits",static_cast<QSerialPort::DataBits>(
144 _ui->dataBitsBox->itemData(
_ui->dataBitsBox->currentIndex()).toInt()));
146 _serialSettings->setValue(
"serial/parity",static_cast<QSerialPort::Parity>(
147 _ui->parityBox->itemData(
_ui->parityBox->currentIndex()).toInt()));
149 _serialSettings->setValue(
"serial/stopBits",static_cast<QSerialPort::StopBits>(
150 _ui->stopBitsBox->itemData(
_ui->stopBitsBox->currentIndex()).toInt()));
152 _serialSettings->setValue(
"serial/flowControl",QSerialPort::NoFlowControl);
void on_connectButton_clicked()
Obsługuje naciśnięcie przycisku "Połącz".
QSettings * _serialSettings
Ustawienia portu szeregowego.
Definicja przestrzeni nazw interfejsu użytkownika.
void updateSettings()
Aktualizuje ustawienia portu szeregowego.
void connectToSerial()
Sygnał połączenia do portu.
ControllerWindow(QSettings *serialSettings, QWidget *parent=nullptr)
Konstruktor ControllerWindow.
void fillPortsParameters()
Wypełnia pola parametrów portu szeregowego.
void on_portBox_currentIndexChanged(int index)
Obsługuje zmianę parametru w obiekcie portBox.
void disconnectFromSerial()
Sygnał rozłączenia od portu.
~ControllerWindow()
Destruktor klasy ControllerWindow.
Definicja klasy ControllerWindow.
void update()
Aktualizuje stan okna ControllerWindow.
void on_saveButton_clicked()
Obsługuje naciśnięcie przycisku "Zapisz".
void checkCustomBaudRate(int index)
(nieużywana) Sprawdza, czy zaznaczono własą prędkość.
void on_baudRateBox_currentIndexChanged(int index)
Obsługuje zmianę parametru w obiekcie baudRateBox.
void fillPortsInfo()
Wypełnia dostępne pory i informacje o nich.
void on_disconnectButton_clicked()
Obsługuje naciśnięcie przycisku "Rozłącz".
Ui::ControllerWindow * _ui
Interfejs okna.
QIntValidator * _validator
Walidator wprowadzonych intów (używany przy baudrate)
void showPortInfo(int index)
Wyświetla informację o aktualnie wybranym porcie.