QGenericUnixTheme: use QStandardPaths get the xdg data path
The corresponding interface is already provided in QStandardPaths. We should use QStandardPaths::GenericDataLocation instead of the environment variable XDG_DATA_DIRS. Change-Id: I0e89e8c86d629585ec7d9a12989f24335aa6e3ba Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
This commit is contained in:
parent
2f4c658236
commit
c93670c5a0
@ -172,15 +172,9 @@ QStringList QGenericUnixTheme::xdgIconThemePaths()
|
|||||||
if (homeIconDir.isDir())
|
if (homeIconDir.isDir())
|
||||||
paths.prepend(homeIconDir.absoluteFilePath());
|
paths.prepend(homeIconDir.absoluteFilePath());
|
||||||
|
|
||||||
QString xdgDirString = QFile::decodeName(qgetenv("XDG_DATA_DIRS"));
|
paths.append(QStandardPaths::locateAll(QStandardPaths::GenericDataLocation,
|
||||||
if (xdgDirString.isEmpty())
|
QStringLiteral("icons"),
|
||||||
xdgDirString = QLatin1String("/usr/local/share/:/usr/share/");
|
QStandardPaths::LocateDirectory));
|
||||||
const auto xdgDirs = xdgDirString.splitRef(QLatin1Char(':'));
|
|
||||||
for (const QStringRef &xdgDir : xdgDirs) {
|
|
||||||
const QFileInfo xdgIconsDir(xdgDir + QLatin1String("/icons"));
|
|
||||||
if (xdgIconsDir.isDir())
|
|
||||||
paths.append(xdgIconsDir.absoluteFilePath());
|
|
||||||
}
|
|
||||||
|
|
||||||
return paths;
|
return paths;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user