summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRainer Keller <Rainer.Keller@qt.io>2019-01-22 08:52:47 +0100
committerRainer Keller <Rainer.Keller@qt.io>2019-02-04 13:11:50 +0000
commitd6768e5a16521c11fffb4b50eaf085f8c13272a7 (patch)
tree416a006cd473feb8b6af3ef02f2817f23d6ed85f /src
parent2a791f276dadc75afb39e4d3d44ca056c1912447 (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.cpp6
-rw-r--r--src/libs/installer/installiconsoperation.cpp10
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