Sun, 27 Mar 2022 20:38:25 +0200
Added MQTT settings.
/** * bmsapp.cpp is part of bmsapp. * * bmsapp is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * bmsapp is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "bmsapp.h" #include "database/database.h" #include "config.h" #include "MainWindow.h" bool Bmsapp::initialize(bool useDevelop) { readsettings(); // QLocale german(QLocale::German,QLocale::Germany); // QLocale::setDefault(german); qDebug() << "Loading Database..."; db = new DataBase(); return db->openDataBase(useDevelop); } void Bmsapp::cleanup() { qDebug() << "BMSapp is cleaning up."; writesettings(); db->closeDataBase(); } void Bmsapp::readsettings() { QSettings settings(QSettings::IniFormat, QSettings::UserScope, "mbse", "bmsapp"); settings.beginGroup("dbprod"); dbProd.host = settings.value("host").toString(); if (dbProd.host.isEmpty()) { dbProd.host = "localhost"; dbProd.port = "3306"; dbProd.name = "bms_prod"; dbProd.user = "nobody"; dbProd.pass = "secret"; dbProd.charset = "utf8"; settings.setValue("host", dbProd.host); settings.setValue("port", dbProd.port); settings.setValue("name", dbProd.name); settings.setValue("user", dbProd.user); settings.setValue("pass", dbProd.pass); settings.setValue("charset", dbProd.charset); } else { dbProd.port = settings.value("port").toString(); dbProd.name = settings.value("name").toString(); dbProd.user = settings.value("user").toString(); dbProd.pass = settings.value("pass").toString(); dbProd.charset = settings.value("charset").toString(); } settings.endGroup(); qDebug() << "MySQL prod" << dbProd.host << dbProd.port << dbProd.name << dbProd.pass; settings.beginGroup("dbdev"); dbDev.host = settings.value("host").toString(); if (dbDev.host.isEmpty()) { dbDev.host = "localhost"; dbDev.port = "3306"; dbDev.name = "bms_dev"; dbDev.user = "nobody"; dbDev.pass = "secret"; dbDev.charset = "utf8"; settings.setValue("host", dbDev.host); settings.setValue("port", dbDev.port); settings.setValue("name", dbDev.name); settings.setValue("user", dbDev.user); settings.setValue("pass", dbDev.pass); settings.setValue("charset", dbDev.charset); } else { dbDev.port = settings.value("port").toString(); dbDev.name = settings.value("name").toString(); dbDev.user = settings.value("user").toString(); dbDev.pass = settings.value("pass").toString(); dbDev.charset = settings.value("charset").toString(); } settings.endGroup(); qDebug() << "MySQL dev" << dbDev.host << dbDev.port << dbDev.name << dbDev.pass; settings.beginGroup("mqttprod"); mqttProd.host = settings.value("host").toString(); if (mqttProd.host.isEmpty()) { mqttProd.host = "localhost"; mqttProd.port = "1883"; mqttProd.user = "nobody"; mqttProd.pass = "secret"; settings.setValue("host", mqttProd.host); settings.setValue("port", mqttProd.port); settings.setValue("user", mqttProd.user); settings.setValue("pass", mqttProd.pass); } else { mqttProd.port = settings.value("port").toString(); mqttProd.user = settings.value("user").toString(); mqttProd.pass = settings.value("pass").toString(); } settings.endGroup(); qDebug() << "MQTT prod" << mqttProd.host << mqttProd.port << mqttProd.user << mqttProd.pass; settings.beginGroup("mqttdev"); mqttDev.host = settings.value("host").toString(); if (mqttDev.host.isEmpty()) { mqttDev.host = "localhost"; mqttDev.port = "1883"; mqttDev.user = "nobody"; mqttDev.pass = "secret"; settings.setValue("host", mqttDev.host); settings.setValue("port", mqttDev.port); settings.setValue("user", mqttDev.user); settings.setValue("pass", mqttDev.pass); } else { mqttDev.port = settings.value("port").toString(); mqttDev.user = settings.value("user").toString(); mqttDev.pass = settings.value("pass").toString(); } settings.endGroup(); qDebug() << "MQTT dev" << mqttDev.host << mqttDev.port << mqttDev.user << mqttDev.pass; } void Bmsapp::writesettings() { QSettings settings(QSettings::IniFormat, QSettings::UserScope, "mbse", "bmsapp"); settings.beginGroup("dbprod"); settings.setValue("host", dbProd.host); settings.setValue("port", dbProd.port); settings.setValue("name", dbProd.name); settings.setValue("user", dbProd.user); settings.setValue("pass", dbProd.pass); settings.setValue("charset", dbProd.charset); settings.endGroup(); settings.beginGroup("dbdev"); settings.setValue("host", dbDev.host); settings.setValue("port", dbDev.port); settings.setValue("name", dbDev.name); settings.setValue("user", dbDev.user); settings.setValue("pass", dbDev.pass); settings.setValue("charset", dbDev.charset); settings.endGroup(); settings.beginGroup("mqttprod"); settings.setValue("host", mqttProd.host); settings.setValue("port", mqttProd.port); settings.setValue("user", mqttProd.user); settings.setValue("pass", mqttProd.pass); settings.endGroup(); settings.beginGroup("mqttdev"); settings.setValue("host", mqttDev.host); settings.setValue("port", mqttDev.port); settings.setValue("user", mqttDev.user); settings.setValue("pass", mqttDev.pass); settings.endGroup(); qDebug() << "writesettings() done."; } int Bmsapp::run(bool useDevelop, bool startConfig) { int rc = 0; qDebug() << Q_FUNC_INFO; if (! initialize(useDevelop)) { cleanup(); return 1; } MainWindow w; w.show(); rc = qApp->exec(); cleanup(); qDebug() << Q_FUNC_INFO << "Cleaned up. Returning " << rc; return rc; }