diff options
Diffstat (limited to 'src/plugins/cppcheck/cppchecktextmark.cpp')
-rw-r--r-- | src/plugins/cppcheck/cppchecktextmark.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/cppcheck/cppchecktextmark.cpp b/src/plugins/cppcheck/cppchecktextmark.cpp index 55d5b43f4c..d4882e7f05 100644 --- a/src/plugins/cppcheck/cppchecktextmark.cpp +++ b/src/plugins/cppcheck/cppchecktextmark.cpp @@ -29,6 +29,9 @@ #include <utils/utilsicons.h> +#include <QAction> +#include <QApplication> +#include <QClipboard> #include <QMap> 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 |