95 lines
2.4 KiB
C++
95 lines
2.4 KiB
C++
#include "app.h"
|
|
#include "quiwidget.h"
|
|
|
|
QString App::ConfigFile = "config.ini";
|
|
|
|
int App::ListenPort1 = 6907;
|
|
int App::CmdStart1 = 76;
|
|
int App::CmdLen1 = 12;
|
|
bool App::HexData1 = false;
|
|
int App::ListenPort2 = 6908;
|
|
int App::CmdStart2 = 76;
|
|
int App::CmdLen2 = 12;
|
|
bool App::HexData2 = false;
|
|
|
|
void App::readConfig()
|
|
{
|
|
if (!checkConfig()) {
|
|
return;
|
|
}
|
|
|
|
QSettings set(App::ConfigFile, QSettings::IniFormat);
|
|
|
|
set.beginGroup("AppConfig");
|
|
App::ListenPort1 = set.value("ListenPort1").toInt();
|
|
App::CmdStart1 = set.value("CmdStart1").toInt();
|
|
App::CmdLen1 = set.value("CmdLen1").toInt();
|
|
App::HexData1 = set.value("HexData1").toBool();
|
|
App::ListenPort2 = set.value("ListenPort2").toInt();
|
|
App::CmdStart2 = set.value("CmdStart2").toInt();
|
|
App::CmdLen2 = set.value("CmdLen2").toInt();
|
|
App::HexData2 = set.value("HexData2").toBool();
|
|
set.endGroup();
|
|
}
|
|
|
|
void App::writeConfig()
|
|
{
|
|
QSettings set(App::ConfigFile, QSettings::IniFormat);
|
|
|
|
set.beginGroup("AppConfig");
|
|
set.setValue("ListenPort1", App::ListenPort1);
|
|
set.setValue("CmdStart1", App::CmdStart1);
|
|
set.setValue("CmdLen1", App::CmdLen1);
|
|
set.setValue("HexData1", App::HexData1);
|
|
set.setValue("ListenPort2", App::ListenPort2);
|
|
set.setValue("CmdStart2", App::CmdStart2);
|
|
set.setValue("CmdLen2", App::CmdLen2);
|
|
set.setValue("HexData2", App::HexData2);
|
|
set.endGroup();
|
|
}
|
|
|
|
void App::newConfig()
|
|
{
|
|
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
|
|
#endif
|
|
writeConfig();
|
|
}
|
|
|
|
bool App::checkConfig()
|
|
{
|
|
//如果配置文件大小为0,则以初始值继续运行,并生成配置文件
|
|
QFile file(App::ConfigFile);
|
|
if (file.size() == 0) {
|
|
newConfig();
|
|
return false;
|
|
}
|
|
|
|
//如果配置文件不完整,则以初始值继续运行,并生成配置文件
|
|
if (file.open(QFile::ReadOnly)) {
|
|
bool ok = true;
|
|
while (!file.atEnd()) {
|
|
QString line = file.readLine();
|
|
line = line.replace("\r", "");
|
|
line = line.replace("\n", "");
|
|
QStringList list = line.split("=");
|
|
|
|
if (list.count() == 2) {
|
|
if (list.at(1) == "") {
|
|
ok = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!ok) {
|
|
newConfig();
|
|
return false;
|
|
}
|
|
} else {
|
|
newConfig();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|