Revision control
++ // Copyright (C) 2017 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #include "settingsdialog.h"
++ #include "ui_settingsdialog.h"
++
++ SettingsDialog::SettingsDialog(QWidget *parent) :
++ QDialog(parent),
++ ui(new Ui::SettingsDialog)
++ {
++ ui->setupUi(this);
++
++ ui->parityCombo->setCurrentIndex(1);
++ #if QT_CONFIG(modbus_serialport)
++ ui->baudCombo->setCurrentText(QString::number(m_settings.baud));
++ ui->dataBitsCombo->setCurrentText(QString::number(m_settings.dataBits));
++ ui->stopBitsCombo->setCurrentText(QString::number(m_settings.stopBits));
++ #endif
++ ui->timeoutSpinner->setValue(m_settings.responseTime);
++ ui->retriesSpinner->setValue(m_settings.numberOfRetries);
++
++ connect(ui->applyButton, &QPushButton::clicked, this, [this]() {
++ #if QT_CONFIG(modbus_serialport)
++ m_settings.parity = ui->parityCombo->currentIndex();
++ if (m_settings.parity > 0)
++ m_settings.parity++;
++ m_settings.baud = ui->baudCombo->currentText().toInt();
++ m_settings.dataBits = ui->dataBitsCombo->currentText().toInt();
++ m_settings.stopBits = ui->stopBitsCombo->currentText().toInt();
++ #endif
++ m_settings.responseTime = ui->timeoutSpinner->value();
++ m_settings.numberOfRetries = ui->retriesSpinner->value();
++
++ hide();
++ });
++ }
++
++ SettingsDialog::~SettingsDialog()
++ {
++ delete ui;
++ }
++
++ SettingsDialog::Settings SettingsDialog::settings() const
++ {
++ return m_settings;
++ }