aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp')
-rw-r--r--src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp b/src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp
index ffdd3c4396..195c4f4ead 100644
--- a/src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp
+++ b/src/plugins/clangcodemodel/clangdiagnostictooltipwidget.cpp
@@ -104,9 +104,9 @@ public:
}
QWidget *createWidget(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
- const std::function<bool()> &canApplyFixIt)
+ const std::function<bool()> &canApplyFixIt, const QString &source)
{
- const QString text = htmlText(diagnostics);
+ const QString text = htmlText(diagnostics, source);
auto *label = new QLabel;
label->setTextFormat(Qt::RichText);
@@ -154,13 +154,20 @@ public:
return label;
}
- QString htmlText(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics)
+ QString htmlText(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
+ const QString &source)
{
// For debugging, add: style='border-width:1px;border-color:black'
QString text = "<table cellspacing='0' cellpadding='0' width='100%'>";
foreach (const ClangBackEnd::DiagnosticContainer &diagnostic, diagnostics)
text.append(tableRows(diagnostic));
+ if (!source.isEmpty()) {
+ text.append(QString::fromUtf8("<tr><td colspan='2' align='left'>"
+ "<font color='gray'>%1</font></td></tr>")
+ .arg(QCoreApplication::translate("ClangDiagnosticWidget", "[Source: %1]"))
+ .arg(source));
+ }
text.append("</table>");
@@ -396,7 +403,8 @@ QString ClangDiagnosticWidget::createText(
const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
const ClangDiagnosticWidget::Destination &destination)
{
- const QString htmlText = WidgetFromDiagnostics(toHints(destination, {})).htmlText(diagnostics);
+ const QString htmlText = WidgetFromDiagnostics(toHints(destination, {}))
+ .htmlText(diagnostics, {});
QTextDocument document;
document.setHtml(htmlText);
@@ -410,11 +418,13 @@ QString ClangDiagnosticWidget::createText(
return text;
}
-QWidget *ClangDiagnosticWidget::createWidget(const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
- const Destination &destination, const std::function<bool()> &canApplyFixIt)
+QWidget *ClangDiagnosticWidget::createWidget(
+ const QVector<ClangBackEnd::DiagnosticContainer> &diagnostics,
+ const Destination &destination, const std::function<bool()> &canApplyFixIt,
+ const QString &source)
{
return WidgetFromDiagnostics(toHints(destination, canApplyFixIt))
- .createWidget(diagnostics, canApplyFixIt);
+ .createWidget(diagnostics, canApplyFixIt, source);
}
} // namespace Internal