diff --git a/src/plugins/debugger/analyzer/detailederrorview.cpp b/src/plugins/debugger/analyzer/detailederrorview.cpp index a5fad37821f..b1ac155afb2 100644 --- a/src/plugins/debugger/analyzer/detailederrorview.cpp +++ b/src/plugins/debugger/analyzer/detailederrorview.cpp @@ -30,12 +30,12 @@ #include #include +#include #include +#include #include #include -#include -#include #include #include #include @@ -54,12 +54,12 @@ DetailedErrorView::DetailedErrorView(QWidget *parent) : m_copyAction->setIcon(Utils::Icons::COPY.icon()); m_copyAction->setShortcut(QKeySequence::Copy); m_copyAction->setShortcutContext(Qt::WidgetWithChildrenShortcut); - connect(m_copyAction, &QAction::triggered, [this] { + connect(m_copyAction, &QAction::triggered, this, [this] { const QModelIndexList selectedRows = selectionModel()->selectedRows(); QStringList data; for (const QModelIndex &index : selectedRows) data << model()->data(index, FullTextRole).toString(); - QApplication::clipboard()->setText(data.join('\n')); + Utils::setClipboardAndSelection(data.join('\n')); }); connect(this, &QAbstractItemView::clicked, [](const QModelIndex &index) { if (index.column() == LocationColumn) { diff --git a/src/plugins/debugger/console/consoleview.cpp b/src/plugins/debugger/console/consoleview.cpp index 93fec5b73e6..72ff8cedef8 100644 --- a/src/plugins/debugger/console/consoleview.cpp +++ b/src/plugins/debugger/console/consoleview.cpp @@ -30,14 +30,15 @@ #include #include #include + #include +#include #include #include #include #include #include -#include #include #include #include @@ -204,8 +205,7 @@ void ConsoleView::copyToClipboard(const QModelIndex &index) contents = QString::fromLatin1("%1 %2: %3").arg(contents).arg(filePath).arg( model()->data(index, ConsoleItem::LineRole).toString()); } - QClipboard *cb = QApplication::clipboard(); - cb->setText(contents); + Utils::setClipboardAndSelection(contents); } bool ConsoleView::canShowItemInTextEditor(const QModelIndex &index) diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index 8a6eab069a1..4177879653c 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -26,7 +26,6 @@ #include "debuggertooltipmanager.h" #include "debuggeractions.h" -#include "debuggercore.h" #include "debuggerengine.h" #include "debuggerinternalconstants.h" #include "debuggermainwindow.h" @@ -34,7 +33,6 @@ #include "sourceutils.h" #include "stackhandler.h" #include "watchhandler.h" -#include "watchwindow.h" #include #include @@ -53,6 +51,7 @@ #include #include #include +#include #include #include @@ -577,17 +576,14 @@ DebuggerToolTipWidget::DebuggerToolTipWidget() mainLayout->addWidget(toolBar); mainLayout->addWidget(treeView); - connect(copyButton, &QAbstractButton::clicked, [this] { + connect(copyButton, &QAbstractButton::clicked, this, [this] { QString text; QTextStream str(&text); model.forAllItems([&str](ToolTipWatchItem *item) { str << QString(item->level(), '\t') << item->name << '\t' << item->value << '\t' << item->type << '\n'; }); - QClipboard *clipboard = QApplication::clipboard(); - if (clipboard->supportsSelection()) - clipboard->setText(text, QClipboard::Selection); - clipboard->setText(text, QClipboard::Clipboard); + setClipboardAndSelection(text); }); connect(treeView, &QTreeView::expanded, &model, &ToolTipModel::expandNode); diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp index c42c196b09f..4001b854486 100644 --- a/src/plugins/debugger/stackhandler.cpp +++ b/src/plugins/debugger/stackhandler.cpp @@ -40,9 +40,8 @@ #include #include #include +#include -#include -#include #include #include #include @@ -410,14 +409,6 @@ static QString selectedText(QWidget *widget, bool useAll) return str; } -static void copyTextToClipboard(const QString &str) -{ - QClipboard *clipboard = QApplication::clipboard(); - if (clipboard->supportsSelection()) - clipboard->setText(str, QClipboard::Selection); - clipboard->setText(str, QClipboard::Clipboard); -} - // Write stack frames as task file for displaying it in the build issues pane. void StackHandler::saveTaskFile() { @@ -458,11 +449,11 @@ bool StackHandler::contextMenuEvent(const ItemViewEvent &ev) menu->addAction(debuggerSettings()->expandStack.action()); addAction(this, menu, tr("Copy Contents to Clipboard"), true, [ev] { - copyTextToClipboard(selectedText(ev.view(), true)); + setClipboardAndSelection(selectedText(ev.view(), true)); }); addAction(this, menu, tr("Copy Selection to Clipboard"), true, [ev] { - copyTextToClipboard(selectedText(ev.view(), false)); + setClipboardAndSelection(selectedText(ev.view(), false)); }); addAction(this, menu, tr("Save as Task File..."), true, [this] { saveTaskFile(); });