diff --git a/src/libs/utils/htmldocextractor.cpp b/src/libs/utils/htmldocextractor.cpp
index 7690dae79d2..2edb4c83850 100644
--- a/src/libs/utils/htmldocextractor.cpp
+++ b/src/libs/utils/htmldocextractor.cpp
@@ -266,6 +266,7 @@ void HtmlDocExtractor::formatContents(QString *html) const
return;
if (m_formatContents) {
+ stripBold(html);
replaceNonStyledHeadingsForBold(html);
replaceTablesForSimpleLines(html);
replaceListsForSimpleLines(html);
@@ -274,6 +275,7 @@ void HtmlDocExtractor::formatContents(QString *html) const
stripDivs(html);
stripTagsStyles(html);
stripHeadings(html);
+ stripImagens(html);
}
if (m_lengthReference > -1 && html->length() > m_lengthReference) {
@@ -288,9 +290,11 @@ void HtmlDocExtractor::formatContents(QString *html) const
} else {
html->truncate(m_lengthReference);
}
- html->append(QLatin1String("..."));
- if (m_formatContents)
- html->append(QLatin1String("
"));
+ if (m_formatContents) {
+ if (html->endsWith(QLatin1String("
")))
+ html->chop(6);
+ html->append(QLatin1String("
...
"));
+ }
}
}
@@ -327,7 +331,19 @@ void HtmlDocExtractor::stripTagsStyles(QString *html)
void HtmlDocExtractor::stripTeletypes(QString *html)
{
- html->remove(createMinimalExp(QLatin1String("|")));
+ html->remove(QLatin1String(""));
+ html->remove(QLatin1String(""));
+}
+
+void HtmlDocExtractor::stripImagens(QString *html)
+{
+ html->remove(createMinimalExp(QLatin1String("")));
+}
+
+void HtmlDocExtractor::stripBold(QString *html)
+{
+ html->remove(QLatin1String(""));
+ html->remove(QLatin1String(""));
}
void HtmlDocExtractor::replaceNonStyledHeadingsForBold(QString *html)
@@ -340,13 +356,19 @@ void HtmlDocExtractor::replaceNonStyledHeadingsForBold(QString *html)
void HtmlDocExtractor::replaceTablesForSimpleLines(QString *html)
{
- html->remove(createMinimalExp(QLatin1String("")));
- html->remove(QLatin1String(""));
+ html->replace(createMinimalExp(QLatin1String("(?:)?
")), QLatin1String(""));
+ html->replace(QLatin1String(""), QLatin1String("
"));
+ html->remove(createMinimalExp(QLatin1String("")));
+ html->remove(QLatin1String(""));
+ html->remove(createMinimalExp(QLatin1String("")));
+ html->remove(QLatin1String(""));
html->remove(createMinimalExp(QLatin1String(".*")));
html->replace(QLatin1String(" | remove(createMinimalExp(QLatin1String(" | ")));
html->remove(createMinimalExp(QLatin1String("
")));
- html->remove(QLatin1String(""));
- html->replace(QLatin1String(""), QLatin1String(" - "));
+ html->remove(createMinimalExp(QLatin1String("(?:)?")));
+ html->replace(createMinimalExp(QLatin1String("
")),
+ QLatin1String(" "));
html->replace(QLatin1String(""), QLatin1String("
"));
}
@@ -354,7 +376,7 @@ void HtmlDocExtractor::replaceListsForSimpleLines(QString *html)
{
html->remove(createMinimalExp(QLatin1String("<(?:ul|ol).*>")));
html->remove(createMinimalExp(QLatin1String("(?:ul|ol)>")));
- html->replace(QLatin1String(""), QLatin1String(" - "));
+ html->replace(QLatin1String(""), QLatin1String(" "));
html->replace(QLatin1String(""), QLatin1String("
"));
}
diff --git a/src/libs/utils/htmldocextractor.h b/src/libs/utils/htmldocextractor.h
index 86728d47884..819e7a5bc9c 100644
--- a/src/libs/utils/htmldocextractor.h
+++ b/src/libs/utils/htmldocextractor.h
@@ -85,6 +85,8 @@ private:
static void stripDivs(QString *html);
static void stripTagsStyles(QString *html);
static void stripTeletypes(QString *html);
+ static void stripImagens(QString *html);
+ static void stripBold(QString *html);
static void replaceNonStyledHeadingsForBold(QString *html);
static void replaceTablesForSimpleLines(QString *html);
static void replaceListsForSimpleLines(QString *html);
diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp
index 5e46c19c9ea..61d3f7a3f7a 100644
--- a/src/plugins/cppeditor/cpphoverhandler.cpp
+++ b/src/plugins/cppeditor/cpphoverhandler.cpp
@@ -70,20 +70,15 @@ namespace {
return name.right(name.length() - index - 1);
}
- void moveCursorToEndOfQualifiedName(QTextCursor *tc) {
+ void moveCursorToEndOfName(QTextCursor *tc) {
QTextDocument *doc = tc->document();
if (!doc)
return;
- while (true) {
- const QChar &ch = doc->characterAt(tc->position());
- if (ch.isLetterOrNumber() || ch == QLatin1Char('_'))
- tc->movePosition(QTextCursor::NextCharacter);
- else if (ch == QLatin1Char(':') &&
- doc->characterAt(tc->position() + 1) == QLatin1Char(':'))
- tc->movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, 2);
- else
- break;
+ QChar ch = doc->characterAt(tc->position());
+ while (ch.isLetterOrNumber() || ch == QLatin1Char('_')) {
+ tc->movePosition(QTextCursor::NextCharacter);
+ ch = doc->characterAt(tc->position());
}
}
}
@@ -211,7 +206,7 @@ void CppHoverHandler::identifyMatch(TextEditor::ITextEditor *editor, int pos)
QTextCursor tc(baseEditor->document());
tc.setPosition(pos);
- moveCursorToEndOfQualifiedName(&tc);
+ moveCursorToEndOfName(&tc);
// Fetch the expression's code
ExpressionUnderCursor expressionUnderCursor;