first commit
This commit is contained in:
209
project/fm_viewer/rm_settings.cpp
Normal file
209
project/fm_viewer/rm_settings.cpp
Normal file
@@ -0,0 +1,209 @@
|
||||
#include "rm_settings.h"
|
||||
#include "rm_include.h"
|
||||
#include <QStandardPaths>
|
||||
#include <QSettings>
|
||||
#include "rm_app.h"
|
||||
|
||||
/*
|
||||
[SDDRIVE]
|
||||
DEFAULT=E:\
|
||||
DRIVETEXT=
|
||||
[USER]
|
||||
VOLUME=0
|
||||
[SAVE]
|
||||
DIR=
|
||||
[LANG]
|
||||
DEFAULT=JAP
|
||||
[IMGSAVE]
|
||||
DIR=
|
||||
[DEF_LATLON]
|
||||
LAT=35.681382
|
||||
LON=139.766084
|
||||
[PATH]
|
||||
FOLDER=
|
||||
RECENT=C:\temp\CS-91FH 실차영상
|
||||
[CAPTURE]
|
||||
PATH=C:\Users\jeong\Documents\BBViewerDoc\backup
|
||||
*/
|
||||
|
||||
#if (PLAYER_ONLY_LIBRARY_MODE)
|
||||
RMSettings* RMSettings::_instance = NULL;
|
||||
#endif
|
||||
|
||||
RMSettings::RMSettings(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
settings = NULL;
|
||||
}
|
||||
QString RMSettings::_loadString(const char* group,const char* item)
|
||||
{
|
||||
if(settings == NULL) {
|
||||
load();
|
||||
}
|
||||
|
||||
settings->beginGroup(group);
|
||||
QString res = settings->value(item).toString();
|
||||
settings->endGroup();
|
||||
return res;
|
||||
}
|
||||
void RMSettings::_setString(const char* group,const char* item,QString value)
|
||||
{
|
||||
if(settings == NULL) {
|
||||
load();
|
||||
}
|
||||
settings->beginGroup(group);
|
||||
settings->setValue(item, value);
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
}
|
||||
QString RMSettings::lastBackupPath()
|
||||
{
|
||||
QString recent = _loadString("/PATH","/BACKUP");
|
||||
if(recent.isEmpty())
|
||||
{
|
||||
return RMApp::appPath(RMApp::CAPTURE);
|
||||
}
|
||||
return recent;
|
||||
}
|
||||
void RMSettings::setLastBackupPath(QString& path)
|
||||
{
|
||||
if(path != lastMoviePath()) {
|
||||
_setString("/PATH","/BACKUP",path);
|
||||
}
|
||||
}
|
||||
int RMSettings::nullBitrate()
|
||||
{
|
||||
settings->beginGroup("/APP");
|
||||
bool ok = false;
|
||||
int res = settings->value("/NULLBITRATE").toInt(&ok);
|
||||
settings->endGroup();
|
||||
return ok ? res : 180;
|
||||
}
|
||||
|
||||
QString RMSettings::lastMoviePath()
|
||||
{
|
||||
QString recent = _loadString("/PATH","/RECENT");
|
||||
if(recent.isEmpty())
|
||||
{
|
||||
return QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
|
||||
}
|
||||
return recent;
|
||||
}
|
||||
|
||||
void RMSettings::setLastMoviePath(QString& path)
|
||||
{
|
||||
if(path != lastMoviePath()) {
|
||||
_setString("/PATH","/RECENT",path);
|
||||
}
|
||||
}
|
||||
#if (RM_TESTING)
|
||||
QString RMSettings::lastScript()
|
||||
{
|
||||
QString recent = _loadString("/PATH","/SCRIPT");
|
||||
return recent;
|
||||
}
|
||||
void RMSettings::setLastScript(QString& path)
|
||||
{
|
||||
if(path != lastMoviePath()) {
|
||||
_setString("/PATH","/SCRIPT",path);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if (SELECT_AUDIO_BACKEND)
|
||||
QString RMSettings::AudioDevice()
|
||||
{
|
||||
return _loadString("/AUDIO","/DEVICE");
|
||||
}
|
||||
void RMSettings::setAudioDevice(QString device)
|
||||
{
|
||||
_setString("/AUDIO","/DEVICE",device);
|
||||
}
|
||||
//bool RMSettings::XAudioOff()
|
||||
//{
|
||||
// QString str = _loadString("/AUDIO","/XAUDIO");
|
||||
// return (str.length() > 0 && str.toUpper() == "OFF");
|
||||
//}
|
||||
|
||||
//void RMSettings::setXAudioOff(bool off)
|
||||
//{
|
||||
// _setString("/AUDIO","/XAUDIO",(off ? QString("OFF") : QString("ON")));
|
||||
//}
|
||||
#endif // SELECT_AUDIO_BACKEND
|
||||
|
||||
bool RMSettings::HWAccelOff()
|
||||
{
|
||||
#if !(HWACCEL_SETTING)
|
||||
return false;
|
||||
#else
|
||||
QString str = _loadString("/VIDEO","/HWACCEL");
|
||||
return (str.length() > 0 && str.toUpper() == "OFF");
|
||||
#endif
|
||||
}
|
||||
void RMSettings::setHWAccelOff(bool off)
|
||||
{
|
||||
#if (HWACCEL_SETTING)
|
||||
//qInfo() << (off ? QString("OFF") : QString("ON"));
|
||||
_setString("/VIDEO","/HWACCEL",(off ? QString("OFF") : QString("ON")));
|
||||
#else
|
||||
Q_UNUSED(off);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if (LIVE_LANGUAGE_CHANGE)
|
||||
int RMSettings::language()
|
||||
{
|
||||
settings->beginGroup("APP");
|
||||
#if (INITIAL_LANGUAGE_AUTO)
|
||||
int res = settings->value("LANGUAGE",RMLanguage::systemLanguage()).toInt();
|
||||
#else
|
||||
int res = settings->value("LANGUAGE",RMLanguage::LANGUAGE_JP).toInt();
|
||||
#endif
|
||||
settings->endGroup();
|
||||
return res;
|
||||
}
|
||||
void RMSettings::setLanguage(int language)
|
||||
{
|
||||
settings->beginGroup("APP");
|
||||
settings->setValue("LANGUAGE", language);
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
}
|
||||
bool RMSettings::autoLanguage()
|
||||
{
|
||||
settings->beginGroup("APP");
|
||||
#if (INITIAL_LANGUAGE_AUTO)
|
||||
bool res = settings->value("LANGUAGE_AUTO",true).toBool();
|
||||
#else
|
||||
bool res = settings->value("LANGUAGE_AUTO",false).toBool();
|
||||
#endif
|
||||
settings->endGroup();
|
||||
return res;
|
||||
}
|
||||
void RMSettings::setAutoLanguage(bool bAuto)
|
||||
{
|
||||
settings->beginGroup("APP");
|
||||
settings->setValue("LANGUAGE_AUTO", bAuto);
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
}
|
||||
|
||||
#endif
|
||||
void RMSettings::load()
|
||||
{
|
||||
if(settings != NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
QString path = RMApp::appPath(RMApp::INI);
|
||||
//qInfo() << "INI PATH:" << path;
|
||||
settings = new QSettings(path, QSettings::IniFormat,this);
|
||||
|
||||
const QStringList childKeys = settings->childKeys();
|
||||
QStringList values;
|
||||
foreach (const QString &childKey, childKeys)
|
||||
{
|
||||
values << settings->value(childKey).toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user