diff --git a/autotests/kfileplacesmodeltest.cpp b/autotests/kfileplacesmodeltest.cpp --- a/autotests/kfileplacesmodeltest.cpp +++ b/autotests/kfileplacesmodeltest.cpp @@ -899,18 +899,11 @@ << QUrl::fromLocalFile(QDir::homePath()); // baloo -search - const QString jsonQuery(QStringLiteral("{\"dayFilter\": 0,\ - \"monthFilter\": 0, \ - \"yearFilter\": 0, \ - \"type\": [ \"Document\"]}")); - QUrl url; - url.setScheme(QStringLiteral("baloosearch")); - QUrlQuery urlQuery; - urlQuery.addQueryItem(QStringLiteral("json"), jsonQuery.simplified()); - url.setQuery(urlQuery); - QTest::newRow("Baloo - Documents") << QUrl("search:/documents") - << url; + << QUrl("baloosearch:/documents"); + + QTest::newRow("Baloo - Unknown Type") << QUrl("search:/unknown") + << QUrl("search:/unknown"); // baloo - timeline const QDate lastMonthDate = QDate::currentDate().addMonths(-1); diff --git a/src/filewidgets/kfileplacesmodel.cpp b/src/filewidgets/kfileplacesmodel.cpp --- a/src/filewidgets/kfileplacesmodel.cpp +++ b/src/filewidgets/kfileplacesmodel.cpp @@ -128,41 +128,28 @@ return timelineUrl; } - static QUrl searchUrlForType(const QString &type) - { - const QString jsonQuery(QStringLiteral("{\"dayFilter\": 0,\ - \"monthFilter\": 0, \ - \"yearFilter\": 0, \ - \"type\": [ \"%1\"]}")); - QUrl url; - url.setScheme(QStringLiteral("baloosearch")); - - QUrlQuery urlQuery; - urlQuery.addQueryItem(QStringLiteral("json"), jsonQuery.arg(type).simplified()); - url.setQuery(urlQuery); - - return url; - } - static QUrl createSearchUrl(const QUrl &url) { - QUrl searchUrl; + QUrl searchUrl = url; const QString path = url.toDisplayString(QUrl::PreferLocalFile); - if (path.endsWith(QLatin1String("/documents"))) { - searchUrl = searchUrlForType(QStringLiteral("Document")); - } else if (path.endsWith(QLatin1String("/images"))) { - searchUrl = searchUrlForType(QStringLiteral("Image")); - } else if (path.endsWith(QLatin1String("/audio"))) { - searchUrl = searchUrlForType(QStringLiteral("Audio")); - } else if (path.endsWith(QLatin1String("/videos"))) { - searchUrl = searchUrlForType(QStringLiteral("Video")); - } else { - qWarning() << "Invalid search url:" << url; - searchUrl = url; + const QStringList validSearchPaths = { + QStringLiteral("/documents"), + QStringLiteral("/images"), + QStringLiteral("/audio"), + QStringLiteral("/videos") + }; + + for (const QString &validPath : validSearchPaths) { + if (path.endsWith(validPath)) { + searchUrl.setScheme(QStringLiteral("baloosearch")); + return searchUrl; + } } + qWarning() << "Invalid search url:" << url; + return searchUrl; } }