File Also-list-GTK3-themes-without-gtk-3.0-subfolder.patch of Package kde-gtk-config4

From 1ba9f200f0fb53b1dab7e810f8a1920f18e55322 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Thu, 21 Dec 2017 15:47:54 +0100
Subject: Also list GTK 3 themes without "gtk-3.0" subfolder

Summary: It is valid to have themes without support for gtk3 < 3.14.

Test Plan: Ran kcmshell5 kde-gtk-config with breeze-gtk from git installed. Now it appears.

Reviewers: #plasma, lbeltrame, apol

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D9459
---
 src/appearancegtk3.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/appearancegtk3.cpp b/src/appearancegtk3.cpp
index 25495ec..fb6c8a5 100644
--- a/src/appearancegtk3.cpp
+++ b/src/appearancegtk3.cpp
@@ -40,11 +40,12 @@ QStringList AppearanceGTK3::installedThemes() const
 
     //we just want actual themes
     QStringList themes;
-    for(QFileInfoList::iterator it=availableThemes.begin(); it!=availableThemes.end(); ++it) {
-        bool hasGtkrc = QDir(it->filePath()).exists("gtk-3.0");
 
-        //If it doesn't exist, we don't want it on the list
-        if(hasGtkrc)
+    // Check that the theme contains a gtk-3.* subdirectory
+    QStringList gtk3SubdirPattern("gtk-3.*");
+    for(QFileInfoList::const_iterator it=availableThemes.constBegin(); it!=availableThemes.constEnd(); ++it) {
+        QDir themeDir(it->filePath());
+        if(!themeDir.entryList(gtk3SubdirPattern, QDir::Dirs).isEmpty())
             themes += it->filePath();
     }
 
-- 
cgit v0.11.2

openSUSE Build Service is sponsored by