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>
This commit is contained in:
Andre Hartmann
2022-02-22 08:24:34 +01:00
committed by André Hartmann
parent d502f78c4f
commit a8e44df681

View File

@@ -29,6 +29,9 @@
#include <utils/utilsicons.h> #include <utils/utilsicons.h>
#include <QAction>
#include <QApplication>
#include <QClipboard>
#include <QMap> #include <QMap>
namespace Cppcheck { namespace Cppcheck {
@@ -77,6 +80,19 @@ CppcheckTextMark::CppcheckTextMark (const Diagnostic &diagnostic)
setToolTip(toolTipText(diagnostic.severityText)); setToolTip(toolTipText(diagnostic.severityText));
setLineAnnotation(diagnostic.message); setLineAnnotation(diagnostic.message);
setSettingsPage(Constants::OPTIONS_PAGE_ID); 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 QString CppcheckTextMark::toolTipText(const QString &severityText) const