ClangTools: Add help context menu entry

...that opens the documentation page for the current diagnostic.

Change-Id: I398fdc82bb118a80536acbb12420a9bac84e66c9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Nikolai Kosjar
2019-11-29 09:52:02 +01:00
committed by Cristian Adam
parent 311779e53e
commit 1b4de8d769
11 changed files with 79 additions and 15 deletions

View File

@@ -70,6 +70,7 @@
#include <QAction>
#include <QCheckBox>
#include <QDesktopServices>
#include <QFileDialog>
#include <QHBoxLayout>
#include <QLabel>
@@ -420,6 +421,8 @@ ClangTool::ClangTool()
m_diagnosticView->setSortingEnabled(true);
m_diagnosticView->sortByColumn(Debugger::DetailedErrorView::DiagnosticColumn,
Qt::AscendingOrder);
connect(m_diagnosticView, &DiagnosticView::showHelp,
this, &ClangTool::help);
connect(m_diagnosticView, &DiagnosticView::showFilter,
this, &ClangTool::filter);
connect(m_diagnosticView, &DiagnosticView::clearFilter,
@@ -930,6 +933,15 @@ void ClangTool::updateForInitialState()
}
}
void ClangTool::help()
{
if (DiagnosticItem *item = diagnosticItem(m_diagnosticView->currentIndex())) {
const QString url = documentationUrl(item->diagnostic().name);
if (!url.isEmpty())
QDesktopServices::openUrl(url);
}
}
void ClangTool::setFilterOptions(const OptionalFilterOptions &filterOptions)
{
m_diagnosticFilterModel->setFilterOptions(filterOptions);