Skip to content
Snippets Groups Projects
Commit 28be7bc4 authored by Leandro Melo's avatar Leandro Melo
Browse files

C++ tooltip: Make sure to get the correct list of base classes.

parent 62e33d0e
No related branches found
No related tags found
No related merge requests found
...@@ -60,6 +60,8 @@ ...@@ -60,6 +60,8 @@
#include <QtGui/QToolTip> #include <QtGui/QToolTip>
#include <QtGui/QTextCursor> #include <QtGui/QTextCursor>
#include <algorithm>
using namespace CppEditor::Internal; using namespace CppEditor::Internal;
using namespace CPlusPlus; using namespace CPlusPlus;
using namespace Core; using namespace Core;
...@@ -95,11 +97,14 @@ namespace { ...@@ -95,11 +97,14 @@ namespace {
const QList<Symbol *> &symbols = baseClass->symbols(); const QList<Symbol *> &symbols = baseClass->symbols();
foreach (Symbol *baseSymbol, symbols) { foreach (Symbol *baseSymbol, symbols) {
if (baseSymbol->isClass()) { if (baseSymbol->isClass()) {
hierarchy->back().append(overview.prettyName( const QString &qualifiedName = overview.prettyName(
LookupContext::fullyQualifiedName(baseSymbol))); LookupContext::fullyQualifiedName(baseSymbol));
buildClassHierarchyHelper(baseSymbol, context, overview, hierarchy); if (!qualifiedName.isEmpty()) {
hierarchy->append(hierarchy->back()); hierarchy->back().append(qualifiedName);
hierarchy->back().removeLast(); buildClassHierarchyHelper(baseSymbol, context, overview, hierarchy);
hierarchy->append(hierarchy->back());
hierarchy->back().removeLast();
}
} }
} }
} }
...@@ -476,6 +481,10 @@ void CppHoverHandler::generateDiagramTooltip(const bool extendTooltips) ...@@ -476,6 +481,10 @@ void CppHoverHandler::generateDiagramTooltip(const bool extendTooltips)
qSort(m_classHierarchy.begin(), m_classHierarchy.end(), ClassHierarchyComp()); qSort(m_classHierarchy.begin(), m_classHierarchy.end(), ClassHierarchyComp());
// Remove duplicates (in case there are any).
m_classHierarchy.erase(std::unique(m_classHierarchy.begin(), m_classHierarchy.end()),
m_classHierarchy.end());
QStringList directBaseClasses; QStringList directBaseClasses;
foreach (const QStringList &hierarchy, m_classHierarchy) { foreach (const QStringList &hierarchy, m_classHierarchy) {
if (hierarchy.size() > 1) if (hierarchy.size() > 1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment