summaryrefslogtreecommitdiff
path: root/src/plugins/cppeditor/cpphoverhandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cppeditor/cpphoverhandler.cpp')
-rw-r--r--src/plugins/cppeditor/cpphoverhandler.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp
index 5b06e062a2..3f0ee1fdc4 100644
--- a/src/plugins/cppeditor/cpphoverhandler.cpp
+++ b/src/plugins/cppeditor/cpphoverhandler.cpp
@@ -72,7 +72,8 @@ bool editorDocumentProcessorHasDiagnosticAt(TextEditorWidget *editorWidget, int
void processWithEditorDocumentProcessor(TextEditorWidget *editorWidget,
const QPoint &point,
- int position)
+ int position,
+ const QString &helpId)
{
if (CppTools::BaseEditorDocumentProcessor *processor = editorDocumentProcessor(editorWidget)) {
int line, column;
@@ -81,7 +82,7 @@ void processWithEditorDocumentProcessor(TextEditorWidget *editorWidget,
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(2);
processor->addDiagnosticToolTipToLayout(line, column, layout);
- Utils::ToolTip::show(point, layout, editorWidget);
+ Utils::ToolTip::show(point, layout, editorWidget, helpId);
}
}
}
@@ -174,10 +175,15 @@ void CppHoverHandler::decorateToolTip()
void CppHoverHandler::operateTooltip(TextEditor::TextEditorWidget *editorWidget,
const QPoint &point)
{
- if (m_positionForEditorDocumentProcessor != -1)
- processWithEditorDocumentProcessor(editorWidget, point, m_positionForEditorDocumentProcessor);
- else
+ if (m_positionForEditorDocumentProcessor == -1) {
BaseHoverHandler::operateTooltip(editorWidget, point);
+ return;
+ }
+
+ const HelpItem helpItem = lastHelpItemIdentified();
+ const QString helpId = helpItem.isValid() ? helpItem.helpId() : QString();
+ processWithEditorDocumentProcessor(editorWidget, point, m_positionForEditorDocumentProcessor,
+ helpId);
}
} // namespace Internal