Use QClipboard::supportsSelection instead of ifdefs

This commit is contained in:
Ilya Fedin 2020-11-06 09:12:18 +04:00 committed by John Preston
parent 620639ef83
commit 5c8820d5d8
4 changed files with 10 additions and 13 deletions

View File

@ -1503,13 +1503,13 @@ void InnerWidget::mouseActionFinish(const QPoint &screenPos, Qt::MouseButton but
_mouseSelectType = TextSelectType::Letters;
//_widget->noSelectingScroll(); // TODO
#if defined Q_OS_UNIX && !defined Q_OS_MAC
if (_selectedItem && _selectedText.from != _selectedText.to) {
if (QGuiApplication::clipboard()->supportsSelection()
&& _selectedItem
&& _selectedText.from != _selectedText.to) {
TextUtilities::SetClipboardText(
_selectedItem->selectedText(_selectedText),
QClipboard::Selection);
}
#endif // Q_OS_UNIX && !Q_OS_MAC
}
void InnerWidget::updateSelected() {

View File

@ -1382,8 +1382,9 @@ void HistoryInner::mouseActionFinish(
_widget->noSelectingScroll();
_widget->updateTopBarSelection();
#if defined Q_OS_UNIX && !defined Q_OS_MAC
if (!_selected.empty() && _selected.cbegin()->second != FullSelection) {
if (QGuiApplication::clipboard()->supportsSelection()
&& !_selected.empty()
&& _selected.cbegin()->second != FullSelection) {
const auto [item, selection] = *_selected.cbegin();
if (const auto view = item->mainView()) {
TextUtilities::SetClipboardText(
@ -1391,7 +1392,6 @@ void HistoryInner::mouseActionFinish(
QClipboard::Selection);
}
}
#endif // Q_OS_UNIX && !Q_OS_MAC
}
void HistoryInner::mouseReleaseEvent(QMouseEvent *e) {

View File

@ -2222,16 +2222,15 @@ void ListWidget::mouseActionFinish(
_mouseSelectType = TextSelectType::Letters;
//_widget->noSelectingScroll(); // #TODO select scroll
#if defined Q_OS_UNIX && !defined Q_OS_MAC
if (_selectedTextItem
if (QGuiApplication::clipboard()->supportsSelection()
&& _selectedTextItem
&& _selectedTextRange.from != _selectedTextRange.to) {
if (const auto view = viewForItem(_selectedTextItem)) {
TextUtilities::SetClipboardText(
view->selectedText(_selectedTextRange),
QClipboard::Selection);
}
}
}
#endif // Q_OS_UNIX && !Q_OS_MAC
}
void ListWidget::mouseActionUpdate() {

View File

@ -2118,11 +2118,9 @@ void ListWidget::mouseActionFinish(
//_widget->noSelectingScroll(); // #TODO scroll by drag
//_widget->updateTopBarSelection();
#if defined Q_OS_UNIX && !defined Q_OS_MAC
//if (hasSelectedText()) { // #TODO linux clipboard
//if (QGuiApplication::clipboard()->supportsSelection() && hasSelectedText()) { // #TODO linux clipboard
// TextUtilities::SetClipboardText(_selected.cbegin()->first->selectedText(_selected.cbegin()->second), QClipboard::Selection);
//}
#endif // Q_OS_UNIX && !Q_OS_MAC
}
void ListWidget::applyDragSelection() {