summaryrefslogtreecommitdiff
path: root/src/plugins/cppcheck/cppchecktextmark.cpp
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2022-02-22 08:24:34 +0100
committerAndré Hartmann <aha_1980@gmx.de>2022-02-22 08:32:18 +0000
commita8e44df68143bfd43e5c9b52a8d3a0a703caaffd (patch)
treee57dd064d9e37b2d53854af9c1abff5b481fef3c /src/plugins/cppcheck/cppchecktextmark.cpp
parentd502f78c4f25f75b5f7f8512b5ed51c50560388b (diff)
downloadqt-creator-a8e44df68143bfd43e5c9b52a8d3a0a703caaffd.tar.gz
CppCheck: Add copy to clipboard action to tooltip
Fixes: QTCREATORBUG-27092 Change-Id: Ie5b504b0b23c54fd72d56df8ff72971864475ee8 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/cppcheck/cppchecktextmark.cpp')
-rw-r--r--src/plugins/cppcheck/cppchecktextmark.cpp16
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