summaryrefslogtreecommitdiff
path: root/src/plugins/cppcheck/cppchecktextmark.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-08-03 15:25:17 +0200
committerhjk <hjk@qt.io>2022-08-04 12:58:12 +0000
commitc68f901aa893f0a7254251e0fb940e74b76fc0f7 (patch)
treee7fb90d204656ec5d8272d82bd11385740bdb91a /src/plugins/cppcheck/cppchecktextmark.cpp
parentd3ea90ec208d6e9d450ff3054fa2438c141e0eb0 (diff)
downloadqt-creator-c68f901aa893f0a7254251e0fb940e74b76fc0f7.tar.gz
TextMark: Delay context menu tooltip action creation
Change-Id: I25bad9a774a6d95162251c8f0512eb3f8439d9ae Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cppcheck/cppchecktextmark.cpp')
-rw-r--r--src/plugins/cppcheck/cppchecktextmark.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/plugins/cppcheck/cppchecktextmark.cpp b/src/plugins/cppcheck/cppchecktextmark.cpp
index d3446a0610..a81ac7e6f7 100644
--- a/src/plugins/cppcheck/cppchecktextmark.cpp
+++ b/src/plugins/cppcheck/cppchecktextmark.cpp
@@ -80,19 +80,20 @@ 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(TextMark::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);
+ setActionsProvider([diagnostic] {
+ // Copy to clipboard action
+ QAction *action = new QAction;
+ action->setIcon(QIcon::fromTheme("edit-copy", Utils::Icons::COPY.icon()));
+ action->setToolTip(TextMark::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);
+ });
+ return QList<QAction *>{action};
});
- setActions({action});
}
QString CppcheckTextMark::toolTipText(const QString &severityText) const