68 lines
1.7 KiB
C++
Executable File
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
|