/** * Settings for SerialToTcpConverter * $Id$ * $HeadURL$ * $Author$ */ #include "settings.h" #include #include #include 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::configs() { QSettings *settings = s()->settings(); QVector 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