diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-06-19 10:56:45 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-06-19 11:08:45 +0000 |
commit | 6bacfdac7cfd5e5453df622c77922bc9d494d725 (patch) | |
tree | 0e55703fdd73863dfef8d09dfb276f306e707c48 /src/plugins/cppeditor/cpphoverhandler.cpp | |
parent | b869f02f727f3c3486572357b377d79da17cc5d8 (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.cpp | 16 |
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 |