summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp33
1 files changed, 9 insertions, 24 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index a0625c4c..d9fa833d 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -224,8 +224,7 @@ QString Settings::getConfigurablePath(const QString &key,
bool resolve) const
{
QString result = QDir::fromNativeSeparators(
- m_Settings.value(QString("settings/") + key,
- qApp->property("dataPath").toString() + "/" + def)
+ m_Settings.value(QString("settings/") + key, QString("%BASE_DIR%/") + def)
.toString());
if (resolve) {
result.replace("%BASE_DIR%", getBaseDirectory());
@@ -677,12 +676,7 @@ Settings::PathsTab::PathsTab(Settings *parent, SettingsDialog &dialog)
std::make_pair(m_overwriteDirEdit, m_parent->getOverwriteDirectory(false))
}) {
QString storePath = baseDir.relativeFilePath(dir.second);
- qDebug("%s -> %s", qPrintable(dir.second), qPrintable(storePath));
- if (storePath.startsWith("..") || QDir::isAbsolutePath(storePath)) {
- storePath = dir.second;
- } else {
- storePath = QString("%BASE_DIR%/") + storePath;
- }
+ storePath = dir.second;
dir.first->setText(storePath);
}
}
@@ -693,20 +687,6 @@ void Settings::PathsTab::update()
QString basePath = m_parent->getBaseDirectory();
- if ((QDir::fromNativeSeparators(m_modDirEdit->text())
- != QDir::fromNativeSeparators(m_parent->getModDirectory()))
- && (QMessageBox::question(
- nullptr, tr("Confirm"),
- tr("Changing the mod directory affects all your profiles! "
- "Mods not present (or named differently) in the new location "
- "will be disabled in all profiles. "
- "There is no way to undo this unless you backed up your "
- "profiles manually. Proceed?"),
- QMessageBox::Yes | QMessageBox::No)
- == QMessageBox::No)) {
- m_modDirEdit->setText(m_parent->getModDirectory());
- }
-
for (const Directory &dir :{
Directory{m_downloadDirEdit->text(), "download_directory", AppConfig::downloadPath()},
Directory{m_cacheDirEdit->text(), "cache_directory", AppConfig::cachePath()},
@@ -727,8 +707,6 @@ void Settings::PathsTab::update()
QDir().mkpath(realPath);
}
- qDebug("%s -> %s", qPrintable(path), qPrintable(realPath));
-
if (QFileInfo(realPath)
!= QFileInfo(basePath + "/" + QString::fromStdWString(defaultName))) {
m_Settings.setValue(settingsKey, path);
@@ -736,6 +714,13 @@ void Settings::PathsTab::update()
m_Settings.remove(settingsKey);
}
}
+
+ if (QFileInfo(m_baseDirEdit->text()) !=
+ QFileInfo(qApp->property("dataPath").toString())) {
+ m_Settings.setValue("Settings/base_directory", m_baseDirEdit->text());
+ } else {
+ m_Settings.remove("Settings/base_directory");
+ }
}
Settings::NexusTab::NexusTab(Settings *parent, SettingsDialog &dialog)