diff options
author | José Millán Soto <fid@gpul.org> | 2012-02-07 11:53:31 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-08 07:48:46 +0100 |
commit | 4c9266fd16304f78e8759dc4c10e60b782f13f56 (patch) | |
tree | d604f25dae3eeaeb2b2e910ce761ebb8ef922d69 /src/plugins/accessible/widgets/qaccessiblewidgets.cpp | |
parent | 6b807a283cace845c235c24543a071e41cee0dac (diff) |
Make copy and cut methods work in QAccessibleTextEdit
Correct the implementation of cutText and copyText in QAccessibleTextEdit so
they use cut() and copy() methods of QTextEdit
Cherry picked from Qt 4 - 36202cf8fca822492615d418bd563a40bee4af08
Change-Id: I86a531ed7059b1a928cb8515c2743d4d8b596b36
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Diffstat (limited to 'src/plugins/accessible/widgets/qaccessiblewidgets.cpp')
-rw-r--r-- | src/plugins/accessible/widgets/qaccessiblewidgets.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp index 2d6330cb38..140848a559 100644 --- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp +++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp @@ -87,7 +87,7 @@ QList<QWidget*> childWidgets(const QWidget *widget, bool includeTopLevel) if (!w) continue; QString objectName = w->objectName(); - if ((includeTopLevel || !w->isWindow()) + if ((includeTopLevel || !w->isWindow()) && !qobject_cast<QFocusFrame*>(w) && !qobject_cast<QMenu*>(w) && objectName != QLatin1String("qt_rubberband") @@ -483,12 +483,17 @@ static QTextCursor cursorForRange(QTextEdit *textEdit, int startOffset, int endO void QAccessibleTextEdit::copyText(int startOffset, int endOffset) const { +#ifndef QT_NO_CLIPBOARD + QTextCursor previousCursor = textEdit()->textCursor(); QTextCursor cursor = cursorForRange(textEdit(), startOffset, endOffset); if (!cursor.hasSelection()) return; -// QApplication::clipboard()->setMimeData(new QTextEditMimeData(cursor.selection())); + textEdit()->setTextCursor(cursor); + textEdit()->copy(); + textEdit()->setTextCursor(previousCursor); +#endif } void QAccessibleTextEdit::deleteText(int startOffset, int endOffset) @@ -508,13 +513,15 @@ void QAccessibleTextEdit::insertText(int offset, const QString &text) void QAccessibleTextEdit::cutText(int startOffset, int endOffset) { +#ifndef QT_NO_CLIPBOARD QTextCursor cursor = cursorForRange(textEdit(), startOffset, endOffset); if (!cursor.hasSelection()) return; -// QApplication::clipboard()->setMimeData(new QTextEditMimeData(cursor.selection())); - cursor.removeSelectedText(); + textEdit()->setTextCursor(cursor); + textEdit()->cut(); +#endif } void QAccessibleTextEdit::pasteText(int offset) |