You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.7 KiB
116 lines
2.7 KiB
#include <QSettings>
|
|
#include <QCoreApplication>
|
|
#include <QFileInfo>
|
|
|
|
#include "config.h"
|
|
|
|
#define GROUP_COMMON "common"
|
|
|
|
#define COMMON_TITLE_KEY "WindowTitle"
|
|
#define COMMON_TITLE_DEF QCoreApplication::applicationName()
|
|
|
|
#define COMMON_RECORD_KEY "RecordPath"
|
|
#define COMMON_RECORD_DEF ""
|
|
|
|
#define COMMON_SERVER_VERSION_KEY "ServerVersion"
|
|
#define COMMON_SERVER_VERSION_DEF "1.12.1"
|
|
|
|
#define COMMON_MAX_FPS_KEY "MaxFps"
|
|
#define COMMON_MAX_FPS_DEF 60
|
|
|
|
#define COMMON_DESKTOP_OPENGL_KEY "UseDesktopOpenGL"
|
|
#define COMMON_DESKTOP_OPENGL_DEF -1
|
|
|
|
#define COMMON_SKIN_KEY "UseSkin"
|
|
#define COMMON_SKIN_DEF 1
|
|
|
|
QString Config::s_configPath = "";
|
|
|
|
Config::Config(QObject *parent) : QObject(parent)
|
|
{
|
|
m_settings = new QSettings(getConfigPath(), QSettings::IniFormat);
|
|
m_settings->setIniCodec("UTF-8");
|
|
}
|
|
|
|
Config &Config::getInstance()
|
|
{
|
|
static Config config;
|
|
return config;
|
|
}
|
|
|
|
const QString& Config::getConfigPath()
|
|
{
|
|
if (s_configPath.isEmpty()) {
|
|
s_configPath = QString::fromLocal8Bit(qgetenv("QTSCRCPY_CONFIG_PATH"));
|
|
QFileInfo fileInfo(s_configPath);
|
|
if (s_configPath.isEmpty() || !fileInfo.isFile()) {
|
|
s_configPath = QCoreApplication::applicationDirPath() + "/config/config.ini";
|
|
}
|
|
}
|
|
return s_configPath;
|
|
}
|
|
|
|
QString Config::getRecordPath()
|
|
{
|
|
QString record;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
record = m_settings->value(COMMON_RECORD_KEY, COMMON_RECORD_DEF).toString();
|
|
m_settings->endGroup();
|
|
return record;
|
|
}
|
|
|
|
void Config::setRecordPath(const QString &path)
|
|
{
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
m_settings->setValue(COMMON_RECORD_KEY, path);
|
|
m_settings->endGroup();
|
|
}
|
|
|
|
QString Config::getServerVersion()
|
|
{
|
|
QString server;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
server = m_settings->value(COMMON_SERVER_VERSION_KEY, COMMON_SERVER_VERSION_DEF).toString();
|
|
m_settings->endGroup();
|
|
return server;
|
|
}
|
|
|
|
int Config::getMaxFps()
|
|
{
|
|
int fps = 60;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
fps = m_settings->value(COMMON_MAX_FPS_KEY, COMMON_MAX_FPS_DEF).toInt();
|
|
m_settings->endGroup();
|
|
return fps;
|
|
}
|
|
|
|
int Config::getDesktopOpenGL()
|
|
{
|
|
int opengl = 0;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
opengl = m_settings->value(COMMON_DESKTOP_OPENGL_KEY, COMMON_DESKTOP_OPENGL_DEF).toInt();
|
|
m_settings->endGroup();
|
|
return opengl;
|
|
}
|
|
|
|
int Config::getSkin()
|
|
{
|
|
int skin = 1;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
skin = m_settings->value(COMMON_SKIN_KEY, COMMON_SKIN_DEF).toInt();
|
|
m_settings->endGroup();
|
|
return skin;
|
|
}
|
|
|
|
QString Config::getTitle()
|
|
{
|
|
QString title;
|
|
m_settings->beginGroup(GROUP_COMMON);
|
|
title = m_settings->value(COMMON_TITLE_KEY, COMMON_TITLE_DEF).toString();
|
|
m_settings->endGroup();
|
|
return title;
|
|
}
|
|
|
|
|
|
|