From a8e44df68143bfd43e5c9b52a8d3a0a703caaffd Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Tue, 22 Feb 2022 08:24:34 +0100 Subject: [PATCH] CppCheck: Add copy to clipboard action to tooltip Fixes: QTCREATORBUG-27092 Change-Id: Ie5b504b0b23c54fd72d56df8ff72971864475ee8 Reviewed-by: David Schulz Reviewed-by: Qt CI Bot --- src/plugins/cppcheck/cppchecktextmark.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/plugins/cppcheck/cppchecktextmark.cpp b/src/plugins/cppcheck/cppchecktextmark.cpp index 55d5b43f4ce..d4882e7f053 100644 --- a/src/plugins/cppcheck/cppchecktextmark.cpp +++ b/src/plugins/cppcheck/cppchecktextmark.cpp @@ -29,6 +29,9 @@ #include +#include +#include +#include #include namespace Cppcheck { @@ -77,6 +80,19 @@ CppcheckTextMark::CppcheckTextMark (const Diagnostic &diagnostic) setToolTip(toolTipText(diagnostic.severityText)); setLineAnnotation(diagnostic.message); setSettingsPage(Constants::OPTIONS_PAGE_ID); + + // Copy to clipboard action + QAction *action = new QAction(); + action->setIcon(QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon())); + action->setToolTip(tr("Copy to Clipboard")); + QObject::connect(action, &QAction::triggered, [diagnostic]() { + const QString text = QString("%1:%2: %3") + .arg(diagnostic.fileName.toUserOutput()) + .arg(diagnostic.lineNumber) + .arg(diagnostic.message); + QApplication::clipboard()->setText(text); + }); + setActions({action}); } QString CppcheckTextMark::toolTipText(const QString &severityText) const