diff --git a/src/channelmanager.cpp b/src/channelmanager.cpp --- a/src/channelmanager.cpp +++ b/src/channelmanager.cpp @@ -17,11 +17,12 @@ along with serialplot. If not, see . */ -#include "channelmanager.h" - #include #include +#include "channelmanager.h" +#include "setting_defines.h" + ChannelManager::ChannelManager(unsigned numberOfChannels, unsigned numberOfSamples, QObject *parent) : QObject(parent) { @@ -143,3 +144,29 @@ void ChannelManager::addChannelData(unsi { channelBuffer(channel)->addSamples(data, size); } + +void ChannelManager::saveSettings(QSettings* settings) +{ + settings->beginGroup(SettingGroup_Channels); + settings->beginWriteArray(SG_Channels_Channel); + for (unsigned i = 0; i < numOfChannels(); i++) + { + settings->setArrayIndex(i); + settings->setValue(SG_Channels_Name, channelName(i)); + } + settings->endArray(); + settings->endGroup(); +} + +void ChannelManager::loadSettings(QSettings* settings) +{ + settings->beginGroup(SettingGroup_Channels); + settings->beginReadArray(SG_Channels_Channel); + for (unsigned i = 0; i < numOfChannels(); i++) + { + settings->setArrayIndex(i); + setChannelName(i, settings->value(SG_Channels_Name, channelName(i)).toString()); + } + settings->endArray(); + settings->endGroup(); +}