diff --git a/src/asciireadersettings.cpp b/src/asciireadersettings.cpp --- a/src/asciireadersettings.cpp +++ b/src/asciireadersettings.cpp @@ -113,6 +113,25 @@ void AsciiReaderSettings::saveSettings(Q if (numOfChannelsSetting == "0") numOfChannelsSetting = "auto"; settings->setValue(SG_ASCII_NumOfChannels, numOfChannelsSetting); + // save delimiter + QString delimiterS; + if (ui->rbOtherDelimiter->isChecked()) + { + delimiterS = "other"; + } + else if (ui->rbTab->isChecked()) + { + // Note: \t is not correctly loaded + delimiterS = "TAB"; + } + else + { + delimiterS = delimiter(); + } + + settings->setValue(SG_ASCII_Delimiter, delimiterS); + settings->setValue(SG_ASCII_CustomDelimiter, ui->leDelimiter->text()); + settings->endGroup(); } @@ -138,5 +157,26 @@ void AsciiReaderSettings::loadSettings(Q } } + // load delimiter + auto delimiterS = settings->value(SG_ASCII_Delimiter, delimiter()).toString(); + auto customDelimiter = settings->value(SG_ASCII_CustomDelimiter, delimiter()).toString(); + if (!customDelimiter.isEmpty()) ui->leDelimiter->setText(customDelimiter); + if (delimiterS == ",") + { + ui->rbComma->setChecked(true); + } + else if (delimiterS == " ") + { + ui->rbSpace->setChecked(true); + } + else if (delimiterS == "TAB") + { + ui->rbTab->setChecked(true); + } + else + { + ui->rbOtherDelimiter->setChecked(true); + } + settings->endGroup(); } diff --git a/src/setting_defines.h b/src/setting_defines.h --- a/src/setting_defines.h +++ b/src/setting_defines.h @@ -58,6 +58,8 @@ const char SG_Binary_Endianness[] = "end // ascii reader keys const char SG_ASCII_NumOfChannels[] = "numOfChannels"; +const char SG_ASCII_Delimiter[] = "delimiter"; +const char SG_ASCII_CustomDelimiter[] = "customDelimiter"; // framed reader keys const char SG_CustomFrame_NumOfChannels[] = "numOfChannels";