diff options
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/installer_fomod_plus/installer/FomodInstallerWindow.cpp | 10 | ||||
| -rw-r--r-- | libs/installer_fomod_plus/installer/ui/UIHelper.cpp | 5 |
2 files changed, 10 insertions, 5 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()); diff --git a/libs/installer_fomod_plus/installer/ui/UIHelper.cpp b/libs/installer_fomod_plus/installer/ui/UIHelper.cpp index 2312fd1..56aff85 100644 --- a/libs/installer_fomod_plus/installer/ui/UIHelper.cpp +++ b/libs/installer_fomod_plus/installer/ui/UIHelper.cpp @@ -61,7 +61,10 @@ QLabel* UIHelper::createHyperlink(const QString& url, QWidget* parent = nullptr) QString UIHelper::getFullImagePath(const QString& fomodPath, const QString& imagePath) { - return QDir::tempPath() + "/" + fomodPath + "/" + imagePath; + // Fomod XMLs may use Windows backslashes in image paths (e.g. "fomod\MCM.png") + QString normalized = imagePath; + normalized.replace('\\', '/'); + return QDir::tempPath() + "/" + fomodPath + "/" + normalized; } void UIHelper::setGlobalAlignment(QBoxLayout* layout, const Qt::Alignment alignment) |
