Changeset - 15d26ea7c1ff
[Not reviewed]
settings
0 1 0
Hasan Yavuz Ă–ZDERYA - 9 years ago 2016-09-02 15:11:25
hy@ozderya.net
save/load data bits setting
1 file changed with 11 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/portcontrol.cpp
Show inline comments
 
@@ -308,63 +308,74 @@ void PortControl::onTbPortListActivated(
 
{
 
    ui->cbPortList->setCurrentIndex(index);
 
}
 

	
 
void PortControl::saveSettings(QSettings* settings)
 
{
 
    settings->beginGroup("Port");
 
    settings->setValue("selectedPort", selectedPortName());
 
    settings->setValue("baudRate", ui->cbBaudRate->currentText());
 

	
 
    // save parity setting
 
    if (parityButtons.checkedId() == QSerialPort::OddParity)
 
    {
 
        settings->setValue("parity", "odd");
 
    }
 
    else if (parityButtons.checkedId() == QSerialPort::EvenParity)
 
    {
 
        settings->setValue("parity", "even");
 
    }
 
    else
 
    {
 
        settings->setValue("parity", "none");
 
    }
 

	
 
    // save number of bits
 
    settings->setValue("dataBits", dataBitsButtons.checkedId());
 

	
 
    settings->endGroup();
 
}
 

	
 
void PortControl::loadSettings(QSettings* settings)
 
{
 
    settings->beginGroup("Port");
 

	
 
    // set port name if it exists in the current list otherwise ignore
 
    QString portName = settings->value("selectedPort", QString()).toString();
 
    if (!portName.isEmpty())
 
    {
 
        int index = portList.indexOfName(portName);
 
        if (index > -1) ui->cbPortList->setCurrentIndex(index);
 
    }
 

	
 
    // load baud rate setting if it exists in baud rate list
 
    QString baudSetting = settings->value(
 
        "baudRate", ui->cbBaudRate->currentText()).toString();
 
    int baudIndex = ui->cbBaudRate->findText(baudSetting);
 
    if (baudIndex > -1) ui->cbBaudRate->setCurrentIndex(baudIndex);
 

	
 
    // load parity setting
 
    QString paritySetting = settings->value("parity", "none").toString();
 
    if (paritySetting == "odd")
 
    {
 
        ui->rbOddParity->setChecked(true);
 
    }
 
    else if (paritySetting == "even")
 
    {
 
        ui->rbEvenParity->setChecked(true);
 
    }
 
    else
 
    {
 
        ui->rbNoParity->setChecked(true);
 
    }
 
    selectParity((QSerialPort::Parity) parityButtons.checkedId());
 

	
 
    // load number of bits
 
    int dataBits = settings->value("dataBits", dataBitsButtons.checkedId()).toInt();
 
    if (dataBits >=5 && dataBits <= 8)
 
    {
 
        dataBitsButtons.button((QSerialPort::DataBits) dataBits)->setChecked(true);
 
        selectDataBits(dataBits);
 
    }
 

	
 
    settings->endGroup();
 
}
0 comments (0 inline, 0 general)