summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAl <26797547+Al12rs@users.noreply.github.com>2020-09-27 17:05:13 -0700
committerGitHub <noreply@github.com>2020-09-27 17:05:13 -0700
commit154d83e479baecf8c0c670c6b8d5d72e3c2299d1 (patch)
tree176c869fe053368bff992f40a6839caa028dc995 /src
parent9dbf4d7820963dd61cf6fad1abbe7b3962ea922e (diff)
parent718e71854e01332f4a31d9961f5597b521bb994f (diff)
Merge pull request #1243 from Holt59/absolute-path-ini-files
Allow absolute path for ini files.
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp5
-rw-r--r--src/profile.cpp11
2 files changed, 7 insertions, 9 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index fb71eca3..a20dfd06 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1887,10 +1887,7 @@ QDir MainWindow::currentSavesDir() const
return m_OrganizerCore.managedGame()->savesDirectory();
}
- QString iniPath = m_OrganizerCore.currentProfile()->localSettingsEnabled()
- ? m_OrganizerCore.currentProfile()->absolutePath()
- : m_OrganizerCore.managedGame()->documentsDirectory().absolutePath();
- iniPath += "/" + iniFiles[0];
+ QString iniPath = m_OrganizerCore.currentProfile()->absoluteIniFilePath(iniFiles[0]);
wchar_t path[MAX_PATH];
if (::GetPrivateProfileStringW(
diff --git a/src/profile.cpp b/src/profile.cpp
index 6bf282d0..92f2abce 100644
--- a/src/profile.cpp
+++ b/src/profile.cpp
@@ -805,9 +805,10 @@ bool Profile::localSettingsEnabled() const
if (enabled) {
QStringList missingFiles;
for (QString file : m_GamePlugin->iniFiles()) {
- if (!QFile::exists(m_Directory.filePath(file))) {
- log::warn("missing {} in {}", file, m_Directory.path());
- missingFiles << file;
+ QString fileName = QFileInfo(file).fileName();
+ if (!QFile::exists(m_Directory.filePath(fileName))) {
+ log::warn("missing {} in {}", fileName, m_Directory.path());
+ missingFiles << fileName;
}
}
if (!missingFiles.empty()) {
@@ -837,7 +838,7 @@ bool Profile::enableLocalSettings(bool enable)
if (res == QMessageBox::Yes) {
QStringList filesToDelete;
for (QString file : m_GamePlugin->iniFiles()) {
- filesToDelete << m_Directory.absoluteFilePath(file);
+ filesToDelete << m_Directory.absoluteFilePath(QFileInfo(file).fileName());
}
shellDelete(filesToDelete, true);
} else if (res == QMessageBox::No) {
@@ -886,7 +887,7 @@ QString Profile::getIniFileName() const
if (iniFiles.isEmpty())
return "";
else
- return m_Directory.absoluteFilePath(iniFiles[0]);
+ return m_Directory.absoluteFilePath(QFileInfo(iniFiles[0]).fileName());
}
QString Profile::absoluteIniFilePath(QString iniFile) const