//헤더랑 include는 코딩맨이 처리했으니 안심하라구? (C++11 부터사용가능 auto 키워드사용)


struct CSettingIo::privateStruct
{
    QScopedPointer<QSettings> mSettings;
    QString mPath;
    QString mFileName;
};

CSettingIo::CSettingIo(QString fileName,QObject *parent) :
    QObject(parent),
    d(new privateStruct)
{

    //InI포맷으로 저장 + 로컬 설정 적용
    QString dirPath("Config");
    QDir dir;
    dir.mkpath(dirPath);

#ifdef __WIN32
    QString path = dirPath +"/"+ fileName + ".ini";
    d->mSettings.reset(new QSettings(path,QSettings::IniFormat, this));
    d->mPath = path;
    d->mFileName = fileName;
#endif
}

CSettingIo::~CSettingIo()
{
}

void CSettingIo::setConfigureData(QString mainCategory, QString key, QVariant value)
{
    QString category = QString("%1/%2").arg(mainCategory).arg(key);
    d->mSettings->setValue(category, value);
}

QVariant CSettingIo::getConfigureData(QString mainCategory, QString key)
{
    QString keyString = QString("%1/%2").arg(mainCategory).arg(key);
    auto ret = d->mSettings->value(keyString);

    return ret;
}

QString CSettingIo::getPath()
{
    return d->mPath;
}

QString CSettingIo::getFileName()
{
    return d->mFileName;
}



+ Recent posts