refs #198 , added utility methods for read/write settings

This commit is contained in:
Klaus Basan
2014-04-01 12:12:48 +02:00
parent 0d53d44157
commit 2a0514fff9
2 changed files with 64 additions and 0 deletions

View File

@@ -1,4 +1,6 @@
#include "settingutilities.h"
#include <QStandardPaths>
#include <QDir>
namespace BlackMisc
{
@@ -29,6 +31,24 @@ namespace BlackMisc
return rps;
}
/*
* Value not changed
*/
CStatusMessage CSettingUtilities::valueNotChangedMessage(const QString &valueName)
{
return CStatusMessage(CStatusMessage::TypeSettings, CStatusMessage::SeverityWarning,
QString("Value %1 not changed").arg(valueName));
}
/*
* Value changed
*/
CStatusMessage CSettingUtilities::valueChangedMessage(const QString &valueName)
{
return CStatusMessage(CStatusMessage::TypeSettings, CStatusMessage::SeverityInfo,
QString("Value %1 changed").arg(valueName));
}
/*
* leading path
*/
@@ -52,5 +72,34 @@ namespace BlackMisc
p.append('/').append(part3);
return p;
}
/*
* Init settings dir, if required create it
*/
bool CSettingUtilities::initSettingsDirectory()
{
QDir dir(CSettingUtilities::getSettingsDirectory());
if (dir.exists()) return true;
return dir.mkpath(".");
}
/*
* Directory
*/
const QString &CSettingUtilities::getSettingsDirectory()
{
static QString dir = QStandardPaths::writableLocation(QStandardPaths::DataLocation).append("/BlackBox");
return dir;
}
/*
* File
*/
const QString &CSettingUtilities::getSettingsFile()
{
static QString file(QString(CSettingUtilities::getSettingsDirectory()).append("/settings.json"));
return file;
}
}
}

View File

@@ -49,12 +49,27 @@ namespace BlackMisc
//! \brief Wrong path messages
static BlackMisc::CStatusMessageList wrongPathMessages(const QString &path = "");
//! \brief Value not changed message
static BlackMisc::CStatusMessage valueNotChangedMessage(const QString &valueName);
//! \brief Value changed message
static BlackMisc::CStatusMessage valueChangedMessage(const QString &valueName);
//! \brief Remove leading path
static QString removeLeadingPath(const QString &path);
//! \brief Append setting paths
static QString appendPaths(const QString &part1, const QString &part2, const QString &part3 = "");
//! \brief prepare the settings directory, if required create it
static bool initSettingsDirectory();
//! \brief get the settings directory
static const QString &getSettingsDirectory();
//! \brief get the settings directory
static const QString &getSettingsFile();
};
} // namespace
} // namespace