From 976f28e7bb7cddb11459600f293868abcf7da948 Mon Sep 17 00:00:00 2001 From: Volodymyr Samokhatko Date: Wed, 5 Apr 2017 22:52:27 +0200 Subject: Fix populating selection clipboard with keyboard Task-number: QTBUG-59879 Pick-to: 6.0 5.15 Change-Id: I6948919fc90995c60a34b5bd6b4a225c1a59fd9b Reviewed-by: Liang Qi --- src/widgets/widgets/qwidgettextcontrol.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/widgets/widgets/qwidgettextcontrol.cpp') diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index ef1be67975..1972ff366b 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -923,7 +923,7 @@ QTextDocument *QWidgetTextControl::document() const return d->doc; } -void QWidgetTextControl::setTextCursor(const QTextCursor &cursor) +void QWidgetTextControl::setTextCursor(const QTextCursor &cursor, bool selectionClipboard) { Q_D(QWidgetTextControl); d->cursorIsFocusIndicator = false; @@ -937,6 +937,11 @@ void QWidgetTextControl::setTextCursor(const QTextCursor &cursor) d->repaintOldAndNewSelection(oldSelection); if (posChanged) emit cursorPositionChanged(); + +#ifndef QT_NO_CLIPBOARD + if (selectionClipboard) + d->setClipboardSelection(); +#endif } QTextCursor QWidgetTextControl::textCursor() const @@ -1226,6 +1231,9 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e) if (e == QKeySequence::SelectAll) { e->accept(); q->selectAll(); +#ifndef QT_NO_CLIPBOARD + setClipboardSelection(); +#endif return; } #ifndef QT_NO_CLIPBOARD @@ -1377,6 +1385,10 @@ process: accept: +#ifndef QT_NO_CLIPBOARD + setClipboardSelection(); +#endif + e->accept(); cursorOn = true; -- cgit v1.2.3