From bc820a172f0260ebf7e7e18eaaf0c2e3deb23078 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Wed, 8 Jun 2022 22:03:36 +0300 Subject: [PATCH] better system icon theme detection Signed-off-by: Ivailo Monev --- src/gui/kernel/qguiplatformplugin.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp index 09705895c..77365681e 100644 --- a/src/gui/kernel/qguiplatformplugin.cpp +++ b/src/gui/kernel/qguiplatformplugin.cpp @@ -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; } } }