aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cpphoverhandler.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-06-19 10:56:45 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-06-19 11:08:45 +0000
commit6bacfdac7cfd5e5453df622c77922bc9d494d725 (patch)
tree0e55703fdd73863dfef8d09dfb276f306e707c48 /src/plugins/cppeditor/cpphoverhandler.cpp
parentb869f02f727f3c3486572357b377d79da17cc5d8 (diff)
Clang: Set help id for tooltip
...so it can be cached. The base implementation does this, too. For certain uses cases, it will avoid a call to context->contextHelpId() in HelpPlugin::showContextHelp. Change-Id: Ia575595c6f723e3681d4685e2e1ce65b2e435ad1 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
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