diff options
author | hjk <hjk@qt.io> | 2022-08-03 15:25:17 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-08-04 12:58:12 +0000 |
commit | c68f901aa893f0a7254251e0fb940e74b76fc0f7 (patch) | |
tree | e7fb90d204656ec5d8272d82bd11385740bdb91a /src/plugins/cppcheck/cppchecktextmark.cpp | |
parent | d3ea90ec208d6e9d450ff3054fa2438c141e0eb0 (diff) | |
download | qt-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.cpp | 25 |
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 |