better system icon theme detection

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2022-06-08 22:03:36 +03:00
parent 8200bf8ae2
commit bc820a172f

View file

@ -30,7 +30,6 @@
#include "qplatformdefs.h"
#include "qicon.h"
#include "qstandardpaths.h"
#include "qcore_unix_p.h"
QT_BEGIN_NAMESPACE
@ -133,13 +132,11 @@ QString QGuiPlatformPlugin::systemIconThemeName()
if (subpath == QLatin1String("hicolor")) {
continue;
}
const QStatInfo indexinfo(path + QLatin1Char('/') + subpath + QLatin1String("/index.theme"));
if (indexinfo.isFile()) {
const QStatInfo cursorsinfo(path + QLatin1Char('/') + subpath + QLatin1String("/cursors"));
if (!cursorsinfo.isDir()) {
themename = subpath;
return themename;
}
QSettings indextheme(path + QLatin1Char('/') + subpath + QLatin1String("/index.theme"), QSettings::IniFormat);
const QStringList themedirectories = indextheme.value(QString::fromLatin1("Icon Theme/Directories")).toStringList();
if (!themedirectories.isEmpty()) {
themename = subpath;
return themename;
}
}
}