diff --git a/src/portcontrol.cpp b/src/portcontrol.cpp --- a/src/portcontrol.cpp +++ b/src/portcontrol.cpp @@ -325,6 +325,22 @@ QString PortControl::currentParityText() } } +QString PortControl::currentFlowControlText() +{ + if (flowControlButtons.checkedId() == QSerialPort::HardwareControl) + { + return "hardware"; + } + else if (flowControlButtons.checkedId() == QSerialPort::SoftwareControl) + { + return "software"; + } + else // no parity + { + return "none"; + } +} + void PortControl::saveSettings(QSettings* settings) { settings->beginGroup("Port"); @@ -333,6 +349,7 @@ void PortControl::saveSettings(QSettings settings->setValue("parity", currentParityText()); settings->setValue("dataBits", dataBitsButtons.checkedId()); settings->setValue("stopBits", stopBitsButtons.checkedId()); + settings->setValue("flowControl", currentFlowControlText()); settings->endGroup(); } @@ -394,5 +411,22 @@ void PortControl::loadSettings(QSettings selectStopBits(QSerialPort::TwoStop); } + // load flow control + QString flowControlSetting = + settings->value("flowControl", currentFlowControlText()).toString(); + if (flowControlSetting == "hardware") + { + ui->rbHardwareControl->setChecked(true); + } + else if (flowControlSetting == "software") + { + ui->rbSoftwareControl->setChecked(true); + } + else + { + ui->rbNoFlowControl->setChecked(true); + } + selectFlowControl(flowControlButtons.checkedId()); + settings->endGroup(); }