diff --git a/app/configs/install_types.json b/app/configs/install_types.json index 335de22350e81310a3820d1f0d79e6a5aea33037..87e9b33e2b5a9a07d4f99c8b91a64a85854b5309 100644 --- a/app/configs/install_types.json +++ b/app/configs/install_types.json @@ -6,27 +6,27 @@ }, "downloads": { "name": "Downloads", - "destination": "$HOME/Downloads", + "destination": "$XDG_DOWNLOAD_DIR", "generic_destination": "$APP_DATA/downloads" }, "documents": { "name": "Documents", - "destination": "$HOME/Documents", + "destination": "$XDG_DOCUMENTS_DIR", "generic_destination": "$APP_DATA/documents" }, "pictures": { "name": "Pictures", - "destination": "$HOME/Pictures", + "destination": "$XDG_PICTURES_DIR", "generic_destination": "$APP_DATA/pictures" }, "music": { "name": "Music", - "destination": "$HOME/Music", + "destination": "$XDG_MUSIC_DIR", "generic_destination": "$APP_DATA/music" }, "videos": { "name": "Videos", - "destination": "$HOME/Videos", + "destination": "$XDG_VIDEOS_DIR", "generic_destination": "$APP_DATA/videos" }, "wallpapers": { diff --git a/app/src/handlers/confighandler.cpp b/app/src/handlers/confighandler.cpp index bc75e9faefc87d384f2ad19cd14ac38b580570e0..74271602d054885a853f83a6e32c60fe4660be75 100644 --- a/app/src/handlers/confighandler.cpp +++ b/app/src/handlers/confighandler.cpp @@ -1,6 +1,7 @@ #include "confighandler.h" #include <QStringList> +#include <QStandardPaths> #include "qtlib_dir.h" @@ -50,6 +51,21 @@ QString ConfigHandler::convertPathString(const QString &path) if (newPath.contains("$HOME")) { newPath.replace("$HOME", qtlib::Dir::homePath()); } + else if (newPath.contains("$XDG_DOCUMENTS_DIR")) { + newPath.replace("$XDG_DOCUMENTS_DIR", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); + } + else if (newPath.contains("$XDG_DOWNLOAD_DIR")) { + newPath.replace("$XDG_DOWNLOAD_DIR", QStandardPaths::writableLocation(QStandardPaths::DownloadLocation)); + } + else if (newPath.contains("$XDG_PICTURES_DIR")) { + newPath.replace("$XDG_PICTURES_DIR", QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)); + } + else if (newPath.contains("$XDG_MUSIC_DIR")) { + newPath.replace("$XDG_MUSIC_DIR", QStandardPaths::writableLocation(QStandardPaths::MusicLocation)); + } + else if (newPath.contains("$XDG_VIDEOS_DIR")) { + newPath.replace("$XDG_VIDEOS_DIR", QStandardPaths::writableLocation(QStandardPaths::MoviesLocation)); + } else if (newPath.contains("$XDG_DATA_HOME")) { newPath.replace("$XDG_DATA_HOME", qtlib::Dir::genericDataPath()); }