diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-07-24 15:29:28 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-11-03 11:39:05 -0500 |
| commit | 4ac8ab98563e223075c1c93852d4112ab6e4579c (patch) | |
| tree | 586bfd3541c7831fc4923397e6eea52667dfdd31 /src/settings.cpp | |
| parent | 7b02c77a3961d859aae270922db26bbc999677cb (diff) | |
don't skip paths for portable instance, what am I doing
implemented actual creation
removed mentions of %BASE_DIR% everywhere, use constant and functions from PathSettings
Diffstat (limited to 'src/settings.cpp')
| -rw-r--r-- | src/settings.cpp | 18 |
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, |
