Files
qt5-legatus-legacy/Lts/Tools/SerialToTcpConverter/settings.cpp
T
2026-08-13 18:33:10 +02:00

68 lines
1.7 KiB
C++
Executable File

/**
* Settings for SerialToTcpConverter
* $Id$
* $HeadURL$
* $Author$
*/
#include "settings.h"
#include <QtCore/QSettings>
#include <nglsettings/nglsettings_settings.h>
#include <ngltools/ngltools_filesystem.h>
namespace SerialToTcpConverter
{
class NGLSettingsClass : public NGL::Settings
{
public:
NGLSettingsClass()
: NGL::Settings(s_iniFile.isEmpty() ? NGL::findProjectConfigFile() : s_iniFile)
{}
static void setIniFile(const QString &fn)
{
s_iniFile = fn;
}
static QString s_iniFile;
};
QString NGLSettingsClass::s_iniFile;
Q_GLOBAL_STATIC(NGLSettingsClass, s)
//-----------------------------------------------------------------------------
NGL::Settings *Settings::settings()
{
return s();
}
//-----------------------------------------------------------------------------
void Settings::setIniFile(const QString &ini)
{
NGLSettingsClass::setIniFile(ini);
}
//-----------------------------------------------------------------------------
QVector<Settings::Config> Settings::configs()
{
QSettings *settings = s()->settings();
QVector<Config> vec;
settings->beginGroup(QStringLiteral("Configs"));
{
int size_configs = settings->beginReadArray(QStringLiteral("Config"));
for (int i = 0; i < size_configs; ++i)
{
settings->setArrayIndex(i);
Config config;
config.serialPortName = settings->value(QStringLiteral("SerialPortName")).toString();
config.serialBaudrate = settings->value(QStringLiteral("SerialBaudrate"), 115200).toInt();
config.tcpPort = settings->value(QStringLiteral("TcpPort"), 0).toInt();
vec << config;
}
settings->endArray();
}
settings->endGroup();
return vec;
}
} // namespace SerialToTcpConverter