diff options
author | José Millán Soto <fid@gpul.org> | 2012-09-13 16:50:31 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-16 14:49:05 +0100 |
commit | 6e713cf03d438db7dcd8915098081ad9e880f929 (patch) | |
tree | 8e181fc3b5842aba8ed5bcb9fbc486f087909c14 /src/widgets/widgets | |
parent | 568b278b75496861881bdf6834ea9b0e99d97537 (diff) |
Call QAccessible::updateAccessibility when caret moves in QTextEdit
Change-Id: I3b9e5d8e67b4928558b642a4d23aa60ae9dfde60
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 15 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.h | 1 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit_p.h | 1 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index 9f7d66b344..70dcc5b506 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -53,6 +53,9 @@ #include <qmenu.h> #include <qstyle.h> #include <qtimer.h> +#ifndef QT_NO_ACCESSIBILITY +#include <qaccessible.h> +#endif #include "private/qtextdocumentlayout_p.h" #include "qtextdocument.h" #include "private/qtextdocument_p.h" @@ -154,7 +157,7 @@ void QTextEditPrivate::init(const QString &html) QObject::connect(control, SIGNAL(redoAvailable(bool)), q, SIGNAL(redoAvailable(bool))); QObject::connect(control, SIGNAL(copyAvailable(bool)), q, SIGNAL(copyAvailable(bool))); QObject::connect(control, SIGNAL(selectionChanged()), q, SIGNAL(selectionChanged())); - QObject::connect(control, SIGNAL(cursorPositionChanged()), q, SIGNAL(cursorPositionChanged())); + QObject::connect(control, SIGNAL(cursorPositionChanged()), q, SLOT(_q_cursorPositionChanged())); QObject::connect(control, SIGNAL(textChanged()), q, SLOT(updateMicroFocus())); @@ -206,6 +209,16 @@ void QTextEditPrivate::_q_repaintContents(const QRectF &contentsRect) viewport->update(r); } +void QTextEditPrivate::_q_cursorPositionChanged() +{ + Q_Q(QTextEdit); + emit q->cursorPositionChanged(); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextCursorEvent event(q, q->textCursor().position()); + QAccessible::updateAccessibility(&event); +#endif +} + void QTextEditPrivate::pageUpDown(QTextCursor::MoveOperation op, QTextCursor::MoveMode moveMode) { QTextCursor cursor = control->textCursor(); diff --git a/src/widgets/widgets/qtextedit.h b/src/widgets/widgets/qtextedit.h index 178aa7b907..5df44da4cf 100644 --- a/src/widgets/widgets/qtextedit.h +++ b/src/widgets/widgets/qtextedit.h @@ -304,6 +304,7 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_currentCharFormatChanged(const QTextCharFormat &)) Q_PRIVATE_SLOT(d_func(), void _q_adjustScrollbars()) Q_PRIVATE_SLOT(d_func(), void _q_ensureVisible(const QRectF &)) + Q_PRIVATE_SLOT(d_func(), void _q_cursorPositionChanged()) friend class QTextEditControl; friend class QTextDocument; friend class QWidgetTextControl; diff --git a/src/widgets/widgets/qtextedit_p.h b/src/widgets/widgets/qtextedit_p.h index d2dd81c13b..7038f16205 100644 --- a/src/widgets/widgets/qtextedit_p.h +++ b/src/widgets/widgets/qtextedit_p.h @@ -99,6 +99,7 @@ public: { control->processEvent(e, QPointF(horizontalOffset(), verticalOffset()), viewport); } void _q_currentCharFormatChanged(const QTextCharFormat &format); + void _q_cursorPositionChanged(); void updateDefaultTextOption(); |