summaryrefslogtreecommitdiffstats
path: root/src/assistant/help/qhelpcollectionhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/assistant/help/qhelpcollectionhandler.cpp')
-rw-r--r--src/assistant/help/qhelpcollectionhandler.cpp92
1 files changed, 64 insertions, 28 deletions
diff --git a/src/assistant/help/qhelpcollectionhandler.cpp b/src/assistant/help/qhelpcollectionhandler.cpp
index b59975808..57ab8e329 100644
--- a/src/assistant/help/qhelpcollectionhandler.cpp
+++ b/src/assistant/help/qhelpcollectionhandler.cpp
@@ -2301,28 +2301,56 @@ static QUrl buildQUrl(const QString &ns, const QString &folder,
return url;
}
-QMultiMap<QString, QUrl>
-QHelpCollectionHandler::linksForIdentifier(const QString &id,
- const QStringList &filterAttributes) const
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForIdentifier(
+ const QString &id,
+ const QStringList &filterAttributes) const
{
return linksForField(QLatin1String("Identifier"), id, filterAttributes);
}
-QMultiMap<QString, QUrl>
-QHelpCollectionHandler::linksForKeyword(const QString &keyword,
- const QStringList &filterAttributes) const
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForKeyword(
+ const QString &keyword,
+ const QStringList &filterAttributes) const
{
return linksForField(QLatin1String("Name"), keyword, filterAttributes);
}
-QMultiMap<QString, QUrl>
-QHelpCollectionHandler::linksForField(const QString &fieldName, const QString &fieldValue,
- const QStringList &filterAttributes) const
+QList<QHelpLink> QHelpCollectionHandler::documentsForIdentifier(
+ const QString &id,
+ const QStringList &filterAttributes) const
+{
+ return documentsForField(QLatin1String("Identifier"), id, filterAttributes);
+}
+
+QList<QHelpLink> QHelpCollectionHandler::documentsForKeyword(
+ const QString &keyword,
+ const QStringList &filterAttributes) const
+{
+ return documentsForField(QLatin1String("Name"), keyword, filterAttributes);
+}
+
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForField(
+ const QString &fieldName,
+ const QString &fieldValue,
+ const QStringList &filterAttributes) const
{
QMultiMap<QString, QUrl> linkMap;
+ const auto documents = documentsForField(fieldName, fieldValue, filterAttributes);
+ for (const auto &document : documents)
+ linkMap.insert(document.title, document.url);
+
+ return linkMap;
+}
+
+QList<QHelpLink> QHelpCollectionHandler::documentsForField(
+ const QString &fieldName,
+ const QString &fieldValue,
+ const QStringList &filterAttributes) const
+{
+ QList<QHelpLink> docList;
if (!isDBOpened())
- return linkMap;
+ return docList;
const QString filterlessQuery = QString::fromLatin1(
"SELECT "
@@ -2359,40 +2387,47 @@ QHelpCollectionHandler::linksForField(const QString &fieldName, const QString &f
if (title.isEmpty()) // generate a title + corresponding path
title = fieldValue + QLatin1String(" : ") + m_query->value(3).toString();
- linkMap.insert(title,
- buildQUrl(m_query->value(1).toString(), m_query->value(2).toString(),
- m_query->value(3).toString(), m_query->value(4).toString()));
+ const QUrl url = buildQUrl(m_query->value(1).toString(),
+ m_query->value(2).toString(),
+ m_query->value(3).toString(),
+ m_query->value(4).toString());
+ docList.append(QHelpLink {url, title});
}
- return linkMap;
+ return docList;
}
-QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForIdentifier(const QString &id,
- const QString &filterName) const
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForIdentifier(
+ const QString &id,
+ const QString &filterName) const
{
return linksForField(QLatin1String("Identifier"), id, filterName);
}
-QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForKeyword(const QString &keyword,
- const QString &filterName) const
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForKeyword(
+ const QString &keyword,
+ const QString &filterName) const
{
return linksForField(QLatin1String("Name"), keyword, filterName);
}
-QList<QHelpLink> QHelpCollectionHandler::documentsForIdentifier(const QString &id,
- const QString &filterName) const
+QList<QHelpLink> QHelpCollectionHandler::documentsForIdentifier(
+ const QString &id,
+ const QString &filterName) const
{
return documentsForField(QLatin1String("Identifier"), id, filterName);
}
-QList<QHelpLink> QHelpCollectionHandler::documentsForKeyword(const QString &keyword,
- const QString &filterName) const
+QList<QHelpLink> QHelpCollectionHandler::documentsForKeyword(
+ const QString &keyword,
+ const QString &filterName) const
{
return documentsForField(QLatin1String("Name"), keyword, filterName);
}
-QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForField(const QString &fieldName,
- const QString &fieldValue,
- const QString &filterName) const
+QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForField(
+ const QString &fieldName,
+ const QString &fieldValue,
+ const QString &filterName) const
{
QMultiMap<QString, QUrl> linkMap;
const auto documents = documentsForField(fieldName, fieldValue, filterName);
@@ -2402,9 +2437,10 @@ QMultiMap<QString, QUrl> QHelpCollectionHandler::linksForField(const QString &fi
return linkMap;
}
-QList<QHelpLink> QHelpCollectionHandler::documentsForField(const QString &fieldName,
- const QString &fieldValue,
- const QString &filterName) const
+QList<QHelpLink> QHelpCollectionHandler::documentsForField(
+ const QString &fieldName,
+ const QString &fieldValue,
+ const QString &filterName) const
{
QList<QHelpLink> docList;