diff options
author | Rainer Keller <Rainer.Keller@qt.io> | 2019-01-22 08:52:47 +0100 |
---|---|---|
committer | Rainer Keller <Rainer.Keller@qt.io> | 2019-02-04 13:11:50 +0000 |
commit | d6768e5a16521c11fffb4b50eaf085f8c13272a7 (patch) | |
tree | 416a006cd473feb8b6af3ef02f2817f23d6ed85f /src | |
parent | 2a791f276dadc75afb39e4d3d44ca056c1912447 (diff) |
Write desktop entry and items to the correct folders
Data should not be written to directories in XDG_DATA_DIRS.
The spec state that files should only be writen to the
directory in XDG_DATA_HOME.
Change-Id: I755963fa2f70d03c77d7beec0e3f87accde925d0
Fixes: QTIFW-1269
Reviewed-by: Nikos Chantziaras <realnc@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/createdesktopentryoperation.cpp | 6 | ||||
-rw-r--r-- | src/libs/installer/installiconsoperation.cpp | 10 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/libs/installer/createdesktopentryoperation.cpp b/src/libs/installer/createdesktopentryoperation.cpp index d2e71b14f..17e165777 100644 --- a/src/libs/installer/createdesktopentryoperation.cpp +++ b/src/libs/installer/createdesktopentryoperation.cpp @@ -49,17 +49,13 @@ QString CreateDesktopEntryOperation::absoluteFileName() if (hasValue(QLatin1String("directory"))) return QDir(value(QLatin1String("directory")).toString()).absoluteFilePath(filename); - QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS")) - .split(QLatin1Char(':'), - QString::SkipEmptyParts); QStringList XDG_DATA_HOME = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME")) .split(QLatin1Char(':'), QString::SkipEmptyParts); - XDG_DATA_DIRS.push_back(QLatin1String("/usr/share")); // default path XDG_DATA_HOME.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share"))); // default path - const QStringList directories = XDG_DATA_DIRS + XDG_DATA_HOME; + const QStringList directories = XDG_DATA_HOME; QString directory; for (QStringList::const_iterator it = directories.begin(); it != directories.end(); ++it) { if (it->isEmpty()) diff --git a/src/libs/installer/installiconsoperation.cpp b/src/libs/installer/installiconsoperation.cpp index 4b8346e18..15d47c72a 100644 --- a/src/libs/installer/installiconsoperation.cpp +++ b/src/libs/installer/installiconsoperation.cpp @@ -42,20 +42,18 @@ QString InstallIconsOperation::targetDirectory() if (hasValue(QLatin1String("targetdirectory"))) return value(QLatin1String("targetdirectory")).toString(); - QStringList XDG_DATA_DIRS = QString::fromLocal8Bit(qgetenv("XDG_DATA_DIRS")) + QStringList XDG_DATA_HOME = QString::fromLocal8Bit(qgetenv("XDG_DATA_HOME")) .split(QLatin1Char(':'), QString::SkipEmptyParts); - XDG_DATA_DIRS.push_back(QLatin1String("/usr/share/pixmaps")); // default path - XDG_DATA_DIRS.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share/icons"))); // default path - XDG_DATA_DIRS.push_back(QDir::home().absoluteFilePath(QLatin1String(".icons"))); // default path + XDG_DATA_HOME.push_back(QDir::home().absoluteFilePath(QLatin1String(".local/share/icons"))); // default path QString directory; - const QStringList& directories = XDG_DATA_DIRS; + const QStringList& directories = XDG_DATA_HOME; for (QStringList::const_iterator it = directories.begin(); it != directories.end(); ++it) { if (it->isEmpty()) continue; - // our default dirs are correct, XDG_DATA_DIRS set via env need "icon" at the end + // our default dirs are correct, XDG_DATA_HOME set via env needs "icon" at the end if ((it + 1 == directories.end()) || (it + 2 == directories.end()) || (it + 3 == directories.end())) directory = QDir(*it).absolutePath(); else |