From 14eb87bba79dfc2acfcf19bcbe230ca0eebb95ad Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Sat, 16 Apr 2022 17:16:26 +0200 Subject: [PATCH] [desktop] Use XDG path for settings Signed-off-by: Francesco Gazzetta --- platform/platform_linux.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/platform_linux.cpp b/platform/platform_linux.cpp index 4920d03fd3..7912a75b7d 100644 --- a/platform/platform_linux.cpp +++ b/platform/platform_linux.cpp @@ -28,6 +28,8 @@ #include // PATH_MAX #include +#include // writableLocation GenericConfigLocation + namespace { // Web service ip to check internet connection. Now it's a GitHub.com IP. @@ -83,8 +85,10 @@ Platform::Platform() auto const homeDir = GetEnv("HOME"); CHECK(homeDir, ("Can't retrieve home directory")); - // ~/.config/OMaps/ - m_settingsDir = JoinPath(*homeDir, ".config", "OMaps"); + // XDG config directory, usually ~/.config/OMaps/ + m_settingsDir = JoinPath( + QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation).toStdString(), + "OMaps"); if (!IsFileExistsByFullPath(JoinPath(m_settingsDir, SETTINGS_FILE_NAME)) && !MkDirRecursively(m_settingsDir)) MYTHROW(FileSystemException, ("Can't create directory", m_settingsDir)); m_settingsDir += '/';