diff --git a/src/libs/utils/htmldocextractor.cpp b/src/libs/utils/htmldocextractor.cpp
index 83b8afafe3e..478795f9045 100644
--- a/src/libs/utils/htmldocextractor.cpp
+++ b/src/libs/utils/htmldocextractor.cpp
@@ -72,6 +72,7 @@ QString HtmlDocExtractor::getClassOrNamespaceBrief(const QString &html, const QS
contents.prepend(QLatin1String(""));
contents.append(QLatin1String(""));
}
+ processOutput(&contents);
return contents;
}
@@ -83,10 +84,9 @@ QString HtmlDocExtractor::getClassOrNamespaceDescription(const QString &html,
return getClassOrNamespaceBrief(html, mark);
QString contents = getContentsByMarks(html, mark + QLatin1String("-description"), mark);
- if (!contents.isEmpty() && m_formatContents) {
+ if (!contents.isEmpty() && m_formatContents)
contents.remove(QLatin1String("Detailed Description"));
- formatContents(&contents);
- }
+ processOutput(&contents);
return contents;
}
@@ -154,9 +154,7 @@ QString HtmlDocExtractor::getClassOrNamespaceMemberDescription(const QString &ht
const QString &endMark) const
{
QString contents = getContentsByMarks(html, startMark, endMark);
-
- if (!contents.isEmpty())
- formatContents(&contents);
+ processOutput(&contents);
return contents;
}
@@ -183,8 +181,11 @@ QString HtmlDocExtractor::getContentsByMarks(const QString &html,
return contents;
}
-void HtmlDocExtractor::formatContents(QString *html) const
+void HtmlDocExtractor::processOutput(QString *html) const
{
+ if (html->isEmpty())
+ return;
+
if (!m_extendedExtraction) {
int paragraph = html->indexOf(QLatin1String("
"));
if (paragraph != -1) {
@@ -211,22 +212,24 @@ void HtmlDocExtractor::formatContents(QString *html) const
stripImagens(html);
stripEmptyParagraphs(html);
- if (!m_extendedExtraction) {
- if (!html->endsWith(QLatin1String("."))) {
- // For paragraphs similar to this. Example:
- const int lastDot = html->lastIndexOf(QLatin1Char('.'));
- if (lastDot != -1) {
- html->truncate(lastDot);
- html->append(QLatin1String("."));
+ if (!html->startsWith(QLatin1String(""))) {
+ if (!m_extendedExtraction) {
+ if (!html->endsWith(QLatin1String("."))) {
+ // For paragraphs similar to this. Example:
+ const int lastDot = html->lastIndexOf(QLatin1Char('.'));
+ if (lastDot != -1) {
+ html->truncate(lastDot);
+ html->append(QLatin1String("."));
+ }
}
}
- }
- const int noBreakLimit = 140;
- const int paragraph = html->indexOf(QLatin1String(""));
- if (paragraph > 0 && paragraph <= noBreakLimit) {
- html->insert(paragraph, QLatin1String("
"));
- html->prepend(QLatin1String(""));
+ const int noBreakLimit = 140;
+ const int paragraph = html->indexOf(QLatin1String(""));
+ if (paragraph > 0 && paragraph <= noBreakLimit) {
+ html->insert(paragraph, QLatin1String("
"));
+ html->prepend(QLatin1String(""));
+ }
}
}
diff --git a/src/libs/utils/htmldocextractor.h b/src/libs/utils/htmldocextractor.h
index 02706dc15a4..a752c1ef80c 100644
--- a/src/libs/utils/htmldocextractor.h
+++ b/src/libs/utils/htmldocextractor.h
@@ -63,7 +63,7 @@ private:
QString startMark,
QString endMark) const;
- void formatContents(QString *html) const;
+ void processOutput(QString *html) const;
static void stripAllHtml(QString *html);
static void stripHeadings(QString *html);