diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-01-31 13:16:44 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-02-05 11:22:27 +0000 |
commit | c5e43d86d12ce51c9035159a8acd86800fdf69bc (patch) | |
tree | 90030cd07fa47a25705cf485c333d06a90462660 /src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp | |
parent | 1a58a30685a7acb386989f8edbcd497d9472acf1 (diff) |
Clang: Make diagnostic tooltips consistent
Fix that triggering a diagnostic tooltip from the diagnostic
location/range itself (underlined text) did not show the icon on the
left and the actions/toolbuttons on the right in the tooltip.
Instead of showing the tooltip content itself, request the tooltip for
the corresponding text mark to get the extra decoration and actions.
Change-Id: I5e94aca117a761f7a798d4f4b33db6e386e54d84
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp index 8e1d06da6c..40d7e4e63f 100644 --- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp +++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp @@ -48,7 +48,6 @@ #include <cpptools/cppworkingcopy.h> #include <cpptools/editordocumenthandle.h> -#include <texteditor/displaysettings.h> #include <texteditor/fontsettings.h> #include <texteditor/texteditor.h> #include <texteditor/texteditorconstants.h> @@ -292,27 +291,6 @@ TextEditor::QuickFixOperations ClangEditorDocumentProcessor::extraRefactoringOpe return extractor.extract(assistInterface.fileName(), currentLine(assistInterface)); } -bool ClangEditorDocumentProcessor::hasDiagnosticsAt(uint line, uint column) const -{ - return m_diagnosticManager.hasDiagnosticsAt(line, column); -} - -void ClangEditorDocumentProcessor::addDiagnosticToolTipToLayout(uint line, - uint column, - QLayout *target) const -{ - using Internal::ClangDiagnosticWidget; - - const QVector<ClangBackEnd::DiagnosticContainer> diagnostics - = m_diagnosticManager.diagnosticsAt(line, column); - - target->addWidget( - ClangDiagnosticWidget::createWidget(diagnostics, ClangDiagnosticWidget::ToolTip)); - auto link = TextEditor::DisplaySettings::createAnnotationSettingsLink(); - target->addWidget(link); - target->setAlignment(link, Qt::AlignRight); -} - void ClangEditorDocumentProcessor::editorDocumentTimerRestarted() { m_updateBackendDocumentTimer.stop(); // Wait for the next call to run(). @@ -323,6 +301,12 @@ void ClangEditorDocumentProcessor::invalidateDiagnostics() m_diagnosticManager.invalidateDiagnostics(); } +TextEditor::TextMarks ClangEditorDocumentProcessor::diagnosticTextMarksAt(uint line, + uint column) const +{ + return m_diagnosticManager.diagnosticTextMarksAt(line, column); +} + void ClangEditorDocumentProcessor::setParserConfig( const CppTools::BaseEditorDocumentParser::Configuration &config) { |