summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 8db9c623..661cf429 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1464,6 +1464,8 @@ QSet<QString> PluginSettings::readBlacklist() const
}
+const QString PathSettings::BaseDirVariable = "%BASE_DIR%";
+
PathSettings::PathSettings(QSettings& settings)
: m_Settings(settings)
{
@@ -1511,10 +1513,10 @@ QString PathSettings::getConfigurablePath(const QString &key,
bool resolve) const
{
QString result = QDir::fromNativeSeparators(
- get<QString>(m_Settings, "Settings", key, QString("%BASE_DIR%/") + def));
+ get<QString>(m_Settings, "Settings", key, makeDefaultPath(def)));
if (resolve) {
- result.replace("%BASE_DIR%", base());
+ result = PathSettings::resolve(result, base());
}
return result;
@@ -1529,6 +1531,18 @@ void PathSettings::setConfigurablePath(const QString &key, const QString& path)
}
}
+QString PathSettings::resolve(const QString& path, const QString& baseDir)
+{
+ QString s = path;
+ s.replace(BaseDirVariable, baseDir);
+ return s;
+}
+
+QString PathSettings::makeDefaultPath(const QString dirName)
+{
+ return BaseDirVariable + "/" + dirName;
+}
+
QString PathSettings::base() const
{
return QDir::fromNativeSeparators(get<QString>(m_Settings,