1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 13:47:01 -04:00

FileInput: Make settings assignments atomic. Part of #1329

This commit is contained in:
f4exb
2022-10-23 20:33:51 +02:00
parent 8dfda5e534
commit 90cab1dfda
6 changed files with 94 additions and 39 deletions
@@ -156,7 +156,13 @@ bool FileInputGUI::handleMessage(const Message& message)
if (FileInput::MsgConfigureFileInput::match(message))
{
const FileInput::MsgConfigureFileInput& cfg = (FileInput::MsgConfigureFileInput&) message;
m_settings = cfg.getSettings();
if (cfg.getForce()) {
m_settings = cfg.getSettings();
} else {
m_settings.applySettings(cfg.getSettingsKeys(), cfg.getSettings());
}
displaySettings();
return true;
}
@@ -249,7 +255,7 @@ void FileInputGUI::on_playLoop_toggled(bool checked)
if (m_doApplySettings)
{
m_settings.m_loop = checked;
FileInput::MsgConfigureFileInput *message = FileInput::MsgConfigureFileInput::create(m_settings, false);
FileInput::MsgConfigureFileInput *message = FileInput::MsgConfigureFileInput::create(m_settings, QList<QString>{"loop"}, false);
m_sampleSource->getInputMessageQueue()->push(message);
}
}
@@ -330,7 +336,7 @@ void FileInputGUI::on_acceleration_currentIndexChanged(int index)
if (m_doApplySettings)
{
m_settings.m_accelerationFactor = FileInputSettings::getAccelerationValue(index);
FileInput::MsgConfigureFileInput *message = FileInput::MsgConfigureFileInput::create(m_settings, false);
FileInput::MsgConfigureFileInput *message = FileInput::MsgConfigureFileInput::create(m_settings, QList<QString>{"accelerationFactor"}, false);
m_sampleSource->getInputMessageQueue()->push(message);
}
}