File khelpcenter-fallback-to-kde4-docs.patch of Package khelpcenter5

diff --git a/toc.cpp b/toc.cpp
index 929c2d9..f4f3306 100644
--- a/toc.cpp
+++ b/toc.cpp
@@ -89,10 +89,12 @@ void TOC::build( const QString &file )
     QFileInfo fileInfo( file );
     QString fileName = fileInfo.absoluteFilePath();
 #if KCOREADDONS_VERSION >= QT_VERSION_CHECK(5, 36, 0)
-    const QStringList resourceDirs = KDocTools::documentationDirs();
+    QStringList resourceDirs = KDocTools::documentationDirs();
 #else
-    const QStringList resourceDirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "doc/HTML", QStandardPaths::LocateDirectory);
+    QStringList resourceDirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "doc/HTML", QStandardPaths::LocateDirectory);
 #endif
+    QStringList fallbackresourceDirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "doc/kde/HTML");
+    resourceDirs.append(fallbackresourceDirs);
     QStringList::ConstIterator it = resourceDirs.begin();
     QStringList::ConstIterator end = resourceDirs.end();
     for ( ; it != end; ++it ) {
diff --git a/view.cpp b/view.cpp
index 0df177e..b3e6823 100644
--- a/view.cpp
+++ b/view.cpp
@@ -125,6 +125,19 @@ QString View::langLookup( const QString &fname )
         }
     }
 
+    // assemble the local KDE4 search paths
+    const QStringList localkde4Doc = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
+
+    // look up the different languages
+    for (int id=localkde4Doc.count()-1; id >= 0; --id)
+    {
+        QDir kde4d(QStringLiteral("%1/doc/KDE/HTML/").arg(localkde4Doc[id]));
+
+        foreach(const QString& entry, kde4d.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) {
+            search.append(kde4d.absoluteFilePath(entry+'/'+fname));
+        }
+    }
+
     // try to locate the file
     for (QStringList::ConstIterator it = search.constBegin(); it != search.constEnd(); ++it) {
 
openSUSE Build Service is sponsored by