aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-18 12:55:32 -0600
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-02-18 12:55:32 -0600
commit6d70b7fa6a9cdf8ea59c7aa98f92249c5a4e0060 (patch)
tree8f791632faa27d59ddb9fe075255f13ca466772d /libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp
parent7e13a388ba568b964663f55c06bbee5818e96655 (diff)
Fix fomod-plus image loading and settings file location on Linux
Normalize Windows backslashes in fomod image paths so images like "fomod\MCM.png" resolve correctly on Linux. Move fomod-plus-settings.ini from QDir::currentPath() (home directory) to QStandardPaths::AppConfigLocation (Flatpak sandbox config dir). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp')
-rw-r--r--libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp b/libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp
index e5f2e18..bd1c0bc 100644
--- a/libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp
+++ b/libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp
@@ -17,6 +17,7 @@
#include <QScrollBar>
#include <QSettings>
#include <QSizePolicy>
+#include <QStandardPaths>
#include <QSplitter>
#include <QVBoxLayout>
#include <utility>
@@ -93,8 +94,9 @@ void FomodInstallerWindow::closeEvent(QCloseEvent* event)
void FomodInstallerWindow::saveGeometryAndState() const
{
- const auto cwd = QDir::currentPath();
- QSettings settings(cwd + "/fomod-plus-settings.ini", QSettings::IniFormat);
+ const auto configDir = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
+ QDir().mkpath(configDir);
+ QSettings settings(configDir + "/fomod-plus-settings.ini", QSettings::IniFormat);
settings.setValue("windowGeometry", saveGeometry());
settings.setValue("centerSplitState", mCenterRow->saveState());
settings.setValue("leftSplitState", mLeftPane->saveState());
@@ -102,8 +104,8 @@ void FomodInstallerWindow::saveGeometryAndState() const
void FomodInstallerWindow::restoreGeometryAndState()
{
- const auto cwd = QDir::currentPath();
- const QSettings settings(cwd + "/fomod-plus-settings.ini", QSettings::IniFormat);
+ const auto configDir = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
+ const QSettings settings(configDir + "/fomod-plus-settings.ini", QSettings::IniFormat);
restoreGeometry(settings.value("windowGeometry").toByteArray());
mCenterRow->restoreState(settings.value("centerSplitState").toByteArray());
mLeftPane->restoreState(settings.value("leftSplitState").toByteArray());