+ if (searchUrl.scheme() == QLatin1String("baloosearch")) {
+ model.parseBalooQuery();
+ } else if (searchUrl.scheme() == QLatin1String("tags")) {
+ // tags can contain # symbols or slashes within the Url
+ QString tag = trimChar(searchUrl.toString(QUrl::RemoveScheme), QLatin1Char('/'));
+ model.m_searchTerms << QStringLiteral("tag:%1").arg(tag);
+ }
+
+ return model;
+}
+
+bool DolphinQuery::supportsScheme(const QString& urlScheme)
+{
+ static const QStringList supportedSchemes = {
+ QStringLiteral("baloosearch"),
+ QStringLiteral("tags"),
+ };
+
+ return supportedSchemes.contains(urlScheme);
+}
+
+void DolphinQuery::parseBalooQuery()
+{