diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2012-03-20 13:56:48 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-23 11:47:58 +0100 |
commit | 3d8f103c2641f35e7681485102a1b59886db8934 (patch) | |
tree | 864c74ef580e2d61178a904a5ddfce11c08e52de /src/quick | |
parent | 91f9f123eb67bbdb2a0e65df6f29c6833635679b (diff) |
Add accessibility updates.
Re-add all accessibility updates with new api.
Change-Id: Iec91c41a0137911ccf6e9f4fa907a378d9dd335a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/qquickaccessibleattached.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickaccessibleattached_p.h | 8 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 11 | ||||
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 16 |
4 files changed, 37 insertions, 2 deletions
diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp index 46f85417d2..27efebca0c 100644 --- a/src/quick/items/qquickaccessibleattached.cpp +++ b/src/quick/items/qquickaccessibleattached.cpp @@ -144,6 +144,10 @@ QQuickAccessibleAttached::QQuickAccessibleAttached(QObject *parent) // Enable accessibility for items with accessible content. This also // enables accessibility for the ancestors of souch items. item->d_func()->setAccessibleFlagAndListener(); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleEvent ev(item, QAccessible::ObjectCreated); + QAccessible::updateAccessibility(&ev); +#endif } QQuickAccessibleAttached::~QQuickAccessibleAttached() diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h index 129c3ef240..419f21a4b3 100644 --- a/src/quick/items/qquickaccessibleattached_p.h +++ b/src/quick/items/qquickaccessibleattached_p.h @@ -85,6 +85,10 @@ public: if (name != m_name) { m_name = name; emit nameChanged(); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleEvent ev(parent(), QAccessible::NameChanged); + QAccessible::updateAccessibility(&ev); +#endif } } @@ -94,6 +98,10 @@ public: if (m_description != description) { m_description = description; emit descriptionChanged(); +#ifndef QT_NO_ACCESSIBILITY + QAccessibleEvent ev(parent(), QAccessible::DescriptionChanged); + QAccessible::updateAccessibility(&ev); +#endif } } diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index a5b70bb1f2..caf1195b6c 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -3122,6 +3122,10 @@ void QQuickItem::inputMethodEvent(QInputMethodEvent *event) void QQuickItem::focusInEvent(QFocusEvent *) { +#ifndef QT_NO_ACCESSIBILITY + QAccessibleEvent ev(this, QAccessible::Focus); + QAccessible::updateAccessibility(&ev); +#endif } void QQuickItem::focusOutEvent(QFocusEvent *) @@ -4085,7 +4089,12 @@ bool QQuickItemPrivate::setEffectiveVisibleRecur(bool newEffectiveVisible) childVisibilityChanged |= QQuickItemPrivate::get(childItems.at(ii))->setEffectiveVisibleRecur(newEffectiveVisible); itemChange(QQuickItem::ItemVisibleHasChanged, effectiveVisible); - +#ifndef QT_NO_ACCESSIBILITY + if (isAccessible) { + QAccessibleEvent ev(q, effectiveVisible ? QAccessible::ObjectShow : QAccessible::ObjectHide); + QAccessible::updateAccessibility(&ev); + } +#endif emit q->visibleChanged(); if (childVisibilityChanged) emit q->visibleChildrenChanged(); diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index 7d7fe851b3..94856b63ab 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -3302,6 +3302,7 @@ bool QQuickTextInputPrivate::finishChange(int validateFromState, bool update, bo */ void QQuickTextInputPrivate::internalSetText(const QString &txt, int pos, bool edited) { + Q_Q(QQuickTextInput); internalDeselect(); QString oldText = m_text; if (m_maskData) { @@ -3315,7 +3316,15 @@ void QQuickTextInputPrivate::internalSetText(const QString &txt, int pos, bool e m_cursor = (pos < 0 || pos > m_text.length()) ? m_text.length() : pos; m_textDirty = (oldText != m_text); - finishChange(-1, true, edited); + bool changed = finishChange(-1, true, edited); +#ifdef QT_NO_ACCESSIBILITY + Q_UNUSED(changed) +#else + if (changed) { + QAccessibleTextUpdateEvent ev(q, 0, oldText, m_text); + QAccessible::updateAccessibility(&ev); + } +#endif } @@ -3939,6 +3948,11 @@ bool QQuickTextInputPrivate::emitCursorPositionChanged() } } +#ifndef QT_NO_ACCESSIBILITY + QAccessibleTextCursorEvent ev(q, m_cursor); + QAccessible::updateAccessibility(&ev); +#endif + return true; } return false; |