Check for selection support of clipboard

Setting the data on a non-supported MIME data will fail
and get deleted.
Checking beforehand gets rid of a warning printed by
QClipboard.

Change-Id: I5b5a371ce5b904f61a1aed5ea21a98908155357b
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Stenger
2020-05-12 14:56:01 +02:00
parent c3946529ca
commit 5104798b8c
5 changed files with 12 additions and 6 deletions

View File

@@ -586,7 +586,8 @@ DebuggerToolTipWidget::DebuggerToolTipWidget()
<< item->name << '\t' << item->value << '\t' << item->type << '\n';
});
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(text, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(text, QClipboard::Selection);
clipboard->setText(text, QClipboard::Clipboard);
});

View File

@@ -479,7 +479,8 @@ void StackHandler::copyContentsToClipboard()
});
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(str, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(str, QClipboard::Selection);
clipboard->setText(str, QClipboard::Clipboard);
}

View File

@@ -1596,7 +1596,8 @@ static QString removeWatchActionText(QString exp)
static void copyToClipboard(const QString &clipboardText)
{
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(clipboardText, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(clipboardText, QClipboard::Selection);
clipboard->setText(clipboardText, QClipboard::Clipboard);
}

View File

@@ -204,7 +204,8 @@ QString StatisticsView::rowToString(int row) const
static void sendToClipboard(const QString &str)
{
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(str, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(str, QClipboard::Selection);
clipboard->setText(str, QClipboard::Clipboard);
}

View File

@@ -360,7 +360,8 @@ void QmlProfilerStatisticsMainView::copyTableToClipboard() const
str += textForItem(itemModel->index(i, 0));
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(str, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(str, QClipboard::Selection);
clipboard->setText(str, QClipboard::Clipboard);
}
@@ -368,7 +369,8 @@ void QmlProfilerStatisticsMainView::copyRowToClipboard() const
{
QString str = textForItem(selectedModelIndex());
QClipboard *clipboard = QApplication::clipboard();
clipboard->setText(str, QClipboard::Selection);
if (clipboard->supportsSelection())
clipboard->setText(str, QClipboard::Selection);
clipboard->setText(str, QClipboard::Clipboard);
}