summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpphoverhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cpphoverhandler.cpp')
-rw-r--r--src/plugins/cpptools/cpphoverhandler.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cpphoverhandler.cpp b/src/plugins/cpptools/cpphoverhandler.cpp
index 1265ef9da7..f3831e5394 100644
--- a/src/plugins/cpptools/cpphoverhandler.cpp
+++ b/src/plugins/cpptools/cpphoverhandler.cpp
@@ -175,13 +175,14 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
break;
}
}
+ }
- if (m_toolTip.isEmpty()) {
- foreach (const Document::MacroUse use, doc->macroUses()) {
- if (use.contains(pos)) {
- m_toolTip = use.macro().toString();
- break;
- }
+ if (m_toolTip.isEmpty()) {
+ unsigned lineno = tc.blockNumber() + 1;
+ foreach (const Document::Include &incl, doc->includes()) {
+ if (lineno == incl.line()) {
+ m_toolTip = incl.fileName();
+ break;
}
}
}
@@ -240,6 +241,16 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
}
}
+ if (doc && m_toolTip.isEmpty()) {
+ foreach (const Document::MacroUse &use, doc->macroUses()) {
+ if (use.contains(pos)) {
+ m_toolTip = use.macro().toString();
+ m_helpId = use.macro().name;
+ break;
+ }
+ }
+ }
+
if (m_helpEngineNeedsSetup
&& m_helpEngine->registeredDocumentations().count() > 0) {
m_helpEngine->setupData();
@@ -248,7 +259,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
if (!m_helpId.isEmpty() && !m_helpEngine->linksForIdentifier(m_helpId).isEmpty()) {
m_toolTip = QString(QLatin1String("<table><tr><td valign=middle><nobr>%1</td>"
- "<td><img src=\":/cpptools/images/f1.svg\"></td></tr></table>")).arg(Qt::escape(m_toolTip));
+ "<td><img src=\":/cpptools/images/f1.svg\"></td></tr></table>"))
+ .arg(Qt::escape(m_toolTip));
editor->setContextHelpId(m_helpId);
} else if (!m_toolTip.isEmpty()) {
m_toolTip = QString(QLatin1String("<nobr>%1")).arg(Qt::escape(m_toolTip));