AppUtils.h
#ifndef APPUTILS_H
#define APPUTILS_H
#include <QObject>
class AppUtils : public QObject
{
Q_OBJECT
public:
static void setConfigFile(const QString &value);
static void readConfig();
static void writeConfig();
static void newConfig();
static bool checkConfig();
private:
static QString configFile;
static QString username;
static QString password;
};
#endif
AppUtils.cpp
#include "apputils.h"
#include <QSettings>
#include <QFile>
static const QString INI_SQL_CONFIG = "SqlConfig";
static const QString INI_SQL_CONFIG_USERNAME = "username";
static const QString INI_SQL_CONFIG_PASSWORD = "password";
QString AppUtils::configFile = "config.ini";
QString AppUtils::username = "administrator";
QString AppUtils::password = "123123";
void AppUtils::setConfigFile(const QString &value)
{
configFile = value;
}
void AppUtils::readConfig()
{
if (!checkConfig()) {
return;
}
QSettings settings(AppUtils::configFile, QSettings::IniFormat);
settings.beginGroup(INI_SQL_CONFIG);
AppUtils::username = settings.value(INI_SQL_CONFIG_USERNAME).toString();
AppUtils::password = settings.value(INI_SQL_CONFIG_PASSWORD).toString();
settings.endGroup();
}
void AppUtils::writeConfig()
{
QSettings settings(AppUtils::configFile, QSettings::IniFormat);
settings.beginGroup(INI_SQL_CONFIG);
settings.setValue(INI_SQL_CONFIG_USERNAME, AppUtils::username);
settings.setValue(INI_SQL_CONFIG_PASSWORD, AppUtils::password);
settings.endGroup();
}
void AppUtils::newConfig()
{
writeConfig();
}
bool AppUtils::checkConfig()
{
QFile file(AppUtils::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.isEmpty() || list.count() != 2 || list.at(1) == "") {
ok = false;
break;
}
}
if (ok) {
return true;
}
}
newConfig();
return false;
}